Teknik
Pencarian Heuristik (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:
– Generate
and Test.
– Hill
Climbing.
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
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 :
Tidak ada komentar:
Posting Komentar