Pencarian Heuristic
Pencarian Heuristic
Soal:
Yono ingin berlibur di Bali saat akhir bulan Maret. Ia berencana akan mengunjungi sejumlah
4 tempat wisata. Jarak antara satu tempat wisata dengan yang lainnya sudah diketahui. Yono
ingin mengetehui rute terpendek dimana setiap tempat wisata hanya boleh dikunjungi tepat 1
kali saja.
Keterangan:
M = Pantai Kuta
P = Desa Panglipuran
Jawab:
• Membuat daftar tabel beserta perhitungan panjang lintasan untuk setiap tempat wisata
yang telah dilewati.
Tabel 1 Tabel Alur Pencarian Lintasan
• Keterangan:
✓ State dimulai dari [‘MNOP’ = 22]
Step 1:
Step 2:
Step 3:
✓ State [‘PNOM’ = 15] juga dipilih bersama dengan State [‘MONP’ = 15] karena
memiliki panjang lintasan yang sama
• Solusi yang dihasilkan dari metode simple Generate and Test adalah State [‘MONP’ =
15] dan [‘PNOM’ = 15]. Kedua-duanya dapat dijadikan pilihan sebagai solusi.
• Jadi, rekomendasi untuk Yono dalam menentukan rute terpendek untuk mengunjungi 4
tempat wisata adalah Mulai dari Pantai Kuta ke Garuda Wisnu Kencana ke Pura Tanah
Lot dan yang terakhir ke Desa Panglipuran. Selain itu juga dapat dari Desa Panglipuran
ke Pura Tanah Lot ke Garuda Wisnu Kencana dan yang terakhir ke Pantai Kuta.
Simple Hill Climbing
Soal:
Leni ingin berlibur di Jakarta saat pertengahan bulan Juni. Ia berencana akan mengunjungi
sejumlah 5 tempat wisata. Jarak antara satu tempat wisata dengan yang lainnya sudah diketahui.
Leni ingin mengetehui rute terpendek dimana setiap tempat wisata hanya boleh dikunjungi
tepat 1 kali saja.
Keterangan:
Jawab:
• Operator: Tukar tempat wisata ke-m dengan tempat wisata ke-n (Tk m,n)
• Banyaknya operator yang digunakan berjumlah 10, sebagai berikut:
✓ Tk 1, 2 : tukar tempat wisata ke-1 dengan tempat wisata ke-2
✓ Tk 1, 3 : tukar tempat wisata ke-1 dengan tempat wisata ke-3
✓ Tk 1, 4 : tukar tempat wisata ke-1 dengan tempat wisata ke-4
✓ Tk 1, 5 : tukar tempat wisata ke-1 dengan tempat wisata ke-5
✓ Tk 2, 3 : tukar tempat wisata ke-2 dengan tempat wisata ke-3
✓ Tk 2, 4 : tukar tempat wisata ke-2 dengan tempat wisata ke-4
✓ Tk 2, 5 : tukar tempat wisata ke-2 dengan tempat wisata ke-5
✓ Tk 3, 4 : tukar tempat wisata ke-3 dengan tempat wisata ke-4
✓ Tk 3, 5 : tukar tempat wisata ke-3 dengan tempat wisata ke-5
✓ Tk 4, 5 : tukar tempat wisata ke-4 dengan tempat wisata ke-5
• Penyelesaian pencarian dimulai dari posisi paling kiri dan paling terkecil
• Keterangan:
✓ State dimulai dari [‘ABCDE’ = 19]
Level 1:
Level 2:
Selanjutnya mengeksplor state yang telah terpilih [‘CBADE’ = 15] untuk dibandingkan
dengan level berikutnya:
✓ State [‘BCADE’ = 12] < [‘CBADE’ = 15], karena lebih kecil maka State dipilih
Level 3:
Selanjutnya mengeksplor State yang telah terpilih [‘BCADE’ = 12] untuk dibandingkan
dengan level berikutnya:
Level 4:
Jamal ingin berlibur di Semarang saat pertengahan bulan Juli. Ia berencana akan mengunjungi
sejumlah 5 tempat wisata. Jarak antara satu tempat wisata dengan yang lainnya sudah diketahui.
Jamal ingin mengetehui rute terpendek dimana setiap tempat wisata hanya boleh dikunjungi
tepat 1 kali saja.
Keterangan:
C = Kota Lama
Jawab:
• Operator: Tukar tempat wisata ke-m dengan tempat wisata ke-n (Tk m,n)
• Banyaknya operator yang digunakan berjumlah 10, sebagai berikut:
✓ Tk 1, 2 : tukar tempat wisata ke-1 dengan tempat wisata ke-2
✓ Tk 1, 3 : tukar tempat wisata ke-1 dengan tempat wisata ke-3
✓ Tk 1, 4 : tukar tempat wisata ke-1 dengan tempat wisata ke-4
✓ Tk 1, 5 : tukar tempat wisata ke-1 dengan tempat wisata ke-5
✓ Tk 2, 3 : tukar tempat wisata ke-2 dengan tempat wisata ke-3
✓ Tk 2, 4 : tukar tempat wisata ke-2 dengan tempat wisata ke-4
✓ Tk 2, 5 : tukar tempat wisata ke-2 dengan tempat wisata ke-5
✓ Tk 3, 4 : tukar tempat wisata ke-3 dengan tempat wisata ke-4
✓ Tk 3, 5 : tukar tempat wisata ke-3 dengan tempat wisata ke-5
✓ Tk 4, 5 : tukar tempat wisata ke-4 dengan tempat wisata ke-5
• Penyelesaian pencarian dimulai dengan mencari nilai heuristik terbaik
• Keterangan:
✓ State dimulai dari [‘ABCDE’ = 29]
Level 1:
✓ State [‘CBADE’ = 25] < [‘ABCDE’ = 29], karena nilai heuristiknya lebih baik
maka State dipilih
Level 2:
Selanjutnya mengeksplor state yang telah terpilih [‘CBADE’ = 25] untuk dibandingkan
dengan level berikutnya:
✓ Karena tidak ada yang lebih kecil dari keadaan sebelumnya, maka perbandingan
nilai heuristic selesai.
• Solusi yang dihasilkan dari metode Steepest-Ascent Hill Climbing adalah State
[‘CBADE’ = 25]
• Jadi, rekomendasi untuk Jamal dalam menentukan rute terpendek untuk mengunjungi
5 tempat wisata adalah Mulai dari Kota Lama - Pantai Marina – Taman Lele – Simpang
Lima – Lembah Kalipancur.
Gredy Best First Search & A*
Soal:
Kuncoro ingin pergi menemui Huda di Jogja saat liburan semester depan. Ada beberapa rute
pilihan dari Semarang menuju Jogja, Kuncoro ingin menuju Jogja menggunakan rute
tercepat. Bantu Kuncoro memilih rute tercepat menggunakan Algoritma Gredy Best First
Search & A*
Keterangan:
A = Semarang E = Klaten
B = Boyolali F = Muntilan
C = Salatiga G = Jogja
D = Magelang
n A B C D E F G
h(n) 30 60 50 70 20 40 0
Jawab:
OPEN berisi satu simpul yaitu A, maka A jadi simpul terbaik dan dipindahkan ke CLOSED.
Kemudian dibangkitkan semua suksesor A, yaitu B, C, D karena ketiga suksesor belum ada
di OPEN maupun CLOSED maka ketiganya dimasukan ke OPEN. Menghasilkan :
OPEN = [B, C, D]
CLOSED = [A]
Langkah 2:
C dengan biaya terkecil (yaitu f(C) = h(C)= 50) terpilih sebagai simpul terbaik &
dipindahkan ke CLOSED. Selanjutnya, semua suksesor C dibangkitkan, yaitu: F. karena
belum ada di OPEN & CLOSED maka dimasukan ke OPEN. Menghasilkan :
OPEN = [B, D, F]
CLOSED = [A, C]
Langkah 3:
F dengan biaya terkecil (yaitu f(f) = h(f)= 40) terpilih sebagai simpul terbaik & dipindahkan
ke CLOSED. Selanjutnya, semua suksesor F dibangkitkan, yaitu: G. Karena simpul G
merupakan target tujuan maka pencarian akan dihentikan. Menghasilkan :
OPEN = [B, G]
CLOSED = [A, C, F]
Jadi rute tercepat menggunakan Algoritma Gredy Best First Search adalah A-C-F-G dengan
total 65 KM
A*
Langkah 1:
OPEN berisi satu simpul yaitu A, maka A jadi simpul terbaik dan dipindahkan ke CLOSED.
Kemudian dibangkitkan semua suksesor A, yaitu B, C, D karena ketiga suksesor belum ada
di OPEN maupun CLOSED maka ketiganya dimasukan ke OPEN. Menghasilkan :
OPEN = [B, C, D]
CLOSED = [A]
Langkah 2:
C dengan biaya terkecil (yaitu f(C) = h(C) + g(C) = 60 + 15 = 75) terpilih sebagai simpul
terbaik & dipindahkan ke CLOSED. Selanjutnya, semua suksesor C dibangkitkan, yaitu: F.
karena belum ada di OPEN & CLOSED maka dimasukan ke OPEN. Menghasilkan :
OPEN = [B, D, F]
CLOSED = [A, C]
Langkah 3:
B dengan biaya terkecil (yaitu f(B) = h(B) + g(B) = 60 + 15 = 75) terpilih sebagai simpul
terbaik & dipindahkan ke CLOSED. Selanjutnya, semua suksesor B dibangkitkan, yaitu: E.
karena belum ada di OPEN & CLOSED maka dimasukan ke OPEN. Menghasilkan :
OPEN = [D, E, F]
CLOSED = [A, B, C]
Langkah 4:
E dengan biaya terkecil (yaitu f(E) = h(E) + g(E) = 20 + 40 = 60) terpilih sebagai simpul
terbaik & dipindahkan ke CLOSED. Selanjutnya, semua suksesor C dibangkitkan, yaitu: F.
Karena simpul G merupakan target tujuan maka pencarian akan dihentikan. Menghasilkan :
OPEN = [D, G]
CLOSED = [A, B, C, E]
HASIL= [A, B, E, G]