B.
Heuristic
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.
Jenis-jenis Heuristic
Searching yaitu Generate and
Test dan Hill Climbing.
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 suatu kota. Jarak antara tiap-tiap kota sudah
diketahui. Kita ingin mengetahui rute terpendek dimana setaip kota hanya boleh
dikunjungi tepat 1 kali. Misalkan ada 4 kota dengan jarak antara tiap-tiap kota
seperti gambar di bawah ini :
Penyelesaian dengan
metode Generate and Test
Alur pencarian dengan
Generate and Test
Hill Climbing
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
Simple Hill Climbing
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 :
(i) Jika keadaan baru
merupakan tujuan, keluar
(ii) Jika bukan
tujuan, namun nilainya lebih baik daripada keadaan sekarang, maka jadikan
keadaan baru tersebut menjadi keadaan sekarang.
(iii) Jika keadaan
baru tidak lebih baik daripada keadaan sekarang, maka lanjutkan iterasi.
Pada simple hill climbing, ada 3 masalah
yang mungkin:
1.
Algoritma akan berhenti kalau mencapai nilai optimum local
2.
Urutan penggunaan operator akan sangat berpengaruh pada penemuan solusi.
3.
Tidak diijinkan untuk melihat satupun langkah sebelumnya.
Contoh : TSP dengan Simple Hill Climbing
Disini ruang keadaan
berisi semua kemungkinan llintasan 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.
Sumber
berasal dari
http://wisatapikiran.blogspot.co.id/2013/03/perbedaan-blind-search-dengan.html
http://shabri-prayogi.blogspot.co.id/2013/08/teknik-pencarian-heuristik-heuristic.html
Tidak ada komentar:
Posting Komentar