Anda di halaman 1dari 30

Terakreditasi

searching

INSTITUT TEKNOLOGI NASIONAL


MALANG

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

Simpul S merupakan awal dan simpul Z adalah tujuan


Struktur Tree dari Graph
diatas adalah: 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
• 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

Lintasannya adalah: S-B-C-E-Z


C. Hill Climbing Search
4 S 3
A B
5 3

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

• Metode ini sama dengan Branch and Bound


• Hanya saja dilakukan reduksi lintasan parsial yang menuju
kesuatu node yang pernah dikunjungi sebelumnya.
• Pada metode ini diperlukan estimasi jarak pada tiap node
menuju Goal.
C. Branch and Bound dengan Dynamic Programming
A. Metode Minimax
• John von Neumann di tahun 1944 menguraikan sebuah
algoritma pencarian pada game yang dikenal dengan nama
Minimax.
• Metode ini berjalan dengan melakukan proses pada tiap level.
• Proses yang dilakukan bergantian yaitu mencari nilai minimum
yang kemudian pada node parent-nya dilakukan pencarian
untuk nilai maksimumnya.
B. Alpha Beta Prunning
• Kondisi awal dari sebuah keadaan seperti pada Gambar
B. Alpha Beta Prunning
• Kondisi awal dari sebuah keadaan seperti pada Gambar
TERIMAKASIH

Anda mungkin juga menyukai