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.
Jenis-jenis Heuristic Searching:
– Generate and Test.
– Hill Climbing.
– Best First Search.
– Means-EndAnlysis, Constraint Satisfaction, dll.
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.
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:
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 Penerapan Generate and Test :
“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.
Contoh Penerapan Hill Climbing :
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)!
Sumber : shabri-prayogi.blogspot.co.id
Tidak ada komentar:
Posting Komentar