MATERI PERKULIAHAN ANALISIS ALGORITMA

Slides:



Advertisements
Presentasi serupa
ALGORITMA GREEDY : MINIMUM SPANNING TREE
Advertisements

Latihan Algoritma Greedy
Teori P, NP, dan NP-Complete
Algoritma Greedy.
Algoritma Greedy.
Pengantar Strategi Algoritma
PENGURUTAN (SORTING).
Bahan Kuliah IF3051 Strategi Algoritma Oleh: Rinaldi Munir
PENCARIAN (SEARCHING)
Bahan Kuliah IF2211 Strategi Algoritma
Program Dinamis (Dynamic Programming)
Design and Analysis of Algorithm Dynamic Programming
Algoritma Greedy (lanjutan)
Algoritma Runut-balik (Backtracking)
Pencarian Tanpa Informasi
Pengantar Strategi Algoritmik
Divide and Conquer.
Program Dinamis (dynamic programming): metode pemecahan masalah dengan cara menguraikan solusi menjadi sekumpulan langkah (step) atau tahapan (stage)
Design and Analysis Algorithm
Algoritma Divide and Conquer
Pertemuan 24 BRANCH AND BOUND (2)
Analisa Algoritma Greedy Algorithm
Algoritma Greedy.
Algoritma Brute Force Oleh: Muhammad Musta’in ( )
Algoritma Greedy (lanjutan)
Penerapan BFS dan DFS pada Pencarian Solusi
MATERI PERKULIAHAN ANALISIS ALGORITMA
MATERI PERKULIAHAN ANALISIS ALGORITMA
MATERI PERKULIAHAN ANALISIS ALGORITMA
Algoritma Pencarian (searching)
Algoritma Bruteforce Team Fasilkom.
Algoritma Greedy.
Algoritma Greedy Team Fasilkom.
CSG3F3/ Desain dan Analisis Algoritma
Bahan Kuliah IF2211 Strategi Algoritma
Bahan Kuliah IF2211 Strategi Algoritma Oleh: Rinaldi Munir
MATERI PERKULIAHAN ANALISIS ALGORITMA
Pertemuan 25 MERANCANG ALGORITMA DENGAN KOMPLEKSITAS TERTENTU
Greedy Pertemuan 7.
Program Dinamis.
MATERI PERKULIAHAN ANALISIS ALGORITMA
Analisa Algoritma (IF1282)
Modul 5 Algoritma & Struktur Data
PENGURUTAN (SORTING).
Pertemuan 12 METODA GREEDY lanjutan….
Algoritma Bruteforce (disarikan dari diktat Strategi Algoritma, Rinaldi Munir) Team Fasilkom.
Algoritma Greedy (lanjutan)
ALGORITMA GREEDY, KRUSKAL, MINIMUM SPANNING TREE
Exhaustive Search.
Pertemuan 13 DYNAMIC PROGRAMMING : FIBONACCI SEQUENCE PROBLEM
MATERI PERKULIAHAN ANALISIS ALGORITMA
Pertemuan 26 PRAKTEK ANALISIS ALGORITMA
MATERI PERKULIAHAN ANALISIS ALGORITMA
LATIHAN 26 Buatlah sebuah algoritma untuk menampilkan jumlah faktor pembagi bilangan X, dengan X adalah 1 hingga N ! Misal Jumlah faktor dari 1 adalah.
Program Dinamis (Dynamic Programming)
Analisa Algoritma Konsep Algoritma.
Program Dinamis (Dynamic Programming)
Analisa Algoritma : Pendahuluan
Program Dinamis (Dynamic Programming)
MATERI PERKULIAHAN ANALISIS ALGORITMA
Algoritma Greedy Wahyul Wahidah Maulida, ST., M.Eng.
Algoritma Brute Force.
ALGORITMA GREEDY : MINIMUM SPANNING TREE
Algoritma Divide and Conquer
Algoritma Divide and Conquer
Algoritma Divide and Conquer
Algoritma Divide and Conquer
Penerapan BFS dan DFS pada Pencarian Solusi
Pengantar Strategi Algoritma
Aplikasi Graph Minimum Spaning Tree Shortest Path.
Transcript presentasi:

