Anda di halaman 1dari 36

Teknik Dasar Pencarian

(Blind Search)
Vihi Atina, S.Kom., M.Kom.
Pendahuluan
• Pencarian atau pelacakan merupakan salah satu
teknik untuk menyelesaikan permasalahan
kecerdasan buatan.
• Keberhasilan suatu sistem salah satunya
ditentukan oleh kesuksesan dalam pencarian.
• Teknik dasar pencarian memberikan suatu
kunci bagi penyelesaian dalam bidang
kecerdasan buatan.
Pendahuluan
• Beberapa aplikasi yang menggunakan teknik
pencarian :
1. Papan game dan puzzle (tic-tac-toe, catur, menara
hanoi)
2. Penjadwalan dan masalah routing (travelling
salesman problem)
3. Parsing bahasa dan intepretasinya (pencarian
struktur dan arti)
4. Logika pemrograman (pencarian fakta dan
implikasinya)
5. Computer vision dan pengenalan pola
6. Sistem pakar berbasis kaidah (rule based expert
system)
Pencarian Sebagai Teknik Pemecahan
Masalah
• Pencarian adalah suatu proses mencari dari
suatu permasalahan melalui sekumpulan
kemungkinan ruang keadaan (state space).
• Ruang keadaan merupakan suatu ruang yang
berisi semua yang mungkin.
Pencarian Sebagai Teknik Pemecahan
Masalah
• 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
• Solusi merupakan suatu lintasan dari keadaan
awal sampai keadaan tujuan.
Pencarian Sebagai Teknik Pemecahan
Masalah
• Secara umum proses pencarian dapat
dilakukan seperti berikut :
1. Memeriksa keadaan sekarang/ awal
2. Mengeksekusi aksi yang dibolehkan untuk
memindahkan ke kedaan 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
• Masalah pencarian didefinisikan sebagai :
1. State space (ruang keadaan)
2. Start node (permulaan keadaan)
3. Kondisi tujuan dan uji untuk mengecek apakah
kondisi tujuan ditemukan atau tidak
4. Kaidah yang memberikan bagaimana mengubah
keadaan
Kriteria Perfomansi
Metode Pencarian
• Untuk mengukur perfomansi metode pencarian,
terdapat 4 kriteria yang dapat digunakan :
1. Completeness (Kelengkapan)
2. Time complexity (Kekompleksan Waktu)
3. Space complexity (Kekompleksan Ruang)
4. Optimality (Optimal)
Kriteria Perfomansi
Metode Pencarian
1. Completeness (Kelengkapan): apakah
algoritma pencarian tersebut menjamin
penemuan solusi jika solusinya memang ada?
2. Time complexity (Kekompleksan Waktu) :
berapa lama waktu yang diperlukan untuk
mendapatkan solusi?
Kriteria Perfomansi
Metode Pencarian
3. Space complexity (Kekompleksan Ruang) :
berapa banyak memori yang diperlukan untuk
melakukan pencarian?
4. Optimality (Optimal): apakah algoritma
pencarian tersebut menjamin menemukan
solusi yang terbaik jika terdapat beberapa
solusi berbeda?
Teknik Pencarian

Pada dasarnya dalam kecerdasan buatan


terdapat 2 teknik pencarian dan pelacakan
yang biasa digunakan :
1. Pencarian Buta (Blind Search)
2. Pencarian Terbimbing (Heuristic
Search)
Pencarian Buta (Blind Search)
• Tidak ada informasi awal yang
digunakan dalam proses pencarian.
• Jenis teknik pencarian Blind Search
(Uninformed Search) :
1. Breadth First Search (BFS)
2. Depth First Search (DFS)
Breadth First Search (BFS)
• Prosedur Breadth First Search merupakan
pencarian yang dilakuan dengan mengunjungi
tiap-tiap node secara sistematis pada setiap
level hingga keadaan tujuan (goal state)
ditemukan.
• Penulusuran dilakukan dengan mengunjungi
node-node pada level yang sama hingga
ditemukan goal state-nya.
Breadth First Search (BFS)
• Semua node pada level n akan dikunjungi
terlebih dahulu sebelum level n+1
• Mulai dari akar terus ke level 1 dari kiri ke
kanan
• Kemudian ke level selanjutnya hingga solusi
ditemukan
Breadth First Search (BFS)
• Contoh :
Dari : S
Tujuan : G

Jalur Pencarian dengan BFS :


