1 / 46

Greedy Method

Greedy Method. Oleh : Tuti Widya Lestari , S. Kom. Sub Topik. Greedy Method Minimum Sp an ning Tree Prims Kruskal Sortest Path Dijktras. Pendahuluan. Parameter algoritma di ukur dari performa algoritma secara efektif dan efisien

nerina
Download Presentation

Greedy Method

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Greedy Method Oleh : TutiWidya Lestari, S.Kom

  2. Sub Topik • Greedy Method • Minimum Spanning Tree • Prims • Kruskal • Sortest Path • Dijktras

  3. Pendahuluan • Parameter algoritma di ukur dari performa algoritma secara efektif dan efisien • Pengambilan jalan tengah yaitu pencarian solusi optimal • Salah satucarapencapaiansolusialgoritma optimal adalahdenganmetodeGreedy • Greedy digunakan untuk penyelesaian beberapa masalah antara lain : • TSP (Traveling Sallesperson Problem) • MST (Minimum spanning Tree) • Minimasi waktu dalam sistem (penjadwalan)

  4. Algoritma Greedy Memecahkan masalah dengan cara step by step, langkahnya sebagai berikut : • Memilih langkah yang terbaik pada saat itu tanpa memprediksi kedepanya • Memilih optimum lokaldan berakhir pada optimum global Secara umum algoritma greedy disusun oleh elemen-elemen berikut : • Himpunan kandidat • Himpunan Solusi • Fungsi Seleksi (Selection Function) • Fungsi Kelayakan (feasible)

  5. Minimum spanning Tree Pencarian biaya yang minimum dari suatu graph sehingga membentuk pohon . Syarat Graph yang dapat dicari minimum spanning treenya : • Graph harus terhubung • Ruasnya punya bobot • Graph tidak berarah Algoritma yang dipakai untuk menentukan minimum spanning tree : • Algoritma Kruskal • Algoritma Prim

  6. Greedy Method Jenis algoritma yang termasuk greedy method : • Prims • Kruskal • Dijkstra

  7. Algoritma Prim danAlgoritmaKruskaldapatmenyelesaikanpermasalahanpencarianpohonmerentang minimum dengantepat. • Algoritma Prim lebihefisiendibandingalgoritmaKruskalsaatgraf yang diberikanmemilikibanyaksisidengansimpul yang sedikit (graflengkap). • AlgoritmaKruskallebihefisiendibandingalgoritma Prim saatgraf yang diberikanmemilikibanyaksimpuldengansisi yang sedikit.

  8. AlgoritmaDijkstra • (dinamaimenurutpenemunya, seorangilmuwankomputer, EdsgerDijkstra), • adalahsebuahalgoritmarakus (greedy algorithm) yang dipakaidalammemecahkanpermasalahanjarakterpendek (shortest path problem) untuksebuahgrafberarah (directed graph) denganbobot-bobotsisi (edge weights) yang bernilaitak-negatif.

  9. Shortest Path • Pencarianlintasan/jalurterpendek. • Menggunakan Algoritma Djikstra. • Graph yang diacuadalah graph berbobot (weigth-graph). • Lintasanterpendekberartiminimalisasidaribobotpdasuatulintasandalam graph.

  10. Implementasi Shortest Path • Contoh 1 : • Simpul pada graph merepresentasikan kota sedangkan sisi/edge menyatakan jalan yang menghubungkan dua buah kota. Bobot dapat merepresentasikan jarak atau waktu tempuh antar dua buah kota. Maka persoalan lintasan terpendek disini adalah menentukan jarak terpendek dan waktu tersingkat.

  11. Jenis Shortest Path • Beberapa jenis persoalan lintasan terpendek : 1. lintasan terpendek antara dua buah simpul tertentu. 2. lintasan terpendek antara semua pasangan simpul. 3. lintasan terpendek dari simpul tertentu ke semua simpul yg lain. 4. lintasan terpendek antara dua buah simpul yang melalui beberapa simpul tertentu.

  12. Uraian Persoalan • Diberikan graph berbobot G = (V,E) dan sebuah simpul 1. Tentukan lintasan terpendek dari 1 ke setiap simpul lainnya di G. asumsi : semua bobot sisi/edge bernilai positif.

  13. Uraian Persoalan

  14. Uraian Persoalan • Lintasan terpendek dari simpul 1 ke semua simpul lain diberikan pada tabel dibawah ini (terurut mulai dari lintasan terpendek pertama dst.)

  15. Uraian Persoalan • Dari tabel sebelumnya dapat dilihat bahwa lintasan terpendek dari 1 ke 2 berarti juga melalui lintasan terpendek dari 1 ke 3 dan dari 1 ke 4. • Algoritma lintasan terpendek yang paling terkenal adalah algoritma dijkstra.

  16. AlgoritmaDjikstra • Digunakan untuk mencari lintasan dari simpul a ke semua simpul lain. • Input : vertex a • Output : lintasan terpendek dari vertex a ke vertex lain pada graph.

  17. AlgoritmaDjikstra

  18. AlgoritmaDjikstra • a(-,0) • b(a,3) c(-,∞) d(a,7) e(-, ∞)

  19. AlgoritmaDjikstra • b(a,3) • c(b,3+4) d(b,3+2) e(-, ∞)

  20. AlgoritmaDjikstra • d(b,5) • c(b,7) e(d, 5 + 4)

  21. Algoritma Dijkstra • c(b,7) • e(d, 9)

  22. Minimum Spanning Trees (MST) • Menghubungkan jaringan kabel listrik yang menghubungkan sejumlah lokasi dengan panjang kabel yang digunakan sependek-pendeknya. • Perencanaan jaringan transportasi/distribusi barang. • Terdapat sejumlah algoritma, namun akan dibahas hanya dua algoritma yang paling terkenal: algoritma Prim dan Algoritma Kruskal.

  23. Minimum Spanning Trees (MST)

  24. Minimum Spanning Trees (MST)

  25. Algoritma Prims • Algoritma dimulai dari suatu verteks awal tertentu: bisa ditentukan oleh pemanggil atau dipilih sebarang oleh algoritma. Misalnya verteks awal tersebut adalah v.

  26. Algoritma Prims

  27. Algoritma Prims • a(-,-) • b(a,3) c(-, ∞) d (-, ∞) e(a,6) f(a,5)

  28. Algoritma Prims • b(a,3) • c(b,1) d(-, ∞) e(a,6) f(b,4)

  29. Algoritma Prims • c(b,1) • d(c,6) e(a,6) f(b,4)

  30. Algoritma Prims • f(b,4) • d(f,5) e(f,2)

  31. Algoritma Prims • e(f,2) • d(f,5)

  32. Algoritma Kruskal

  33. Algoritma Kruskal

  34. Algoritma Kruskal

  35. Algoritma Kruskal

  36. Algoritma Kruskal

  37. Algoritma Kruskal

  38. Algoritma Kruskal

  39. Algoritma Kruskal

  40. Algoritma Kruskal

  41. Algoritma Kruskal

  42. Algoritma Kruskal

  43. Algoritma Kruskal

  44. Algoritma Kruskal

  45. Algoritma Kruskal

  46. Pustaka • Mitchell Waite, “Data Structures & Algorithms in Java”, SAMS, 2001

More Related