10 Searching
10 Searching
searching
www.itn.ac.id
CLO
Mengimplementasikan
penyelesaian sederhana
dengan searching
Bahan Kajian
Pencarian Buta
Metode Penyelesaian
Searching Optimum
Permainan
Pencarian Buta
Penyelesaian Optimum Penyelesaian Optimum
• Breadth-First
• Depth-First
• Hill Climbing
• Beam
• Best-First
FITRI UTAMINIGRUM
Penyelesaian Optimum
Pencarian Buta Penyelesaian Optimum
• British Museum
• Branch and Bound
• Dynamic Programming
Penyelesaian Optimum
Pencarian Buta Penyelesaian Optimum
• Minimax
• Alpha-Beta Prunning
Pohon Pelacakan (Tree)
• Struktur pohon digunakan untuk menghindari kemungkinan
adanya proses pelacakan suatu node secara berulang
• Struktur pohon digunakan untuk menggambarkan keadaan
secara hirarkis
Contoh Graph yang berisi Path antar Kota
B D A C
C C F D E D
E D B E C F Z A F
Z F Z E
Z
A. Breadth-First Search
• Pada metode 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 ke-1 dari kiri
kekanan, kemudian berpindah ke level berikutnya demikian
pula dari kiri kekanan sampai ditemukannya solusi.
A. Breadth-First Search
S
A B
B D A C
C C F D E D
E D B E C F Z A F
Z F Z E
Z
A. Breadth-First Search
Algoritme
• Buat sebuah antrian, inisialisasi node pertama dengan Root dari Tree
• Bila node pertama tidak samadengan GOAL, maka diganti dengan
anak-anaknya dan diletakkan dibelakang PER LEVEL.
• Bila node pertama = GOAL maka selesai
A. Breadth-First Search
......
......
......
Danseterusnya..
Lintasannya: S-B-C-E-Z
B. Depth-First Search
• Pada Depth First Search:Proses akan dilakukan pada semua
anaknya sebelum dilakukan pencarian ke node-node yang
selevel.
• Pencarian dimulai dari node akar ke level yang lebih tinggi.
• Proses ini diulangi terus sampai ditemukan solusinya.
B. Depth-First Search
Algoritme
• Buat sebuah antrian, inisialisasi node pertama dengan Root dari
Tree
• Bila node pertama tidak samadengan GOAL, maka node dihapus
dan diganti dengan anak-anaknya dengan urutan L-Child
• Bila node pertama = GOAL maka selesai
B. Depth-First Search
Lintasannya: S-A-B-C-E-Z
B. Depth-First Search S
A B
B D A C
C C F D E D
E D B E C F Z A F
Z F Z E
Z
C. Hill Climbing Search
Algoritme
• Buat sebuah antrian, inisialisasi node pertama dengan Root
dari Tree
• Bila node pertama tidak samadengan GOAL, maka node
dihapus dan diganti dengan anak-anaknya dengan urutan yang
paling kecil jaraknya.
• Bila node pertama = GOAL maka selesai
C. Hill Climbing Search
B D A C
2 5
C C F D E D
2
E D B E C F Z A F
Z F Z E
Z
D. Best First Search
• Merupakan kombinasi dari metode Depth First Search
dan Breadth First Search.
• Proses dilakukan dengan melakukan penelusuran
terhadap setiap node yang memiliki estimasi terpendek.
D. Best First Search
Algoritme
• Buat sebuah antrian, inisialisasi node pertama dengan Root dari Tree
• Bila node pertama tidak samadengan GOAL, maka node dihapus dan
diganti dengan anak-anaknya, kemudian keseluruhan node yang ada
di Queue di-sort Ascending.
• Bila node pertama = GOAL maka selesai
D. Best First Search S
A B
B D A C
C C F D E D
E D B E C F Z A F
Z F Z E
Z
A. Branch and Bound
Pada metode ini tidak diperlukan estimasi jarak tiap node
menuju GOAL
Algoritme:
• Buat sebuah antrian, inisialisasi node pertama dengan
Root dari Tree
• Bila node pertama tidak samadengan GOAL, maka lintasan
parsial diganti dengan lintasan parsial+node child,
semuanya diatur berdasarkan harga yang diurut secara
ascending
• Bila node pertama = GOAL maka selesai
PENCARIAN OPTIMAL
C. Branch and Bound dengan Dynamic Programming