1 / 19

Greedy

Greedy. Pertemuan 7. Pendahuluan. Algoritma greedy merupakan metode yang paling populer untuk memecahkan persoalan optimasi . • Persoalan optimasi ( optimization problems): -> persoalan mencari solusi optimum. • Hanya ada dua macam persoalan optimasi:

conley
Download Presentation

Greedy

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 Pertemuan 7

  2. Pendahuluan Algoritmagreedy merupakanmetode yang paling populeruntukmemecahkanpersoalan optimasi. • Persoalanoptimasi (optimization problems): -> persoalan mencari solusi optimum. • Hanya ada dua macam persoalan optimasi: 1. Maksimasi (maximization) 2. Minimasi (minimization)

  3. Karakteristik Greedy Greedy = rakus, tamak, loba, … • Prinsipgreedy: “take what you can get now!”. • Algoritmagreedy membentuksolusilangkah per langkah (step by step). • Padasetiaplangkah, terdapatbanyakpilihan yang perludieksplorasi. • Oleh karena itu, pada setiap langkah harus dibuat keputusan yang terbaik dalam menentukan pilihan.

  4. Karakteristik Greedy • Pada setiap langkah, kita membuat pilihan optimum lokal (local optimum) • denganharapanbahwalangkahsisanyamengarahkesolusioptimum global (global optimm).

  5. Contoh Greedy • Optimal solutions: • change making for “normal” coin denominations • minimum spanning tree (MST) • single-source shortest paths • simple scheduling problems • Huffman codes • Approximations/heuristics: • traveling salesman problem (TSP) • knapsack problem • other combinatorial optimization problems

  6. Contohpenyelesaianmasalahdengan Greedy • Tinjaumasalahpenukaranuang: Strategigreedy: Padasetiaplangkah, pilihlahkoindengannilai terbesar dari himpunan koin yang tersisa. • Misal: A = 32, koin yang tersedia: 1, 5, 10, dan 25 Langkah 1: pilih 1 buahkoin 25 (Total = 25) Langkah 2: pilih 1 buahkoin 5 (Total = 25 + 5 = 30) Langkah 3: pilih 2 buahkoin 1 (Total = 25+5+1+1= 32) • Solusi: Jumlah koin minimum = 4 (solusi optimal!)

  7. Contohpenyelesaianmasalahdengan Greedy Elemen-elemenalgoritma greedy: 1. Himpunankandidat, C. 2. Himpunansolusi, S 3. Fungsiseleksi (selection function) 4. Fungsikelayakan (feasible) 5. Fungsiobyektif Dengankata lain: algoritmagreedy melibatkanpencariansebuahhimpunan bagian, S, dari himpunan kandidat, C; yang dalam hal ini, S harus memenuhi beberapa kriteria yang ditentukan, yaitu menyatakan suatu solusi danS dioptimisasiolehfungsiobyektif.

  8. Contohpenyelesaianmasalahdengan Greedy Padamasalahpenukaranuang: • Himpunan kandidat: himpunan koin yang merepresentasikan nilai 1, 5, 10, 25, paling sedikit mengandung satu koin untuk setiap nilai. • Himpunansolusi: total nilaikoin yang dipilihtepatsama jumlahnya dengan nilai uang yang ditukarkan. • Fungsiseleksi: pilihlahkoin yang bernilaitertinggidarihimpunankandidat yang tersisa. • Fungsilayak: memeriksaapakahnilai total darihimpunankoin yang dipilihtidakmelebihijumlahuang yang harusdibayar. • Fungsiobyektif: jumlahkoin yang digunakan minimum

  9. Skemaumumalgoritmagreedy:

  10. Warning: Optimum global belumtentumerupakansolusi optimum (terbaik), tetapi sub-optimum atau pseudo optimum. • Alasan: 1. Algoritmagreedy tidakberoperasisecaramenyeluruhterhadapsemuaalternatifsolusi yang ada(sebagaimana pada metode exhaustive search). 2. Terdapatbeberapafungsi SELEKSI yang berbeda, sehinggakitaharusmemilihfungsi yang tepatjikakitainginalgoritmamenghasilkansolusioptimal. • Jadi, padasebagianmasalahalgoritmagreedy tidakselalu berhasil memberikan solusi yang optimal.

  11. 1. Penukaran uang (a) Koin: 5, 4, 3, dan 1 Uang yang ditukar = 7. Solusigreedy: 7 = 5 + 1 + 1 ( 3 koin) -> tidak optimal Solusi optimal: 7 = 4 + 3 ( 2 koin) (b) Koin: 10, 7, 1 Uang yang ditukar: 15 Solusi greedy: 15 = 10 + 1 + 1 + 1 + 1 + 1 (6 koin) Solusi optimal: 15 = 7 + 7 + 1 (hanya 3 koin) (c) Koin: 15, 10, dan 1 Uang yang ditukar: 20 Solusi greedy: 20 = 15 + 1 + 1 + 1 + 1 + 1 (6 koin) Solusi optimal: 20 = 10 + 10 (2 koin)

  12. 2. PenjadwalanJobdenganTenggat Waktu (Job Schedulling with Deadlines) Persoalan: - Adanbuahjob yang akandikerjakanoleh sebuahmesin; - tiapjobdiprosesolehmesinselama 1 satuanwaktudantenggatwaktu (deadline) setiapjob iadalahdi 0; - job iakanmemberikankeuntungansebesarpi jikadanhanyajikajobtersebutdiselesaikan tidakmelebihitenggatwaktunya;

  13. - Bagaimana memilih job-job yang akan dikerjakan oleh mesin sehingga keuntungan yang diperoleh dari pengerjaan itu maksimum? • Fungsi obyektif persoalan ini: Maksimasi F = • Solusi layak: himpunan J yang berisi urutan job yang sedemikian sehingga setiap job di dalam J selesai dikerjakan sebelum tenggat waktunya. • Solusi optimum ialah solusi layak yang memaksimumkan F.

  14. Contoh:Misalkan A berisi 4 job (n = 4): (p1, p2, p3, p4) = (50, 10, 15, 30) (d1, d2, d3, d4) = (2, 1, 2, 1) Mesinmulaibekerjajam 5.00 pagi.

  15. Pemecahan Masalah dengan Exhaustive Search Cari himpunan bagian (subset) job yang layak dan memberikan total keuntungan terbesar.

  16. Contoh: (p1, p2, p3, p4) = (50, 10, 15, 30) (d1, d2, d3, d4) = (2, 1, 2, 1) BarisanjobKeuntungan (F)Keterangan {} 0 layak {1} 50 layak {2} 10 layak {3} 15 layak {4} 30 layak {1, 2} - tidaklayak {1, 3} 65 layak {1, 4} - tidaklayak {2, 1} 60 layak {2, 3} 25 layak {2, 4} - tidaklayak {3, 1} 65 layak {3, 2} - tidaklayak {3, 4} - tidaklayak {4, 1} 80 layak (Optimum!) {4, 2} - tidaklayak {4, 3} 45 layak Solusi optimum: J = {4, 1} denganF = 80. Kompleksitasalgoritmaexhaustive search : O(n2n).

  17. Pemecahan Masalah dengan Algoritma Greedy • Strategi greedy untuk memilih job: Pada setiap langkah, pilih job i dengan pi yang terbesar untuk menaikkan nilai fungsi obyektif F.

  18. Contoh: (p1, p2, p3, p4) = (50, 10, 15, 30) (d1, d2, d3, d4) = (2, 1, 2, 1) Solusi optimal: J = {4, 1} dengan F = 80.

  19. Kompleksitas algoritma greedy : O(n2).

More Related