420 likes | 660 Views
Pertemuan III. Pencarian Tanpa Informasi BFS DFS Uniform Search Iterative Deepening Bidirectional Search. Tujuan Instruksional. Mahasiswa dapat merancang dan mengkodekan algoritma pencarian : Greedy search BFS DFS Uniform search Iterative deepening search Bidirectional search
E N D
Pertemuan III PencarianTanpaInformasi BFS DFS Uniform Search Iterative Deepening Bidirectional Search
Tujuan Instruksional • Mahasiswadapatmerancangdanmengkodekanalgoritmapencarian: • Greedy search • BFS • DFS • Uniform search • Iterative deepening search • Bidirectional search • Mahasiswadapat menganalisis sebuahalgoritmapencariandarisisi: • Kompleksitaswaktu • Kompleksitasruang • Terminasialgoritma • Optimasi
Konsep Pencarian • Himpunan keadaan • Operator dan biaya • Keadaan awal • Tes untuk menentukan tujuan tercapai atau tidak
Contoh Situasi Pencarian Anda kehilangan sesuatu di rumah, dan ingin menemukannya.
Data Tipe dalam Algoritma Pencarian • List OPEN (Fringe) and CLOSED • Graph: Node (State), Arc (Cost) • Search Space / Tree
Evaluasi Strategi Pencarian • Kelengkapan (completeness): apakahdapatdiberikangaransibahwasolusiterdapatdalamruangpencarian? • Optimal (optimality): apakahsolusi yang akandidapatkan merupakan kualitas terbaik (hanya memerlukanbiaya minimal/ jalur terpendek)? • Bagaimanadenganpenghitunganbiayapencarian, dikaitkandenganwaktudanruangpencarian? • Kompleksitaswaktu: Waktu yang diperlukan (jumlahsimpul yang dibuka) buruk atausesuaidengankasus yang terjadi. • Kompleksitasruang: Ruang yang dipakaiolehalgoritma, diukurdariukuran (jumlah) bukaan fringe yang terbentuk.
Pendekatan terhadap Algoritma Pencarian • Pencarian exhaustive search (brute force) • Pencarian buta (blind search): BFS, DFS • Pencarian dengan informasi: heuristik • Pencarian dengan batasan (constraints satisfaction) • Pencarian saling berlawanan (adversary)
Pohon Pencarian • Deskripsi keadaan • Pointer ke parent • Kedalaman simpul • Operator yang membuka simpul ini • Biaya total dari simpul awal sampai simpul ini • Root node • Leaf node • Branching factor • Ancestor / descendant • Path • Level
Properti BFS • Komplit • Optimal • Eksponensial • b + b2 + ... + bd = (b(d+1) - 1)
Keuntungan dan Kerugian BFS • KeuntunganBFS: Menemukanjalursolusidenganjalurtersingkat, karenaselalumengambillebardaripohonpencarian. • KerugianBFS: Memerlukanruangdanwaktupencarian yang eksponensialpadakedalamanpencarian.
Uniform Cost Search • Modifikasi BFS untuk mendapatkan biaya terendah sepanjang jalur pencarian, bukan hanya dilihat dari solusi yang didapat saja. (lowest cost vs. lowest depth) • Urutan biaya selalu menaik • g(SUCCESSOR(n)) > g(n) • g(n) = biaya jalur pencarian dari titik awal sampai node n. • Properti dari algoritma pencarian ini adalah: komplit, optimal / admissible, dan exponensial dalam kompleksiatas waktu dan ruang, O(bd).
Uniform Cost Search Pada graf di atas, proses pencarian berlangsung sebagai berikut: 1. OPEN S (start) 2. OPEN A, B, C (cost = 1, 5, 15) 3. OPEN B, G, C (cost = 5, 11, 15) 4. OPEN G, G, C (cost = 10, 11, 15) 5. SOLUTION G (path S-B-G)
PropertiDFS • Kompleksitas waktu O(bd) • Kompleksitas ruang O(bN) tidak komplit • N = maksimum depth
PropertiDFID • Komplit • Optimal • Kompleksitas waktu: bd + 2b(d-1) + ... + db <= bd / (1 - 1/b)2 = O(bd). • Kompleksitas ruang: O(bd), seperti DFS
Bidirectional Search • Jika seandainya ada jalur yang dapat dibalik arah pencariannya, maka sebenarnya pencarian akan dapat dilakukan secara terbalik, satu memulai dari keadaan awal sampai tujuan, yang lainnya memulai dari keadaan akhir / tujuan hingga mencapai keadaan awal.
Problem PencarianDuaARah Pencarian dua arah akan berhasil dengan baik, jika ada simpul awal dan akhir yang spesifik (unik). Algoritma ini akan sulit diterapkan, jika ada lebih dari satu simpul tujuan.
PropertiPencarianDuaArah • Kompleksitas waktu dan ruang O(bd/2) • Komplit • Optimal
Pertanyaan Diketahui tabel keadaan dan jalur sebagai berikut: Gambarkan pohon ruang pencarian dari tabel di atas.
Pertanyaan (cont’d) • Asumsikan keadaan awal adalah A, dan tujuan adalah G. • Tunjukkan bagaimana proses pencarian terjadi untuk setiap algoritma berikut, gunakan pohon pencarian yang sama: • BFS, • DFS, • DFID. • Untuk setiap algoritma tampilkan isi fringe, dan bagaimana urutan pembukaan simpul terjadi. • Hitunglah pula biaya jalurnya.