![]() |
| https://pin.it/6jJcZzm5y |
Kamu ingin membawa barang yang total nilainya paling besar, tapi tidak boleh lebih dari 10 kg.
Data
barang (berat, nilai):
•
Barang 1: (6 kg, 30)
•
Barang 2: (3 kg, 14)
•
Barang 3: (4 kg, 16)
•
Barang 4: (2 kg, 9)
• Barang 5: (5 kg, 20)
Tujuan: Pilih barang apa saja yang dibawa agar total nilainya paling besar.
PENYELESAIAN MENGGUNAKAN ALGORITMA BFS :
Bayangkan kita sedang berdiri di sebuah persimpangan :
- Setiap kali kita memutuskan “ambil barang ini atau tidak”, kita bergerak ke state baru.
- Kita pakai BFS supaya bisa menyapu semua kemungkinan pilihan dari yang sedikit barang ke banyak barang.
Misalnya:
-
Awal (tas kosong, 0 kg, nilai 0).
-
Dari sini kita bisa memilih: ambil barang 1, atau lewati barang 1.
-
Dari tiap pilihan, kita lanjut ke barang berikutnya, lagi-lagi punya 2 opsi: ambil atau lewati.
-
Begitu terus sampai semua barang diperiksa.
(barang_ke, total_berat, total_nilai, daftar_barang_yang_diambil).BFS menyapu semua kemungkinan mulai dari tas kosong, lalu coba tambahkan barang satu per satu. Setiap kombinasi dicek apakah melebihi kapasitas atau tidak. Saat kombinasi {1, 3} ditemukan, nilainya 46, dan ternyata itu yang paling besar di antara semua kombinasi valid.





Komentar
Posting Komentar