Rabu, 04 Agustus 2010

pertemuan 5

Pencarian
Pencarian Heuristik
Ada 4 metode pencarian heuristik
– Pembangkit & Pengujian (Generate and Test)
– Pendakian Bukit (Hill Climbing)
– Pencarian Terbaik Pertama (Best First Search)
– Simulated Annealing

Best First Search
Metode best-first search ini merupakan kombinasi dari metode depth-first search dan metode breadth-first search dengan mengambil kelebihan dari kedua metode tersebut.
Apabila pada pencarian dengan metode hill climbing tidak diperbolehkan untuk kembali ke node pada level yang lebih rendah meskipun node pada level yang lebih rendah tersebut memiliki nilai heuristik yang lebih baik, lain halnya dengan metode best-first search ini.
Pada metode best-first search, pencarian diperbolehkan mengunjungi node yang ada di level yang lebih rendah, jika ternyata node pada lebih yang lebih tinggi ternyata memiliki nilai heuristik yang lebih buruk.


Penentuan node berikutnya adalah node yang terbaik yang pernah dibangkitkan :
• Menggunakan informasi :
– biaya perkiraan
– biaya sebenarnya
• Terdapat 2 jenis :
– Greedy Best First Search
• biaya perkiraan f(n) = h(n)
– A*
• biaya perkiraan + biaya sebenarnya
• f(n) = g(n) + h(n)

Untuk mengimplementasikan metode ini menggunakan graph keadaan, dibutuhkan 2 antrian yang berisi nodenode,
yaitu:
– OPEN
berisi node,node yang sudah dibangkitkan,
namun belum diuji. Umumnya berupa antrian
berprioritas yang berisi elemen-elemen dengan nilai
heuristik tertinggi
– CLOSED
berisi node-node yang sudah diuji.

Algoritma:
– Tempatkan node awal A pada antrian OPEN.
– Kerjakan langkah-langkah berikut hingga tujuan
ditemukan atau antrian OPEN sudah kosong:
– Ambil node terbaik dari OPEN;
– Bangkitkan semua successornya;
– Untuk tiap-tiap successor kerjakan:
– Jika node tersebut belum pernah dibangkitkan
sebelumnya, evaluasi node tersebut dan masukkan ke
OPEN;
– Jika node tersebut sudah pernah dibangkitkan
sebelumnya, ubah parent jika lintasan baru lebih
menjanjikan. Hapus node tersebut dari antrian OPEN.

Tidak ada komentar:

Posting Komentar