2020 Ada beberapa aplikasi yang menggunakan teknik pencarian ini: 1. Papan game dan puzzle
2. Penjadwalan dan masalah routing
3. Parsing bahasa dan interpretainya
4. Logika pemrograman
5. Computer vision dan pengenalan pola
6. Sistem pakar berbasis kaidah
Pencarian adalah suatu proses mencari solusi dari suatu permasalahan melalui sekumpulan kemungkinan ruang keadaan (state space).
Ruang keadaan merupakan suatu ruang yang berisi semua
keadaan yang mungkin.
Kondisi suatu pencarian meliputi:
1. keadaan sekarang/ awal
2. keadaan tujuan-solusi yang dijangkau dan perlu
diperiksa
apakah telah mencapai sasaran
3. biaya atau nilai yang diperoleh dari solusi.
Proses pencarian dapat dilakukan yaitu 1. Memeriksa keadaan sekarang/awal
2. Mengeksekusi aksi yang dibolehkan untuk
memindahkan ke keadaan berikutnya 3. Memeriksa jika keadaan baru merupakan solusinya. Jika tidak, keadaan baru tersebut menjadi keadaan sekarang dan proses ini diulangi sampai solusi ditemukan atau ruang keadaan habis terpakai. Masalah pencarian merupakan pencarian solusi yang direncanakan, yang mencari lintasan dari keadaan sekarang sampai keadaan tujuan. Masalah pencarian didefinisikan sebagai: 1. state apace (ruang keadaan) 2. start node (permulaan simpul) 3. kondisi tujuan dan uji untuk mengecek apakah kondisi tujuan ditemukan atau tidak. 4. kaidah yang memberikan bagaimana mengubah keadaan Strategi pencarian mendalam (Exhaustive Search Strategy) mungkin dilakukan dengan menggunakan strategi Breadth First Search dan Depth First Search (Interative Deepening). Kedua pencarian ini merupakan pencarian buta (blind search). Breadth First Search (BFS) merupakan pencarian yang dilakukan dengan mengunjungi tiap tiap node secara sistematis pada setiap level hingga keadaan tujuan (goal state) ditemukan. Depth First Search (DFS) metode pencarian dari node awal secara mendalam hingga yang paling akhir (dead end) atau sampai ditemukan. BFS
Pencarian yang dilakukan setiap level hingga
keadaan tujuan (goal state) ditemukan. Penelusuran dilakukan dengan menggunjungi node node pada level yang sama hingga ditemukan goal state. 1. Open = [A]; CLOSED =[];
2. Open = [B, C]; Closed =[A];
3. Open = [C, D, E]; Closed =[A, B];
4. Open = [D, E, F, G]; Closed =[A, B, C];
5. Open = [E, F, G]; Closed =[A, B, C, D];
6. Open = [F, G]; Closed =[A, B, C, D, E];
7. Open = [G]; Closed =[A, B, C, D, E, F];
8. Open = []; Closed =[A, B, C, D, E, F, G];
Pencarian buta (Uninformed atau blind search) umumnya kurang efisien. Hal ini disebabkan oleh waktu akses yang cukup lama dan besarnya memori yang diperlukan. GEORGE POYLA mendefinisikan heuristik sebagai studi metode dan kaidah penemuan. Pemecahan masalah AI menggunakan heuristik dalam dua situasi dasar: 1. Permasalahan yang mungkin tidak mempunyai solusi yang pasti disebabkan oleh ambigitas (keraguan/ketidakpastian) mendasar dalam pernyataan permasalahan atau data yang tersedia. 2. Permasalahan yang boleh jadi memiliki solusi pasti, tetapi biaya komputasinya untuk mendapatkan solusi tersebut mungkin sangat tinggi. Generate and test metode generate and test (pembangkitan dan pengujian) merupakan metode yang paling sederhana dalam pencarian heuristic.
algoritma generate and test pada prinsipnya
merupakan gabungan antara teknik pencarian depth first dan breadth first yaitu bergerak ke belakang menuju suatu keadaan awal. Nilai pengujiannya berupa ya atau tidak. Algoritma untuk generate and test adalah: 1. Bangkitkan suatu solusi yang mungkin
2. Uji untuk melihat apakah node tersebut benar
benar merupakan solusinya dengan cara membandingkan titik yang dipilih atau titik akhir dari suatu lintasan yang dipilih dengan kumpulan ujian yang dapat diterima atau diharapkan. 3. Jika solusi didapatkan maka keluar. Jika tidak maka ulangi kembali langkah pertama. Algoritma untuk simple hill climbing yaitu: 1. Mulai dari keadaan awal, lakukan pengujian. Jika merupakan tujuan maka berhenti. Jika sebaliknya, lanjutkan dengan keadaan sekarang sebagai keadaan awal. 2. Ulangi langkah2 berikut hingga solusi ditemukan, atau sampai tidak ada operator baru yang akan di aplikasikan pada keadaan sekarang. Pada simple hill climbing, ada 3 masalah yang mungkin: 1. Algoritma akan berhenti saat mencampai nilai optimum. 2. Urutan penggunaan operator akan sangat berpengaruh pada penemuan solusi. 3. Tidak diizinkan untuk melihat satupun langkah sebelumnya. Metode Best First Search ini merupakan kombinasi dari beberapa kelebihan teknik depth first search dan breadth first search.