1 / 18

Pertemuan 11 METODE GREEDY (1)

Pertemuan 11 METODE GREEDY (1). Matakuliah : T0034 / Perancangan & Analisis Algoritma Tahun : 2008. JENIS SOLUSI MASALAH. Salah satu fungsi algoritma adalah untuk menghitung penyelesaian problem / masalah Sebuah problem bisa : Memiliki satu set solusi tunggal

Télécharger la présentation

Pertemuan 11 METODE GREEDY (1)

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. Pertemuan 11METODE GREEDY (1) Matakuliah : T0034 / Perancangan & Analisis Algoritma Tahun : 2008

  2. JENIS SOLUSI MASALAH • Salah satu fungsi algoritma adalah untuk menghitung penyelesaian problem / masalah • Sebuah problem bisa : • Memiliki satu set solusi tunggal • Memiliki beberapa set solusi yang sama-sama benar • Memiliki beberapa set solusi dengan tingkat kebenaran berbeda • Tidak memiliki set solusi yang ”total” benar, tapi ada beberapa set solusi yang mendekati benar • Tidak memiliki set solusi sama sekali [buku utama, bab 6.1]

  3. TEKNIK PENYELESAIAN MASALAH • Beberapa teknik yang populer : • Metode Greedy • Dynamic Programming • Kompresi Data • Backtracking • Branch and Bound

  4. METODE GREEDY • Greedy = serakah • Algoritma sering melakukan beberapa tahap perhitungan sebelum menemukan solusi akhir. • Kadang tahap-tahap tersebut menghasilkan sejumlah elemen yang nantinya akan dipergunakan untuk menyusun solusi akhir. • Metode Greedy akan ”mengabaikan” perhitungan lengkap dalam pencarian solusi, menggantikannya dengan memakai elemen-elemen tersebut untuk menghitung solusi dengan lebih cepat. • Sangat berguna jika pencarian solusi 100% memakan waktu terlalu lama. • Daripada membuang banyak waktu untuk menghitung solusi ”terbaik”, lebih baik dihemat dengan mencari solusi yang ”cukup baik”. • Sayangnya, tidak semua jenis masalah dapat diselesaikan dengan Metode Greedy [buku utama, bab 6.2]

  5. UNIVERSAL SOLUSI • Sebuah problem memiliki : • Universal solusi • Yaitu semua kemungkinan solusi baik yang benar dan yang salah • Solusi Feasible • Yaitu semua kemungkinan solusi yang benar, tetapi tingkat kebenarannya berbeda-beda • Fungsi objektif • Yaitu fungsi untuk mengukur solusi mana yang lebih benar (lebih baik) • Solusi optimal • Yaitu solusi yang paling benar (paling baik)

  6. KNAPSACK PROBLEM • Seorang pencuri memasuki sebuah rumah. Dia membawa tas yang hanya muat mengangkut 20 kg barang. Di dalam rumah terdapat barang A, B, C, D, E Barang A beratnya 7 kg, nilainya $2975 Barang B beratnya 3 kg, nilainya $1230 Barang C beratnya 9 kg, nilainya $3870 Barang D beratnya 2 kg, nilainya $840 Barang E beratnya 5 kg, nilainya $2250 • Barang apa saja yang harus dibawa si pencuri agar hasilnya maksimal? (tidak boleh melebihi kapasitas tas-nya yaitu 20 kg) [buku utama, bab 6.3]

  7. VARIASI KNAPSACK PROBLEM • Fractional Knapsack Problem • Barang boleh dibawa sebagian saja (unit dalam pecahan). • 0/1 Knapsack Problem • Setiap barang hanya tersedia 1 unit, take it or leave it. • Bounded Knapsack Problem • Setiap barang tersedia sebanyak N unit (jumlahnya terbatas). • Unbounded Knapsack Problem • Setiap barang tersedia lebih dari 1 unit, jumlahnya tak terbatas.

  8. MENGHITUNG SOLUSI FEASIBLE • Jika contoh di atas adalah kasus 0/1 Knapsack, solusi feasible-nya: [buku utama, tabel 6.1]

  9. PENYELESAIAN • 0/1 Knapsack Problem • Tidak dapat diselesaikan dengan Metoda Greedy • Mengapa? • Unbounded Knapsack Problem • Bisa diselesaikan dengan Metoda Greedy • Hitung value per kg • Ambil value tertinggi • Masukkan barang dengan value tertinggi sebanyak dimungkinkan (perhatikan batas maksimal berat dan jumlah ketersedian barang). • Jika ada sisa berat, gunakan barang dengan value kedua tertinggi dst • Hitung kompleksitas algoritmanya! • Fractional Unbounded Knapsack Problem • Bisa diselesaikan dengan Metoda Greedy • Hitung value per kg • Ambil value tertinggi • Masukkan barang dengan value tertinggi sebanyak dimungkinkan (perhatikan batas maksimal berat dan jumlah ketersedian barang). • Hitung kompleksitas algoritmanya!

  10. UNBOUNDED KNAPSACK PROBLEM (1) • Langkah 1 : hitung value per kg • Barang A beratnya 7 kg, nilainya $2975  value per kg = $425 • Barang B beratnya 3 kg, nilainya $1230  value per kg = $410 • Barang C beratnya 9 kg, nilainya $3870  value per kg = $430 • Barang D beratnya 2 kg, nilainya $840  value per kg = $420 • Barang E beratnya 5 kg, nilainya $2250  value per kg = $450 • Langkah 2 : ambil value tertinggi • Value tertinggi adalah $450 per kg, berarti barang E akan diambil. • Langkah 3 : masukkan barang dengan value tertinggi sebanyak dimungkinkan • Berat maksimal yang dapat dibawa adalah 20 kg, barang E tersedia sangat banyak (tanpa batas), berarti pencuri itu dapat membawa pulang 4 buah barang E. Keuntungan yang diperoleh adalah 4 x 2250 = $9000 • Langkah 4 : jika ada sisa berat, masukkan barang dengan value kedua tertinggi dan seterusnya. • Dalam kasus di atas, tidak terdapat sisa berat karena 4 buah barang E sudah memiliki berat total 20 kg, menyamai batas berat maksimal.

  11. UNBOUNDED KNAPSACK PROBLEM (2) • Andai berat maksimal diubah menjadi 23 kg • Langkah 1 : hitung value per kg • Barang A beratnya 7 kg, nilainya $2975  value per kg = $425 • Barang B beratnya 3 kg, nilainya $1230  value per kg = $410 • Barang C beratnya 9 kg, nilainya $3870  value per kg = $430 • Barang D beratnya 2 kg, nilainya $840  value per kg = $420 • Barang E beratnya 5 kg, nilainya $2250  value per kg = $450 • Langkah 2 : ambil value tertinggi • Value tertinggi adalah $450 per kg, berarti barang E akan diambil. • Langkah 3 : masukkan barang dengan value tertinggi sebanyak dimungkinkan • Berat maksimal yang dapat dibawa adalah 23 kg, barang E tersedia sangat banyak (tanpa batas), berarti pencuri itu dapat membawa pulang 4 buah barang E. Keuntungan yang diperoleh adalah 4 x 2250 = $9000 • Langkah 4 : jika ada sisa berat, masukkan barang dengan value kedua tertinggi dan seterusnya. • Barang C (value kedua tertinggi) tidak bisa dibawa karena melebihi batas berat • Barang A (value ketiga tertinggi) tidak bisa dibawa karena melebihi batas berat • Barang D (value keempat tertinggi) dibawa sebanyak 1 buah, total berat kini 22 kg • Sisa berat 1 kg, tidak ada barang lain yang bisa dibawa • 4 barang E dan 1 barang D bernilai $9420 • Andai pencuri membawa 4 E dan 1 B, dia bisa memperoleh $10320  Metode Greedy tidak optimal

  12. FRACTIONAL KNAPSACK PROBLEM • Berat maksimal 23 kg • Langkah 1 : hitung value per kg • Barang A beratnya 7 kg, nilainya $2975  value per kg = $425 • Barang B beratnya 3 kg, nilainya $1230  value per kg = $410 • Barang C beratnya 9 kg, nilainya $3870  value per kg = $430 • Barang D beratnya 2 kg, nilainya $840  value per kg = $420 • Barang E beratnya 5 kg, nilainya $2250  value per kg = $450 • Langkah 2 : ambil value tertinggi • Value tertinggi adalah $450 per kg, berarti barang E akan diambil. • Langkah 3 : masukkan barang dengan value tertinggi sebanyak dimungkinkan • Berat maksimal yang dapat dibawa adalah 23 kg, barang E tersedia dalam jumlah pecahan, berarti pencuri itu dapat membawa pulang 4,6 barang E. Keuntungan yang diperoleh adalah 4,6 x 2250 = $10350 • Kali ini Metode Greedy menghasilkan solusi optimal !

  13. PENGURUTAN JOBS BERDASAR DEADLINE • Bentuk sederhana dari masalah penjadwalan. • Terdapat sejumlah job yang harus dilakukan. • Job akan menghasilkan profit apabila berhasil diselesaikan sebelum batas waktunya (deadline). [buku utama, bab 6.4]

  14. CONTOH KASUS n=4; (p1,p2,p3,p4)=(110,47,25,20); (d1,d2,d3,d4)=(2,1,2,1) • Terdapat 4 buah job. • Job 1 dapat menghasilkan keuntungan 110 jika diselesaikan dengan deadline urutan (sequence) kedua. • Job 2 dapat menghasilkan keuntungan 47 jika diselesaikan dengan deadline urutan pertama. • Job 3 dapat menghasilkan keuntungan 25 jika diselesaikan dengan deadline urutan kedua. • Job 4 dapat menghasilkan keuntungan 20 jika diselesaikan dengan deadline urutan pertama. • Dengan teknik biasa (complete) : • (1) sequence (1) profit 110 • (2) sequence (2) profit 47 • (3) sequence (3) profit 25 • (4) sequence (4) profit 20 • (1, 2) sequence (2, 1) profit 157 • (1, 3) sequence (1, 3) atau (3, 1) profit 135 • (1, 4) sequence (4, 1) profit 130 • (2, 3) sequence (2, 3) profit 72 • (3, 4) sequence (4, 3) profit 45

  15. DENGAN METODE GREEDY [buku utama, tabel 6.2]

  16. LATIHAN • Seorang pencuri memasuki sebuah rumah. Dia membawa tas yang hanya muat mengangkut 14 kg barang. Di dalam rumah terdapat barang A, B, C, D, E Barang A beratnya 4 kg, nilainya $980 Barang B beratnya 5 kg, nilainya $1275 Barang C beratnya 2 kg, nilainya $480 Barang D beratnya 6 kg, nilainya $1410 Barang E beratnya 3 kg, nilainya $750 Semua barang berbentuk bubuk, jadi bisa diambil sebagian (tidak harus diambil dalam satuan bulat) Tentukan barang yang harus dibawa si pencuri dan jumlahnya agar hasilnya maksimal! • Terdapat sebuah problem pengurutan jobs sebagai berikut : • n=6 • (p1,p2,p3,p4,p5,p6)=(65,75,45,30,35,70) • (d1,d2,d3,d4,d5,d6)=(2,1,1,2,3,2) Tentukan jobs yang harus diambil berdasarkan Metode Greedy!

  17. REVIEW • Apa yang sudah dipahami? • Apa yang akan dibahas selanjutnya?

More Related