Hauristic Search
Heuristik adalah sebuah teknik yang mengembangkan
efisiensi dalam proses pencarian, namum dengan kemungkinan mengorbankan
kelengkapan (completeness).
Fungsi heuristik digunakan untuk mengevaluasi
keadaan-keadaan problema individual dan menentukan seberapa jauh hal tersebut
dapat digunakan untuk mendapatkan solusi yang diinginkan.
1). 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
2) 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 n!/2!(n-2)!
atau sebanyak 6
kombinasi. Fungsi heuristic yang digunakan adalah panjang lintasan yang
terjadi.
Sumber :
http://shabri-prayogi.blogspot.co.id/2013/08/teknik-pencarian-heuristik-heuristic.html?m=1
Komentar
Posting Komentar