MATERI PERKULIAHAN ANALISIS ALGORITMA GREEDY 5 Ken Kinanti Purnamasari

Strategi Algoritma Strategi Solusi Langsung (Direct Solution) Brute-Force, Greedy Strategi Berbasis Ruang Status (State-space Base) Backtracking, Branch & Bound Strategi Solusi Atas-Bawah (Top-Down Solution) Divide & Conquer Strategi Solusi Bawah-Atas (Down-Top Solution) Dynamic Programming

GREEDY

Greedy Optimasi Persoalan optimasi  mencari solusi optimum Optimum  solusi yang bernilai minimum atau maksimum dari kumpulan alternatif solusi yang mungkin.

Optimasi Jenis Persoalan Optimasi : Maksimasi (maximization) Greedy Optimasi Jenis Persoalan Optimasi : Maksimasi (maximization) Minimasi (minimization)

Optimasi Elemen Persoalan Optimasi : Kendala (constraints) Greedy Optimasi Elemen Persoalan Optimasi : Kendala (constraints) Fungsi Objektif atau Fungsi Optimasi Jenis Solusi : Solusi Layak / feasible  memenuhi semua kendala Solusi Optimum  solusi layak yang paling optimum

Greedy Definisi Greedy merupakan algoritma yang memecahkan masalah langkah per langkah. Greedy : Tamak, rakus Take it now !!! Prim’s Kruskal’s Djikstra’s

Karakteristik Di setiap langkah, greedy : Mengambil pilihan terbaik tanpa memikirkan konsekuensi ke depan Berharap bahwa dengan memilih optimum lokal di setiap langkah, akan berakhir pada optimum global

Elemen Greedy Himpunan Kandidat, C Himpunan Solusi, S Fungsi Seleksi Persoalan optimasi dengan greedy memiliki elemen” berikut : Himpunan Kandidat, C Himpunan Solusi, S Fungsi Seleksi Fungsi Kelayakan / Feasible Fungsi Objektif

Skema Umum Greedy Inisialisasi S dengan nilai kosong Skema Algoritma dapat dirumuskan sebagai berikut : Inisialisasi S dengan nilai kosong Pilih sebuah kandidat (dengan fungsi SELEKSI) dari C Kurangi C dengan kandidat yang sudah dipilih dari langkah ii Periksa apakah kandidat yang dipilih bersama” himpunan solusi membentuk solusi yang layak (diperiksa oleh Fungsi FEASIBLE). Jika YA  masukkan kandidat ke himpunan solusi , TIDAK  buang kandidat Periksa apakah himpunan solusi sudah memberikan solusi lengkap (dengan fungsi SOLUSI) Jika YA  berhenti , TIDAK  ulangi langkah ii

Greedy Skema Umum Algoritma Greedy(input C : himpunan_kandidat) himpunan_kandidat { Menghasilkan solusi dari persoalan optimasi dengan Greedy Input : himpunan kandidat C Output : himpunan solusi yang bertipe himpunan_kandidat } Deklarasi x : kandidat S : himpunan_kandidat Algoritma S  {} while (not SOLUSI(S)) AND (C <> {}) do x  SELEKSI(C) C  C – {x} if LAYAK (S U {x}) then S  S U {x} endif endwhile if solusi(S) then return S else write(‘tidak ada solusi’); endfor

Contoh Kasus Penukaran Uang - Egyptian Fractions Greedy Contoh Kasus Penukaran Uang - Egyptian Fractions Penjadwalan - Map Colouring Knapsack Job Scheduling dengan Deadline Minimum Spanning Tree (Kruskal & Prim) Shortest Path TSP Kompresi Data dengan Algoritma Huffman

1 5 10 25 CONTOH KASUS 1 32 $ Penukaran Uang $ $ $ $ Greedy Menukarkan uang bernilai tertentu dengan sekumpulan uang koin dari berbagai satuan (denomination). Dicari jumlah minimum koin yang akan ditukarkan. Contoh : Jika terdapat 4 buah denominasi dengan jumlah tak terhingga 1 $ 5 $ 10 $ 25 $ Maka, untuk menukarkan uang senilai 32$ dibutuhkan : Minimum : 1 koin , 1 koin , 2 koin 32 $ 25 $ 5 $ 1 $

