SlideServe
Menu
Préférences
© SlideServe · v2026

Design and Analysis of Algorithm Greedy Algorithm

step avatar
36 diapositives · 651 Views · Jul 31, 2014

Design and Analysis of Algorithm Greedy Algorithm. Aryo Pinandito, ST, M.MT – PTIIK Universitas Brawijaya. Contents. Algoritma Greedy Contoh Algoritma Greedy Masalah penukaran uang Knapsack 0/1 . Pendahuluan.

Design and Analysis of Algorithm Greedy Algorithm - slide 1
01 / 36Design and Analysis of Algorithm Greedy Algorithm
1 / 17

Télécharger la présentation

Design and Analysis of Algorithm Greedy Algorithm
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Design and Analysis of AlgorithmGreedy Algorithm Aryo Pinandito, ST, M.MT – PTIIK UniversitasBrawijaya

  2. Contents • Algoritma Greedy • ContohAlgoritma Greedy • Masalahpenukaranuang • Knapsack 0/1

  3. Pendahuluan • Algoritma greedy merupakanmetode yang paling populeruntukmemecahkanpersoalanoptimasi. • Persoalanoptimasi (optimization problems): • persoalanmencarisolusi optimum. • Hanyaadaduamacampersoalanoptimasi: • Maksimasi (maximization) • Minimasi (minimization)

  4. ContohPersoalanOptimasi • (MasalahPenukaranUang): Diberikanuangsenilai A. Tukar A dengankoin-koinuang yang ada. Berapajumlah minimum koin yang diperlukanuntukpenukarantersebut? • Persoalanminimasi

  5. PenukaranUang • Contoh 1: • Tersediabanyakkoin 1, 5, 10, 25 • Uangsenilai A = 32 dapatditukardenganbanyakcaraberikut: • 32 = 1 + 1 + … + 1 (32 koin) • 32 = 5 + 5 + 5 + 5 + 10 + 1 + 1 (7 koin) • 32 = 10 + 10 + 10 + 1 + 1 (5 koin) • … dst • Minimum: 32 = 25 + 5 + 1 + 1 (4 koin)

  6. Greedy • Greedy = rakus, tamak, loba, … • Prinsip greedy: “take what you can get now!”. • Algoritma greedy membentuksolusilangkah per langkah (step by step). • Padasetiaplangkah, terdapatbanyakpilihan yang perludieksplorasi. • Olehkarenaitu, padasetiaplangkahharusdibuatkeputusan yang terbaikdalammenentukanpilihan.

  7. Greedy (2) • Padasetiaplangkah, kitamembuatpilihan optimum lokal (local optimum) • denganharapanbahwalangkahsisanyamengarahkesolusi optimum global (global optimum).

  8. Algoritma Greedy • Algoritma greedy adalahalgoritma yang memecahkanmasalahlangkah per langkah;padasetiaplangkah: • Mengambilpilihan yang terbaik yang dapatdiperolehpadasaatitutanpamemperhatikankonsekuensikedepan (prinsip “take what you can get now!”) • Berharapbahwadenganmemilih optimum lokalpadasetiaplangkahakanberakhirdengan optimum global.

  9. Strategi Greedy padaPenukaranUang • Strategi greedy: Padasetiaplangkah, pilihlahkoindengannilaiterbesardarihimpunankoin 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: Jumlahkoin minimum = 4 (solusi optimal!)

  10. Elemen-elemenAlgoritma Greedy • Elemen-elemenalgoritma greedy: • Himpunankandidat, C. • Himpunansolusi, S • Fungsiseleksi (selection function) • Fungsikelayakan (feasible) • Fungsiobyektif • Dengan kata lain: • Algoritma greedy melibatkanpencariansebuahhimpunanbagian, S, darihimpunankandidat, C; yang dalamhalini, S harusmemenuhibeberapakriteria yang ditentukan, yaitumenyatakansuatusolusidan S dioptimisasiolehfungsiobyektif.

  11. ElemenAlgoritma Greedy padaPenukaranUang • Himpunankandidat: himpunankoin yang merepresentasikannilai 1, 5, 10, 25, paling sedikitmengandungsatukoinuntuksetiapnilai. • Himpunansolusi: total nilaikoin yang dipilihtepatsamajumlahnyadengannilaiuang yang ditukarkan. • Fungsiseleksi: pilihlahkoin yang bernilaitertinggidarihimpunankandidat yang tersisa. • Fungsilayak: memeriksaapakahnilai total darihimpunankoin yang dipilihtidakmelebihijumlahuang yang harusdibayar. • Fungsiobyektif: jumlahkoin yang digunakan minimum.

  12. Skema Algoritma Greedy • Skemaumumalgoritma greedy: Padaakhirsetiapiterasi, solusi yang terbentukadalah optimum lokal. Padaakhirperulanganwhile-do diperoleh optimum global.

  13. Optimum Global danSolusiTerbaik • Warning: Optimum global belumtentumerupakansolusi optimum (terbaik), tetapi sub-optimum atau pseudo-optimum. • Kenapa? • Algoritma greedy tidakberoperasisecaramenyeluruhterhadapsemuaalternatifsolusi yang ada(sebagaimanapadametode exhaustive search). • Terdapatbeberapafungsi SELEKSI yang berbeda, sehinggakitaharusmemilihfungsi yang tepatjikakitainginalgoritmamenghasilkansolusi optimal. Jadi, padasebagianmasalahalgoritma greedy tidakselaluberhasilmemberikansolusi yang optimal.

  14. ContohOptimalisasiPadaAlgoritma Greedy • Tinjaumasalahpenukaranuang. (a) Koin: 5, 4, 3, dan 1 Uang yang ditukar = 7. Solusi greedy: 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)

  15. Kasus Mata Uang Optimum • Untuksistemmatauang dollar AS, euro Eropa, dan crown Swedia, algoritma greedy selalumemberikansolusi optimum. • Contoh: Uang $6,39 ditukardenganuangkertas (bill) dankoinsen (cent), kitadapatmemilih: • Satubuahuangkertassenilai $5 • Satubuahuangkertassenilai $1 • Satukoin 25 sen • Satukoin 10 sen • Empatkoin 1 sen • $5 + $1 + 25c + 10c + 1c + 1c + 1c + 1c = $6,39

  16. SolusiHampiranAlgoritma Greedy • Jikajawabanterbaikmutlaktidakdiperlukan, makaalgoritma greedy seringbergunauntukmenghasilkansolusihampiran (approximation), daripadamenggunakanalgoritma yang lebihrumituntukmenghasilkansolusi yang eksak. • Bilaalgoritma greedy optimum, makakeoptimalannyaitudapatdibuktikansecaramatematis

  17. Contoh-contoh Algoritma Greedy • Masalahpenukaranuang • Nilaiuang yang ditukar: A • Himpunankoin (multiset): {d1, d2, …, dn}. • Himpunansolusi: X = {x1, x2, …, xn}, • xi= 1 jika di dipilih, xi = 0 jika di tidakdipilih.

  18. PenukaranUangdengan Exhaustive Search • Penyelesaiandengan exhaustive search • Terdapat 2nkemungkinansolusi • (nilai-nilai X = {x1, x2, …, xn} ) • Untukmengevaluasifungsiobyektif = O(n) • Kompleksitasalgoritma exhaustive search seluruhnya = O(n  2n)

  19. Integer Knapsack

  20. Exhaustive Search: 0/1 Knapsack • Penyelesaiandengan exhaustive search • Sudahdijelaskanpadapembahasan exhaustive search. • Kompleksitasalgoritma exhaustive search untukpersoalanini = O(n  2n).

  21. Greedy: 0/1 Knapsack • Penyelesaiandenganalgoritma greedy: • Masukkanobjeksatu per satukedalam knapsack. Sekaliobjekdimasukkankedalam knapsack, objektersebuttidakbisadikeluarkanlagi. • Terdapatbeberapastrategi greedy yang heuristik yang dapatdigunakanuntukmemilihobjek yang akandimasukkankedalam knapsack: Desain dan Analisis Algoritma

  22. Heuristik Greedy: 0/1 Knapsack • Greedy by profit. • Padasetiaplangkah, pilihobjek yang mempunyaikeuntunganterbesar. • Mencobamemaksimumkankeuntungandenganmemilihobjek yang paling menguntungkanterlebihdahulu. • Greedy by weight. • Padasetiaplangkah, pilihobjek yang mempunyaiberatteringan. • Mencobamemaksimumkankeuntungan.dengandenganmemasukkansebanyakmungkinobjekkedalam knapsack.

  23. Heuristik Greedy: 0/1 Knapsack • Greedy by density. • Padasetiaplangkah, knapsack diisidenganobjek yang mempunyai pi/witerbesar. • Mencobamemaksimumkankeuntungandenganmemilihobjek yang mempunyaikeuntungan per unit beratterbesar. • Pemilihanobjekberdasarkansalahsatudariketigastrategi di atastidakmenjaminakanmemberikansolusi optimal.

  24. Contoh: Greedy 0/1 Knapsack • Contoh1 w1 = 6; p1 = 12; w2 = 5; p2 = 15; w3 = 10; p3 = 50; w4 = 5; p4 = 10 Kapasitas knapsack K = 16 • Solusi optimal: X = (0, 1, 1, 0) • Greedy by profitdangreedyby densitymemberikansolusi optimal!

  25. Contoh 2: Greedy 0/1 Knapsack • w1 = 100; p1 = 40; w2 = 50; p2 = 35; w3 = 45; p3 = 18; • w4 = 20; p4 = 4; w5 = 10; p5 = 10; w6 = 5; p6 = 2 • Kapasitasknapsack K = 100 Ketigastrategigagalmemberikansolusioptimal!

  26. KesimpulanAlgoritma Greedy • Algoritma greedy tidakselaluberhasilmenemukansolusi optimal untukmasalah 0/1 Knapsack.

  27. Fractional Knapsack

  28. Fractional Knapsack • Penyelesaiandengan exhaustive search, tidakmungkindilakukan. • Olehkarena 0  xi 1, makaterdapattidakberhinganilai-nilai xi. • Persoalan Fractional Knapsack menjadi malar (continuous) sehinggatidakmungkindipecahkandenganalgoritmaexhaustive search.

  29. Fractional Knapsack: Algoritma Greedy • Penyelesaiandenganalgoritma greedy. • Ketigastrategi greedy yang telahdisebutkan di atasdapatdigunakanuntukmemilihobjek yang akandimasukkankedalam knapsack.

  30. Contoh Fractional Knapsack w1 = 18; p1 = 25; w2 = 15; p1 = 24 w3 = 10; p1 = 15 Kapasitas knapsack K = 20 • Solusi optimal: X = (0, 1, 1/2) • yang memberikan keuntungan maksimum = 31,5.

  31. StrategiAlgoritma Greedy: Knapsack • Strategipemilihanobjekberdasarkandensitas pi/witerbesarakanselalumemberikansolusi optimal. • Agar proses pemilihanobjekberikutnya optimal, makakitaurutkanobjekberdasarkan pi/wi yang menurun, sehinggaobjekberikutnya yang dipilihadalahobjeksesuaidalamurutanitu. Jika p1/w1 p2/w2 ... pn/wnmakaalgoritma greedy denganstrategipemilihanobjekberdasarkan pi/witerbesarmenghasilkansolusi yang optimum.

  32. Algoritma Fractional Knapsack • Algoritmapersoalan fractional knapsack: • Hitungharga pi/wi , i = 1, 2, ..., n • Urutkanseluruhobjekberdasarkannilai pi/widaribesarkekecil. • JalankanFractionalKnapsack.

  33. Pseudo-code Fractional Knapsack Kompleksitaswaktualgoritma = O(n).

  34. Exercise • Suppose that in 0-1 knapsack problem, the order of the items when sorted by increasing weight is the same as their order when sorted by decreasing value. Given an efficient algorithm to find an optimal solution to this variant of the knapsack problem, and argue that your algorithm is correct.

  35. Questions?

  36. 감사합니다 Grazias Kiitos Gratias Danke ﺷﻜﺮﺍﹰ 谢谢 TerimaKasih Merci Thank You धन्यवाद ありがとうございます