Anda di halaman 1dari 39

Materi kedua

Teknik Dasar Pencarian

Ruri Hartika Zain, S.Kom, M.Kom

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.

Anda mungkin juga menyukai