Heuristic Search
Generate and Test
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.
- 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 :
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.
Daftar Pustaka :
Komentar
Posting Komentar