- Pencarian buta tidak selalu dapat diterapkan dengan baik
– Waktu aksesnya yang cukup lama
– Besarnya memori yang diperlukan - Metode heuristic search diharapkan bisa menyelesaikan permasalahan yang lebih besar.
- Metode heuristic search menggunakan suatu fungsi yang menghitung biaya perkiraan (estimasi) dari suatu simpul tertentu menuju ke simpul tujuan ➔ disebut fungsi heuristic
- Aplikasi yang menggunakan fungsi heuristic : Google, Deep Blue Chess Machine
- Contoh pada masalah 8 puzzle:
- Operator
– Ubin kosong geser ke kanan
– Ubin kosong geser ke kiri
– Ubin kosong geser ke atas
– Ubin kosong geser ke bawa - Langkah Awal
- Langkah Awal hanya 3 operator yang bisa digunakan:
– Ubin kosong digeser ke kiri, ke kanan dan ke atas. - Jika menggunakan pencarian buta, tidak perlu mengetahui operasi apa yang akan dikerjakan (sembarang).
- Pada pencarian heuristik perlu diberikan informasi khusus dalam domain tersebut.
Informasi yang diberikan dalam domain tersebut adalah sebagai berikut:
- Untuk jumlah ubin yang menempati posisi yang benar jumlah yang lebih tinggi adalah yang lebih diharapkan (lebih baik)
- Untuk jumlah ubin yang menempati posisi yang salah jumlah yang lebih kecil adalah yang diharapkan (lebih baik).
- Menghitung total gerakan yang diperlukan untuk mencapai tujuan jumlah yang lebih kecil adalah yang diharapkan (lebih baik).
Pencarian Heuristik
Pembangkit & Pengujian (Generate and Test)
- Pada prinsipnya metode ini merupakan penggabungan antara depth-first search dengan
pelacakan mundur (backtracking), yaitu bergerak ke belakang menuju pada suatu keadaan-
pelacakan mundur (backtracking), yaitu bergerak ke belakang menuju pada suatu keadaan-
- Algoritmanya:
Contoh Traveling Salesman Problem (TSP)
- Seorang salesman ingin mengunjungi n kota. Jarak antara tiaptiap kota sudah diketahui. Ingin diketahui rute terpendek dimana setiap kota hanya boleh dikunjungi tepat 1 kali.
- Contoh Traveling Salesman Problem (TSP) pada gambar di atas menggunakan Generate & test
dan akan membangkitkan semua solusi yang mungkin sebagai berikut:
- Lintasannya sebagai berikut:
- Kelemahan dari Pembangkit & Pengujian (Generate and Test) adalah sebagai berikut:
Pendakian Bukit (Hill Climbing)
- Metode yang digunakan dalam pendakian Bukit (Hill Climbing) adalah sebagai berikut:
pengujian dilakukan dengan menggunakan fungsi heuristik.
Simple Hill Climbing
- Algoritma yang digunakan dalam Simple Hill Climbing
- Cari operator yang belum pernah digunakan; gunakan operator ini untuk mendapatkan keadaan yang baru
- 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 Dalam Traveling Salesman Problem (TSP)
- Operator : Tukar kota ke-i dengan kota ke-j (Tk i,j)
- Untuk 4 kota sebagai berikut:
Steepest Ascent Hill Climbing
- Steepest-ascent hill climbing sebenarnya hampir sama dengan simple hill climbing, hanya saja gerakan pencarian tidak dimulai dari posisi paling kiri.
- Gerakan selanjutnya dicari berdasarkan nilai heuristik terbaik.
- Dalam hal ini urutan penggunaan operator tidak menentukan penemuan solusi.
- Algoritmanya sebagai berikut:
Lebih lengkap semua silakan download di bagian "Download Materi"
Tidak ada komentar:
Posting Komentar