Blind Search
merupakan pencarian asal ketemu. Jika solusi sudah ketemu, maka pencarian akan
dihentikan. Jika dibuat skemanya, pencarian buta hanya mengenal tiga bagian,
[masalah]-[pencarian]-[solusi]. Misalkan dalam kotak ada 3 kelereng warna
merah, 3 biru, dan 3 kuning. Masalahnya adalah, ambillah satu kelereng yang
berwarna merah. Solusi, setelah melakukan pencarian, kemudian didapat satu
kelereng warna merah, nah, itulah solusinya
Ada
dua jenis pencarian buta (blind search) :
1.
Pencarian melebar pertama (Breadth –
First Search)
Pada
Breadth – First Search semua node pada level n akan dikunjungi terlebih
dahulu sebelum mengunjungi node-node pada level n+1. Pencarian dimulai dari node
akar terus ke level 1 dari kiri ke kanan, kemudian berpindah ke level
berikutnya dari kiri ke kanan hingga solusi ditemukan.
Keuntungannya
:
·
Tidak akan menemui jalan
buntu, menjamin ditemukannya solusi (jika solusinya memang ada) dan solusi yang
ditemukan pasti solusi yang paling baik
·
Jika ada 1 solusi, maka breadth
– first search akan menemukannya
·
Jika ada lebih dari
1 solusi, maka solusi minimum akan ditemukan
Kerugiannya
:
·
Membutuhkan memori yang
banyak, karena harus menyimpan semua simpul yang pernah dibangkitkan dan hal
ini harus dilakukan agar BFS dapat melakukan penelusuran simpul-simpul sampai
di level bawah
·
Membutuhkan waktu yang
cukup lama
2. Pencarian
mendalam pertama (Depth – First Search)
Pada
pencarian Depth – First Search dilakukan pada suatu simpul dalam setiap
level dari yang paling kiri. Jika pada level yang paling dalam tidak ditemukan
solusi, maka pencarian dilanjutkan pada simpul sebelah kanan dan simpul yang
kiri dapat dihapus dari memori. Jika pada level yang paling dalam tidak
ditemukan solusi, maka pencarian dilanjutkan pada level sebelumnya. Demikian
seterusnya sampai ditemukan solusi.
Keuntungannnya
:
Membutuhkan memori relatif
kecil, karena hanya node-node pada lintasan yang aktif saja yang disimpan
·
Dan secara kebetulan, akan
menemukan solusi tanpa harus menguji lebih banyak lagi dalam ruang keadaan,
jadi jika solusi yang dicari berada pada level yang dalam dan paling kiri, maka
DFS akan menemukannya dengan cepat (waktunya cepat)
Kerugiannya :
·
Memungkinkan tidak
ditemukannya atau tidak adanya tujuan yang diharapkan, karena jika pohon yang
dibangkitkan mempunyai level yang sangat dalam (tak terhingga) à tidak complete karena tidak ada jaminan akan menemukan solusi
·
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
Penerapan Algoritma Blind Search :
·
Breadth First Search (BFS)
·
Depth First Search (DFS)
·
Uniform Cost Search (UCS)
·
Depth-Limited Search (DLS)
·
Iterative-Deeping Search (IDS)