Anda di halaman 1dari 30

Metode Pencarian dan Pelacakan

• Keberhasilan dari suatu sistem cerdas adalah kesuksesan dalam pencarian.


• Pencarian adalah suatu proses mencari solusi dari suatu permasalahan melalui
sekumpulan kemungkinan ruang keadaan (state space).
• Ruang keadaan merupakan suatu ruang yang berisi semua keadaan yang mungkin.
• Kriteria yang digunakan untuk mengukur performansi metode pencarian adalah :
1. Completeness : Apakah metode tersebut menjamin penemuan solusi jika solusinya memang ada?
2. Time Complexity : Berapa lama waktu yang diperlukan?
3. Space Complexity : Berapa banyak memori yang diperlukan ?
4. Optimality : Apakah metode tersebut menjamin menemukan solusi yang terbaik jika terdapat
beberapa solusi berbeda ?
Metode Pencarian dan Pelacakan
• Metode Pencarian Buta (Blind Search)
 Breadth First Search (Pencarian Melebar Pertama)
 Depth First Search (Pencarian Mendalam Pertama)

• Metode Pencarian Heuristik


 Generate And Test (Pembangkit dan Pengujian)
 Hill Climbing (Pendakian Bukit)
Metode Pencarian Buta
(Blind Search)
Metode Breadth First Search
(Pencarian Melebar Pertama)
• Metode breadth first search semua node pada level n akan dikunjungi
dahulu sebelum mengunjungi node pada level n+1.
• Pencarian dimulai dari node akar terus ke level 1 dari kiri ke kanan.
Kemudia pindah ke level berikutnya dari kiri ke kanan sampai
ditemukan solusinya.
Gambaran Metode Breadth First Search
Algoritma Breadth First Search
Prosedur breadth_first_search Ambillah turunan diujung kanan open
sesuai urutan penemuan-nya;
Inisialisasi: open = [start]; closed [ ]
End.
While open = [ ] do
Begin
Hapuskan keadaan paling kiri dari keadaan open,
sebutlah keadaan itu dengan X;
If X merupakan tujuan then return (sukses);
Buatlah semua child dari X;
Ambillah X dan masukkan pada closed;
Eliminasilah setiap child X yang telah berada
pad aopen atau closed, yang akan
menyebabkan loop dalam search;
Algoritma Breadth First Search
• Traversal dimulai dari simpul v.
• Algoritma :
1. Kunjungi simpul v.
2. Kunjungi semua simpul yang bertetangga dengan simpul vterlebih dahulu.
3. Kunjungi simpul yang belum dikunjungi dan bertetangga dengan simpul
yang dikunjungi, demikian seterusnya.
• Jika graf berbentuk pohon berakar, semua simpul pada aras d dikunjungi
terlebih dahulu sebelum mengunjungi simpul pada aras d+1.
Keuntungan dan Kekurangan Metode
Breadth First Search
Keuntungan Kekurangan
• Tidak akan menemui jalan buntu. • Membutuhkan memori yang banyak
karena menyimpan semua node dalam
• Jika ada satu solusi maka breadth satu pohon.
first search akan menemukannya. • Membutuhkan waktu yang lama karena
menguji n level untuk mendapatkan
• Jika solusi lebih dari satu maka solusi pada level ke- (n+1).
solusi minimum yang ditemukan. • Ruang masalah yang besar sehingga
tidak cocok karena keterbatasan
kecepatan memori komputer.
Metode Depth First Search
(Pencarian Kedalam Pertama)
• Proses pencarian dilakukan padasemua anaknya sebelum dilakukan
pencarian ke node yang selevel.
• Pencarian dilakukan mulai dari node akar menuju ke level yang lebih
tinggi. Proses diulangi terus menerus hingga ditemukan solusinya.
Gambaran Metode Depth First Search
Algoritma Depth First Search
Prosedur depth_first_search Ambilah child X yang tersisa diujung kanan open
sesuai urutan penemuannya;
Inisialisasi: open = [Start]; closed = []
End
While open x [] do
Begin
Hapuskan keadaan berikutnya dari sebelah kiri open,
sebutlah itu denganX;
If X merupakan tujuan then return (sukses);
Buatlah semua child yang dimungkinkan dari X;
Ambilah X dan masukkan pada closed;
Eliminasilah setiap child X yang telah
berada pada open atau closed, yang
akan menyebabkan loop dalam search;
Algoritma Depth First Search
• Traversal dimulai dari simoul v.
• Algoritma :
1. Kunjungi simpul v.
2. Kunjungi simpul w yang bertetangga dengan simpul v.
3. Ulangi DFS mulai dari simpul w.
4. Ketika mencapai simpul u, semua simpul yang bertetangga dengan simpul u telah
dikunjungi. Pencarian backtracking ke simpul terakhir yang dikunjungi.
5. Pencarian berakhir bila sudah tidak adalagi simpul yang belum dikunjungi yang
didapat dari simpul yang telah dikunjungi.
Keuntungan dan Kekurangan Metode
Depth First Search
Keuntungan Kekurangan
• Membutuhkan memori yang • Memungkinkan tidak
relative kecil, karena hanya node ditemukan tujuan yang
pada lintasan aktif yang disimpan. diharapkan.
• Metode depth first search akan • Hanya akan menemukan satu
menemukan solusi tanpa harus
solusi pada setiap pencarian.
menguji lebih banyak lagi dalam
ruang keadaan.
Contoh Beardth First Search dan Depth First
Search
• Traversal dari simpul 1 • Traversal dari simpul A
(Gambar a) (Gambar b)
Hasil
• Beardth First Search • Depth First Search
Gambar (a) : 1-2-3-4-5-6-7-8 Gambar (a) : 1-2-4-8-5-6-3-7
Gambar (b) : A-B-C-D-E-F-G-H-I Gambar (b) : A-B-E-H-I-F-C-G-D
Metode Pencarian Heuristik
Metode Pencarian Heuristik
• Heuristik adalah teknik yang digunakan untuk melakukan suatu
pencarian dengan mengorbankan kelengkapan (completeness)
• Heuristik digunakan untuk mencari masalah/problem dan menentukan
untuk mendapatkan solusi yang diinginkan.
Jenis Heuristic Searching
• Generate and Test
• Hill Climbing
• Best First Search
• Alpha Beta Prunning. Means End Analysis, Constraint Statisfaction,
Simulated Annealing
Generate and Test
• Metode pencarian yang merupakan penggabungan antara Depth First Search
dengan Pelacakan Backtracking (Bergerak ke belakang menuju ke keadaan awal).
• Algoritma Generate and Test:
1. Bangkitkan suatu kemungkinan solusi (membangkitkan suatu titik tertentu atau
lintasan tertentu dari keadaan awal).
2. Uji untuk melihat apakah node tersebut benar-benar merupakan solusinya dengan
cara membandingkan node terebut atau node akhir dari suatu lintasan yang dipilih
dengan kumpulan tujuan yang diharapkan.
3. Jika solusi ditemukan, keluar. Jika tidak, ulangi kembali langkah pertama.
Contoh Generate and Test
Kasus Travelling Salesman
Problem (TSP)
Seorang salesman ingin mengunjungi n
kota. Jarak antara tiap-tiap kota
sudah diketahui. Kita ingin
mengetahui rute terpendek dimana
setiap kota hanya boleh dikunjungi
tepat 1 kali. Misalkan ada 4 kota
dengan jarak antara tiap-tiap kota
seperti berikut ini :
Penyelesaian Metode
Generate and Test
Alur Pencarian Generate and Test
Pencarian Ke- Lintasan Panjang Lintasan Lintasan Terpilih Panjang Lintasan
Terpilih
1 ABCD 19 ABCD 19