S–A–B–C–D –E–F– H- G
Breadth First Search (BFS)
• Keuntungan :
1. Tidak akan menemui jalan buntu.
2. Menjamin ditemukannya solusi (jika
solusinya memang ada) .
3. Jika ada 1 solusi maka bread-first search
akan menemukannya.
4. Jika ada lebih dari 1 solusi, maka solusi
minimum akan ditemukan.
5. Kesimpulan : complete dan optimal.
Breadth First Search (BFS)
• Kelemahan:
1. Membutuhkan memori yang cukup
banyak karena menyimpan semua node
dalam satu pohon
2. Membutuhkan waktu yang cukup lama,
karena akan menguji n level untuk
mendapatkan solusi pada level yang ke
(n+1)
Depth First Search (DFS)
• Pencarian dengan metode Depth First Search
dilakukan dari node awal secara mendalam
hingga yang paling akhir (dead-end) atau sampai
ditemukan.
• Proses pencarian dilakukan pada semua anaknya
sebelum dilakukan pencarian ke node-node yang
selevel.
• Pencarian dimulai dari node akar ke level yang
lebih tinggi.
• Proses diulangi terus hingga ditemukan solusi.
Depth First Search (DFS)
• Proses pencarian dilakukan dengan mengunjungi
cabang terlebih dahulu hingga tiba di simpul
terakhir.
• Jika tujuan yang diinginkan belum tercapai maka
pencarian dilanjutkan ke cabang sebelumnya,
turun ke bawah jika memang masih ada
cabangnya.
• Begitu seterusnya hingga diperoleh tujuah akhir
(goal).
• Operasi semacam ini dikenal dengan sebutan
backtracing.
Depth First Search (DFS)
• Contoh :
Dari : S
Tujuan : G

Jalur Pencarian dengan DFS :


S–A–C–D– B–E–H - G
Depth First Search (DFS)
• Keuntungan :
1. Membutuhkan memori relatif kecil, karena
hanya node-node pada lintasan yang aktif saja
yang disimpan .
2. Cepat mencapai kedalaman ruang pencarian,
jika diketahui lintasan solusi permasalahan
panjang maka tidak memboroskan waktu.
3. Lebih efisien untuk ruang pencarian dengan
banyak cabang karena tak perlu mengevaluasi
semua simpul pada suatu level tertentu.
Depth First Search (DFS)
• Kelemahan:
1. Memungkinkan tidak ditemukannya tujuan
yang diharapkan karena jika pohon yang
dibangkitkan mempunyai level yang sangat
dalam (tak terhingga).
2. Hanya mendapat 1 solusi pada setiap
pencarian, karena jika terdapat lebih dari satu
solusi yang sama tetapi berada pada level yang
berbeda, maka DFS tidak menjamin untuk
menemukan solusi yang paling baik (tidak
optimal).
Latihan Soal
• Telusurilah pencarian dengan metode BFS dan
DFS dari S untuk mencapai tujuan node N. Beri
kesimpulan !
Penerapan Metode BFS dan DFS
• Permasalahan :
– Pada suatu hari ada seorang petani yang
mempunyai seekor kambing dan serigala.
– Pada saat itu ia baru saja panen sayuran.
Karena membutuhkan uang, petani tersebut
hendak menjual kambing, sayuran dan
serigalanya ke pasar.
Penerapan Metode BFS dan DFS
• Permasalahan :
– Untuk sampai ke pasar, ia harus
menyebrangi sebuah sungai.
– Permasalahannya adalah sungai itu hanya
tersedia satu perahu saja yang bisa memuat
petani dan satu penumpang lainnya
(kambing, sayuran atau serigala).
– Jika ditinggalkan oleh petani tersebut, maka
sayuran akan dimakan kambing dan
kambing akan dimakan serigala.
Penerapan Metode BFS dan DFS
• Permasalahan :
– Bagaimana caranya agar petani, kambing,
sayuran dan serigala dapat selamat
menyebrangi sungai?
Penerapan Metode BFS dan DFS
• Penyelesaian Masalah :
1. Mendefinisikan suatu ruang keadaan;
2. Menetapkan satu atau lebih keadaan awal;
3. Menetapkan satu atau lebih tujuan;
4. Menetapkan kumpulan aturan.
Penerapan Metode BFS dan DFS
1. Mendefinisikan suatu ruang keadaan :
a. Petani = (P)
b. Sayuran = (Sy)
c. Kambing = (K)
d. Serigala = (Sg)
Penerapan Metode BFS dan DFS

2. Menetapkan satu atau lebih keadaan awal


:
– Daerah Asal = (P, Sy, K, Sg)
– Daerah seberang = (0, 0, 0, 0)
Penerapan Metode BFS dan DFS

3. Menetapkan satu atau lebih tujuan :


Daerah Asal = (0, 0, 0, 0)
Daerah seberang = (P, Sy, K, Sg)
Penerapan Metode BFS dan DFS
4. Menetapkan kumpulan aturan :
Penerapan Metode BFS dan DFS
Penyelesaian :
Penerapan Metode BFS dan DFS
Keterangan :
1. Kambing dan Petani menyebrang
7. Petani kembali
3. Serigala dan Petani menyebrang
4. Kambing dan Petani kembali
2. Sayuran dan Petani menyebrang
7. Petani Kembali
1. Kambing dan Petani menyebrang
Penerapan Metode BFS
Penerapan Metode DFS
END OF SLIDE

Anda mungkin juga menyukai