Blind (Uninformed) Search
Blind (Uninformed) Search
Secara garis besar
tebagi menjadi:
- Breadth-First
Search (BFS)
- Depth-First
Search (DFS)
- Depth-Limited
Search (DLS)
- Iterative-Deepening
Search (IDS)
- Uniform
Cost Search (UCS)
- Bi-Directional
Search (BDS)
Ruang Pencarian
> Perhitungan ruang pencarian:
- Faktor percabangan (b)
- Kedalaman solusi (d)
> Contoh
- 8-Puzzle → b 2.13
- Kubus Rubik → b 13,34
- Rata-rata Permainan Catur b = 35
Breadth-First Search (BFS) Algorithm
> Menjelajahi node tetangga terlebih
dahulu, sebelum pindah ke tetangga tingkat berikutnya.
> first-in-first-out
> Ingat semua node yang dikunjungi
sebelumnya (status)
Kinerja BFS
> Selesai
- pada akhirnya akan menemukan status
kambing
> Optimal
> Kompleksitas Waktu = 0 (bd + 1)
> Kompleksitas Ruang = 0 (bd+1)
Algoritma
DFS
> Perluas node terdalam yang tidak
diperluas
> terakhir-masuk-pertama-keluar
> Hanya ingat jalur yang dikunjungi
saat ini
> Penundaan memeriksa apakah node telah
ditemukan sampai node muncul dari tumpukan daripada memeriksa sebelum
menambahkan node.
Performa DFS
> Tidak Lengkap
- mungkin tersesat di bagian grafik yang
tidak memiliki status tujuan dan tidak pernah kembali
> Tidak Optimal
-Mungkin menemukan tujuan yang tidak
optimal terlebih dahulu
> Kompleksitas Waktu = O (bm)
> Kompleksitas Ruang = 0 (bm)
- Dengan m adalah pencarian kedalaman
maksimum
Algoritma DLS
> DFS dengan area pencarian kedalaman
terbatas
> Memperbaiki masalah pohon tak
terbatas untuk DFS
> Jelajahi semua node anak - baik dicentang
atau tidak
Kinerja DLS
> Selesai if
d
> Tidak Optimal
> Kompleksitas Waktu = 0 (b )
> Kompleksitas Ruang = 0 (bl)
- Dengan adalah
pencarian kedalaman maksimum
Iterative-Deepening Search (IDS)
> BFS → lengkap dan optimal
> DFS → kompleksitas ruang rendah
> DLS → pertanyaan "seberapa
dalam?"
> IDS menggabungkan BFS dengan DFS /
DLS
> IDS lengkap, optimal, kompleksitas
ruang rendah
> Kelemahan: Kompleksitas Waktu
meningkat
IDS Algorithm
> Memanggil berulang kali algoritma DLS
dari depth = 0 hingga menemukan tujuan
Kinerja IDS
> Selesai
> Optimal
> Kompleksitas Waktu = 0 (bd)
> Kompleksitas Ruang = 0 (bd)
Uniform Cost Search (UCS)
> BFS menggunakan urutan level dari
yang terendah hingga tertinggi.
> UCS menggunakan urutan biaya dari
yang terkecil sampai yang terbesar.
> UCS mencari solusi dengan biaya total
terendah yang dihitung berdasarkan biaya node asal ke node tujuan.
> G (n) = biaya node asal ke node n.
Performa UCS
> Lengkap
> Optimal
> Kompleksitas Waktu = 0 (bd)
> Kompleksitas Ruang = 0 (bd)
Pencarian dua arah (BDS)
> Pencarian maju (dari awal awal ke
tujuan) dan pencarian mundur (dari tujuan ke awal).
> Ketika dua pencarian mencapai node
yang sama, maka solusinya telah ditemukan.
> Gabungkan dua jalur.
Performa BDS
> Lengkap
> Optimal
> Kompleksitas Waktu = 0 (b d/2)
> Kompleksitas Ruang = 0 (b d/2)
Masalah dengan BDS
> Pencarian dua arah kelihatannya
menarik karena kinerjanya 0 (bd/2), tetapi tidak semudah itu,
terutama pada bagian implementasi.
- Require Reversal Operator
> Tidaklah mudah untuk merumuskan
masalah sedemikian rupa sehingga setiap state dapat dibalik, yaitu berpindah
dari head ke tail seperti berpindah dari tail ke head.
-
Tidak semua operator bisa dibalik
Masalah dengan BDS
> Harus selalu menguji apakah node yang
baru dihasilkan telah dimunculkan dengan mencari di arah yang berlawanan
> Rentan jika ada beberapa node tujuan
yang berbeda
Comments
Post a Comment