2 ABDC 18 ABDC 18

3 ACBD 12 ACBD 12

4 ACDB 13 ACBD 12

5 ADCB 18 ACBD 12

6 ADBC 16 ACBD 12

Dst ...
Hasil Metode Generate and Test
• Total Pencarian = 24 lintasan
Kelemahan Generate and Test :
• Lintasan yang terpilih = ACBD 1. Harus membangkitkan semua
• Panjang lintasan yang terpilih = 12 kemungkinan
pengujian.
sebelum dilakukan

2. Membutuhkan waktu yang cukup


lama dalam pencarian.
Hill Climbing
• Metode pencarian yang mirip dengan metode Generate and Test tetapi
menggunakan fungsi heurustic.
• Generate pada keadaan berikutnya tergantung pada feedback dari test yang
dilakukan. Fungsi heuristic yang dilakukan menunjukkan seberapa baik nilai yang
akan diambil terhadap keadaan yang mungkin.
• Tiga masalah dalam Simple Hill Climbing :
1. Algoritma akan berhenti kalau mencapai nilai optimum local
2. Urutan penggunaan operator akan sangat berpengaruh pada penemuan solusi
3. Tidak diijinkan untuk melihat satupun langkah sebelumnya
Algoritma Simple Hill Climbing
• Kerjakan langkah-langkah berikut sampai solusinya ditemukan atau sampai tidak
ada operator baru yang akan diaplikasikan pada keadaan sekarang :
1. Cari operator yang belum digunakan; gunakan operator ini untuk mendapatkan
keadaan yang baru.
2. Evaluasi keadaan baru tersebut :
 Jika keadaan baru merupakan tujuan, keluar
 Jika bukan tujuan, namun nilainya lebih baik daripada keadaan sekarang, maka jadikan
keadaan baru tersebut menjadi keadaan sekarang.
 Jika keadaan baru tidak lebih baik daripada keadaan sekarang, maka lanjutkan iterasi
Contoh Simple Hill Climbing
• Kasus TSP (Traveling Salesmen Problem)
Ruang keadaan berisi semua kemungkinan lintasan yang mungkin.
Operator digunakan untuk menukar posisi kota yang bersebelahan.
Apabila ada n kota dan ingin mencari kombinasi lintasan maka dengan
cara menukar posisi urutan 2 kota, n kombinasi 2.
Kombinasi yang didapat sebanyak 6 kombinasi atau dengan
menggunakan rumus :
Kombinasi Simple Hill Climbing
• Tukar 1,2 : Tukar kota ke-1 dengan kota ke-2
• Tukar 2,3 : Tukar kota ke-2 dengan kota ke-3
• Tukar 3,4 : Tukar kota ke-3 dengan kota ke-4
• Tukar 4,1 : Tukar kota ke-4 dengan kota ke-1
• Tukar 2,4 : Tukar kota ke-2 dengan kota ke-4
• Tukar 1,3 : Tukar kota ke-1 dengan kota ke-3
Penyelesaian
Metode
Simple Hill
Climbing
Penyelesaian
Metode Simple
Hill Climbing
Hasil Metode Simpel Hill Climbing
• Panjang lintasan yang dihasilkan dari fungsi heuristic = 12
• Tahapan heuristic 6 kombinasi = level 5
• Jalur lintasan yang dipilih dengan fungsi heuristik = DBCA

Anda mungkin juga menyukai