7/29/2019 PTI480.05 - Uninformed Search
1/16
Uninformed SearchM Jauharul Fuady
7/29/2019 PTI480.05 - Uninformed Search
2/16
Pengantar
Problem-solving agent memecahkan masalah dalamdua tahap:
Goal and problem formulation
Masalah dinyatakan dalam state space direpresentasikandalam graph
Action adalah abstraksi tindakan yang dapat diambil
State adalah abstraksi keadaan yang dapat terjadi
Solution Search
Mencari rangkaian tindakan yang membawa agent ke goalstate
7/29/2019 PTI480.05 - Uninformed Search
3/16
Strategi Pencarian
Terdapat berbagai strategi dalam pencarian
Berbeda dalam hal urutan dari node expansion
Evaluasi strategi berdasarkan Completeness: apakah solusi (jika ada) pasti ditemukan?
Time complexity: jumlah node yang di-generate
Space complexity: maksimum node dalam memory
Optimality: apakah optimal solusi pasti ditemukan?
Time & space complexity diukur berdasarkan
bbranching factor dari search tree
ddepth (kedalaman) solusi optimal
mkedalaman maksimum dari search tree
7/29/2019 PTI480.05 - Uninformed Search
4/16
7/29/2019 PTI480.05 - Uninformed Search
5/16
Breadth-first Search
Prinsip
Lakukan node expansion terhadap node di fringe yang
paling dekat dengan root
Implementasi
Fringe adalah sebuah queue dengan data struktur FIFO
(First In First Out)
A
B C
D E F G
7/29/2019 PTI480.05 - Uninformed Search
6/16
Breadth-first Search
Evaluasi Complete? Ya, jika b terbatas
Time complexity?
b + b
2
+ b
3 + + bd
+ b(b
d1) = O(b
d+1
) Eksponensial dalam d
Space complexity? O(bd+1)
Semua node yang di-generate harus disimpan
Optimal? Ya, jika setiapstep cost sama.
Meski pada umumnya tidak optimal
Masalah utama: space
7/29/2019 PTI480.05 - Uninformed Search
7/16
7/29/2019 PTI480.05 - Uninformed Search
8/16
Uniform-cost Search
Evaluasi Complete? Ya, jika step cost untuk > 0
Time complexity? Jumlah node dengan
= (
+1)
dimana C* adalah cost dari optimal solution
Space complexity? (
+1
)
Semua node yang di-generate harus disimpan
Optimal? Ya, karena urutan node expansion dilakukanurut g(n)
7/29/2019 PTI480.05 - Uninformed Search
9/16
Depth-first Search
Prinsip
Lakukan node expansion terhadap node di fringe yang
paling jauh dari root
Implementasi
Fringe adalah sebuah stack dengan data struktur LIFO
(Last In First Out)
Rekursif A
B C
D E F G
H I J K L M N O
7/29/2019 PTI480.05 - Uninformed Search
10/16
7/29/2019 PTI480.05 - Uninformed Search
11/16
7/29/2019 PTI480.05 - Uninformed Search
12/16
Iterative-deepening Search
Prinsip
Lakukan depth-limited search secara bertahap dengan
nilai l yang incremental.
Strategi ini menggabungkan manfaat depth danbreadth first
Space complexity linear
Completeness terjamin
Lakukan depth-limited search dengan l= 0, 1, 2, sampai tidak cutoff
7/29/2019 PTI480.05 - Uninformed Search
13/16
7/29/2019 PTI480.05 - Uninformed Search
14/16
Iterative-deepening Search
Evaluasi Complete? Ya
Time complexity?
db1 + (d1)b2 + + bd = O(bd)
Space complexity? O(bd)
Optimal? Ya, jika setiapstep cost sama.
Bisa dimodifikasi seperti uniform-cost tree dengan nama
iterative lengthening search.
7/29/2019 PTI480.05 - Uninformed Search
15/16
Looping State
Kegagalan menangani masalah ini dapat membuatmasalah linier menjadi eksponensial
Ingat kembali dua definisi masalah 8-queens problem
Solusi: belajar dari sejarah
Mencatat state mana yang sudah pernah dicoba
Tambahkan list baru berupa closed list
7/29/2019 PTI480.05 - Uninformed Search
16/16
Ringkasan
Breadth-first search: completeness terjamin, tapi rakusmemory.
Uniform-cost search: mirip BFS, optimality terjamin jika
cost path untuk > 0.
Depth-first search: Space complexity linier, tetapi tidakcomplete (maupun optimal).
Depth-limited search: mirip DFS, tetapi kedalaman
search dibatasi sampai l.
Iterative-deepening search: lakukan DLS secara
bertahap dengan l= 0,1,2,....
Pengulangan state bisa dihindari dengan mencatatstate yang sudah pernah dicoba.
Top Related