Pertemuan 6 Metode Pencarian Betha Nurina Sari, M.Kom
Blind Searching / Uninformed Search TOPIK BAHASAN Blind Searching / Uninformed Search Pencarian buta hanya bisa membedakan antara kondisi yang dituju (goal state) dengan kondisi yang bukan tujuan (non-goal state)
Mengapa menggunakan pencarian buta? Ada kasus dimana tidak ada informasi awal yang dapat digunakan Jawaban yang kita cari hanya bisa diketahui pada saat kita menemukannya/sampai di tujuan
Blind Searching (Pencarian Buta) / Uninformed Search Breadth-First Search (BFS) Depth-First Search (DFS) Uniform Cost Search (UCS) Depth Limited Search (DLS) Iterative Deeping Depth First Search (IDDFS) Bidirectional Search (BS)
Breadth-First Search (BFS) - Dimulai dari Level 0 yaitu simpul akar A (root node A) menuju ke Tujuan (Goal) adalah simpul K Menggunakan prinsip First In First Out (FIFO) Menggunakan Prinsip Queue / Antrian
Breadth-First Search (BFS) Pencarian dilakukan pada semua simpul dalam setiap level secara berurutan dari kiri ke kanan Jika pada suatu level belum ditemukan solusi (tujuan yang dicari) maka pencarian dilanjutkan pada level berikutnya (n+1) Contoh Root : A Goal : D
Tahap Breadth-First Search (BFS) 1 2 4 3
Depth-First Search (DFS) -Dimulai dari Level 0 yaitu simpul akar A (root node A) dan Tujuan (Goal) adalah simpul J -Menggunakan prinsip Last In First Out (LIFO) -Menggunakan Prinsip Stack / Tumpukan
Depth-First Search (DFS) Pencarian dilakukan pada suatu simpul dalam setiap level dari yang paling kiri. Jika pada level yang terdalam, solusi belum ditemukan, maka pencarian dilanjutkan pada simpul sebelah kanan dan simpul yang kiri dapat dihapus dari memori. Jika pada level yang paling dalam tidak ditemukan solusi, maka pencarian dilanjutkan pada level sebelumnya.
Depth-First Search (DFS) Contoh : Root : A Goal : M
Tahap Depth-First Search (DFS) 2 1 4 3
Tahap Depth-First Search (DFS) 6 5 8 7
Tahap Depth-First Search (DFS) 10 9 12 11
PERFORMA METODE PENCARIAN Completeness Apakah metode tersebut menjamin adanya solusi jika solusinya ada ? Time Complexity Berapa lama waktu yang diberikan untuk menemukan solusi tersebut ? Space Complexity Berapa banyak memori yang dibutuhkan untuk menemukan solusi tersebut? Optimally Apakah metode tersebut menjamin menemukan solusi terbaik jika terdapat beberapa solusi yang berbeda ?
Perbandingan Algoritma Uninformed Search Kriteria BFS DFS UCS DLS IDDFS BS Waktu b^d b^m b^l b^(d/2) Tempat b*m b*l b*d Optimal ? Ya Tidak kelengkapan ya (jika l ≥d) Keterangan : b : jumlah maksimal cabang tree d : kedalaman pada least-cost solution m : kedalaman maksimum pada state-space (bisa bernialai infinity) l : nilai cut off pada kedalaman tree
TOPIK BAHASAN HEURISTIC SEARCHING Menggunakan suatu fungsi yang menghitung biaya perkiraan / estimasi dari suatu simpul tertentu menuju ke simpul tujuan (disebut fungsi heuristik)
Heuristic Searching Kelemahan blind search : Waktu akses lama Memori yang dibutuhkan besar Ruang masalah besar – tidak cocok – karena keterbasan kecepatan komputer dan memori Solusi - Pencarian heuristik Pencarian heuristik – menggunakan suatu fungsi yang menghitung biaya perkiraan / estimasi dari suatu simpul tertentu menuju ke simpul tujuan (disebut fungsi heuristik)
Local Search Algorithms Pencarian Heuristik Generate and Test Hill Climbing Best First Search Alpha Beta Prunning Simulated Annealing Min-Max Local Search Algorithms Local Beam Search
Best First Search f’(n) = g(n) + h’(n) Kombinasi dari metode DFS dan BFS Pada best first search, pencarian diperbolehkan mengunjungi node di lebih rendah, jika ternyata node di level lebih tinggi memiliki nilai heuristik lebih buruk. Penentuan node berikutnya adalah node yang terbaik yang pernah dibangkitkan Terdapat 2 jenis algoritma : Greedy Best First Search biaya perkiraan f(n) = h(n) A* f’(n) = g(n) + h’(n)
A* -> Best First Search Fungsi Heuristik yang digunakan merupakan prakiraan (estimasi) cost dari initial state ke goal state, yang dinyatakan dengan : f’(n) = g(n) + h’(n) dimana : f’ = Fungsi evaluasi g = cost dari initial state ke current state h’ = perkiraan cost dari current state ke goal state
Contoh
Greedy Best-First Search untuk Arad ke Bucharest (1) (2)
Greedy Best-First Search untuk Arad ke Bucharest (3) (4)
A* Search untuk Arad ke Bucharest (1) (2) (3)
A* Search untuk Arad ke Bucharest (4) (5)
A* Search untuk Arad ke Bucharest (6)
Selesaikan dengan Unblind search & Heuristic Search Worksheet 2 Selesaikan dengan Unblind search & Heuristic Search
PERTEMUAN 7: KUIS (OUTDOOR) NEXT PERTEMUAN 7: KUIS (OUTDOOR)