Berbeda dengan blind search, heuristic search mempunyai informasi
tentang cost/biaya untuk mencapai goal state dari current state. Dengan informasi tersebut, heuristic search dapat melakukan pertimbangan untuk mengembangkan
atau memeriksa node-node yang
mengarah ke goal state. Misalnya pada
pencarian rute pada suatu peta, bila
kita berangkat dari kota A ke kota tujuan B yang letaknya di Utara kota A, dengan heuristic search, pencarian akan lebih difokuskan ke arah Utara
(dengan informasi cost ke goal), sehingga secara umum, heuristic search lebih efisien daripada blind search.
Heuristic search untuk
menghitung (perkiraan) cost ke goal state, digunakan fungsi heuristic. Fungsi heuristic berbeda daripada algoritma, dimana heuristic lebih merupakan perkiraan untuk membantu algoritma, dan
tidak harus valid setiap waktu.
Meskipun begitu, semakin bagus fungsi heuristic
yang dipakai, semakin cepat dan akurat pula solusi yang didapat. Menentukan heuristic yang tepat untuk kasus dan
implementasi yang ada juga sangat berpengaruh terhadap kinerja algoritma
pencarian. Aplikasi yang menggunakan fungsi heuristic : Google, Deep Blue Chess
Machine
Beberapa contoh algoritma pencarian yang menggunakan metode heuristic search adalah Generate and Test Best First Search, Greedy Search, A* (A Star) Search, dan Hill
Climbing Search.
PEMBANGKITAN
dan PENGUJIAN (Generate and Test)
-Metode
ini merupakan penggabungan antara depth-first search dengan pelacakan mundur
(backtracking), yaitu bergerak ke belakang menuju pada suatu keadaan awal.
Algoritma
:
1.
Bangkitkan suatu kemungkinan solusi (membangkitkan suatu tititk tertentu atau
lintasan tertentu dari keadaan awal).
2.
Uji untuk melihat apakah node tersebut benar-benar merupakan solusinya dengan
cara membandingkan node terebut atau node akhir dari suatu lintasan yang
dipilih dengan kumpulan tujuan yang diharapkan.
3.
Jika solusi ditemukan, keluar. Jika tidak, ulangi kembali langkah pertama.
Contoh :
“Travelling Salesman Problem (TSP)”
*) Seorang
salesman ingin mengunjungi n kota. Jarak antara tiap-tiap kota sudah diketahui.
Kita ingin mengetahui ruter terpendek dimana setaip kota hanya boleh
dikkunjungi tepat 1 kali. Misalkan ada 4 kota dengan jarak antara
tiap-tiap kota seperti berikut ini :
Alur pencarian dengan Generate and Test
Pencarian ke-
|
Lintasan
|
Panjang Lintasan
|
Lintasan terpilih
|
Panjang Lintasan terpilih
|
1
|
ABCD
|
19
|
ABCD
|
19
|
2
|
ABDC
|
18
|
ABDC
|
18
|
3
|
ACBD
|
12
|
ACBD
|
12
|
4
|
ACDB
|
13
|
ACBD
|
12
|
5
|
ADBC
|
16
|
ACBD
|
12
|
Dst…..
|
PENDAKIAN BUKIT (Hill Climbing)
Metode ini hampir sama dengan metode
pembangkitan dan pengujian, hanya saja proses pengujian dilakukan dengan
menggunakan fungsi heuristic. Pembangkitan keadaan berikutnya tergantung pada
feedback dari prosedur pengetesan. Tes yang berupa fungsi heuristic ini akan
menunjukkan seberapa baiknya nilai terkaan yang diambil terhadap
keadaan-keadaan lainnyayang mungkin.
Algoritma:
1. Cari operator yang belum pernah
digunakan; gunakan operator ini untuk mendapatkan keadaan yang baru.
a) Kerjakan langkah-langkah berikut sampai
solusinya ditemukan atau sampai tidak ada operator baru yang akan diaplikasikan
pada keadaan sekarang : Cari operator yang belum digunakan; gunakan operator
ini untuk mendapatkan keadaan yang baru.
b) Evaluasi keadaan baru tersebut :
– Jika keadaan baru merupakan tujuan,
keluar
– Jika bukan tujuan, namun nilainya lebih
baik daripada keadaan sekarang, maka jadikan keadaan baru tersebut menjadi
keadaan sekarang.
– Jika keadaan baru tidak lebih baik
daripada keadaan sekarang, maka lanjutkan iterasi.
Contoh: TSP dengan Simple Hill Climbing
Disini ruang keadaan berisi semua
kemungkinan lintasan yang mungkin. Operator digunakan untuk menukar posisi
kota-kota yang bersebelahan. Apabila ada n kota, dan kita ingin mencari
kombinasi lintasan dengan menukar posisi urutan 2 kota, maka kita akan
mendapatkan sebanyak 6 kombinasi. Fungsi heuristic yang digunakan adalah
panjang lintasan yang terjadi.
Source
viska.web.id/wp-content/uploads/2012/03/Modul-Pertemuan-2-7.pdf
cs.unsyiah.ac.id/~irvanizam/teaching/ai/INF303-04.pdf
dir.unikom.ac.id/s1-final-project/fakultas...dan...pdf/pdf/4-unikom-d-i.pdf
hendrik.staff.gunadarma.ac.id/Downloads/files/23065/teknik-pencarian-heuristik.pdf
Kalau contoh soal pencarian terbimbing dengan menggunakan 6 kota bagaimana yaa?
BalasHapus