CONTOH KASUS 1 Penukaran Uang Greedy Exhaustive-Search Misalnya ada n buah koin {C1,C2,C3,… ,Cn} Maka, dapat diberikan nilai 0 atau 1 untuk setiap koin Contoh : untuk 3 buah koin {C1,C2,C3} terdapat beberapa kemungkinan: {0,0,0} {0,0,1} {0,1,0} {1,0,0} {0,1,1} {1,1,0} {1,0,1} {1,1,1} Untuk 3 koin  8 kemungkinan Untuk 4 koin  16 kemungkinan Untuk n koin  2n kemungkinan Untuk mengevaluasi setiap kemungkinan dibutuhkan n eksekusi. Maka, kompleksitas : n * 2n (Eksponensial)

CONTOH KASUS 1 Penukaran Uang Greedy Greedy Himpunan kandidat : koin-koin bernilai 1, 5, 10, 25 Himpunan solusi : koin-koin terpilih yang membentuk total nilai koin tepat sama dengan nilai uang yang ditukar Fungsi Seleksi : Pilih koin dengan nilai tertinggi dari himpunan kandidat yang terpilih Fungsi Layak : Periksa apakah nilai total dari himpunan koin tidak melebihi batas uang yang ditukar Fungsi Objektif : Pastikan jumlah koin yang digunakan minimum

CONTOH KASUS 1 Penukaran Uang Greedy Algoritma TukarUang(input C : himpunan_koin, A : integer) himpunan_koin { Menghasilkan koin-koin dengan total nilai = A dengan jumlah minimum} Deklarasi x : koin S : himpunan_koin Algoritma S  {} while (jumlah nilai semua koin dalam S <> A ) AND (C <> {}) do x  koin dengan nilai terbesar C  C – {x} if (jumlah nilai semua koin dalam S) + nilai koin x < A then S  S U {x} endif endwhile if (jumlah nilai semua koin dalam S) = A then return S else write(‘tidak ada solusi’); endfor

1 3 4 5 CONTOH KASUS 1 Penukaran Uang $ $ $ $ Greedy CONTOH KASUS 1 Penukaran Uang 1 $ 3 $ 4 $ 5 $ Optimum untuk nilai 7 = 5 + 1 + 1 Padahal ada solusi yang lebih optimum : 4 + 3 Kesimpulan : Dalam kasus penukaran uang, algoritma Greedy tidak selalu menghasilkan solusi optimal.

TSP (Travelling Salesman Problem Greedy CONTOH KASUS 2 TSP (Travelling Salesman Problem Diberikan n buah kota. Diketahui jarak antara setiap kota satu sama lain. Temukan perjalanan (tour) terpendek yang melalui setiap kota lainnya hanya sekali dan kembali lagi ke kota asal keberangkatan.

TSP (Travelling Salesman Problem Greedy CONTOH KASUS 1 TSP (Travelling Salesman Problem Greedy Pada setiap langkah, pilih kota yang belum pernah dikunjungi dengan jarak terdekat. E  B  A  C  D  E 3 + 6 + 5 + 4 + 8 = 26 Padahal dengan Exhaustive Search, Diperoleh hasil yang lebih Optimum. E  B  D  C  A  E 3 + 7 + 4 + 5 + 5 = 24

TSP (Travelling Salesman Problem Greedy CONTOH KASUS 2 TSP (Travelling Salesman Problem

Ada Pertanyaan???

TUGAS Tugas Perorangan Tuliskan rangkuman tentang Minimum Spanning Tree (Prim & Kruskal) dalam kertas folio !

TUGAS BESAR Laporan Cover (Judul Aplikasi, NIM & Nama Anggota) Penjelasan tentang game yang dipilih Bahasa Pemrograman Software (compiler) Penjelasan Strategi Algoritma Perhitungan Kompleksitas Referensi (paper/ buku / jurnal / wikipedia) Lampiran (User Manual)