Pencarian dan Penalaran - Blind Search dan Heuristic Search
Ringkasan
Sistem cerdas tidak cukup punya pengetahuan; butuh strategi temukan solusi dari banyak kemungkinan. Materi ini bahas search algorithm sebagai mekanisme ambil keputusan di ruang solusi: representasi state, Blind Search (BFS, DFS, UCS), Heuristic Search (Greedy, A*), syarat heuristic admissible, dan penerapan route searching. Inti: .
Konsep Kunci
1. Masalah: robot cari tujuan
- Robot di titik awal A, harus capai tujuan G, ada beberapa jalur dan obstacle.
- Ini path finding: tentukan urutan langkah dari awal ke tujuan tanpa tabrak penghalang.
- Aplikasi sama: navigasi robot, GPS, kendaraan otonom, game AI, motion planning.
- Pertanyaan inti: dari banyak tindakan mungkin, mana dipilih agar capai tujuan?
2. Representasi state
Transclude of excalidraw/peta-search-tree-blind-heuristic.excalidraw
- Masalah dimodelkan sebagai search tree, contoh: A → B, C, D → E, F, G.
- Komponen:
- Initial state: kondisi awal.
- State: kondisi mungkin dicapai.
- Action: tindakan pindah antar state.
- Goal state: kondisi target.
- Path: urutan state dari awal sampai tujuan, contoh solusi: A → D → G.
- Search = eksplorasi state space, bukan sekadar “cari data”.
3. Dua kelompok algoritma
- Blind Search / Uninformed: tanpa info tambahan soal kedekatan node ke tujuan. Contoh: BFS, DFS, UCS.
- Heuristic Search / Informed: pakai heuristic untuk arahkan pencarian. Contoh: Greedy Best-First, A*.
- Analogi: blind = cari alamat di kota asing tanpa peta, coba jalan berdasar aturan; heuristic = pakai estimasi jarak ke tujuan, pencarian lebih cerdas.
4. BFS (Breadth-First Search)
- Bergerak per level: Level 0 → Level 1 → Level 2 → dst.
- Contoh pohon A / B C D / E F (di bawah B) dan G (di bawah D): urutan cek A, lalu B, C, D, lalu E, F, G.
- Struktur data: Queue, FIFO.
- Plus: temukan solusi langkah minimum bila tiap langkah biaya sama.
- Minus: memori besar, karena banyak node satu level disimpan sebelum lanjut.
- Cocok: jalur terpendek di graf tiap edge biaya sama.
5. DFS (Depth-First Search)
- Lawan BFS: masuk sedalam mungkin satu cabang, lalu backtracking coba cabang lain.
- Contoh: dari A masuk B, lalu E atau F, mentok, backtrack, coba cabang lain.
- Struktur data: Stack, LIFO.
- Plus: memori relatif lebih kecil dari BFS pada kondisi tertentu.
- Minus: tidak jamin optimal. Contoh: Jalur 1 = 5 langkah, Jalur 2 = 20 langkah; DFS bisa temukan Jalur 2 dulu bila cabang itu dieksplorasi lebih awal.
- Prinsip: DFS cari secara mendalam, bukan berdasar cost minimum.
6. UCS (Uniform Cost Search)
- Pilih node berdasar total biaya tempuh (path cost), bukan level/kedalaman.
- Konsep: = biaya aktual dari awal menuju node .
- Struktur data: Priority Queue; node biaya terendah diprioritaskan.
- Contoh: A→B→D = vs A→C→D = ; UCS pilih jalur pertama.
7. Mengapa perlu heuristic
- Bila kemungkinan jalur sangat besar (ribuan persimpangan kota), cek semua node tanpa info tambahan = mahal.
- Heuristic: = estimasi biaya dari node menuju tujuan, misal estimasi jarak robot ke G.
- Makin kecil , node dipandang makin dekat tujuan.
- Catatan: heuristic itu estimasi, bukan biaya sebenarnya. Kualitas heuristic tentukan performa pencarian.
8. Greedy Best-First Search
- Rumus: . Hanya tanya: node mana terlihat paling dekat tujuan?
- Contoh: , ; greedy pilih C karena .
- Plus: cepat dan terarah.
- Minus: tidak selalu optimal; node terlihat dekat belum tentu hasilkan total biaya terendah.
9. A* Search
- Gabung dua info: biaya sudah keluar + estimasi sisa.
- Rumus: .
- Contoh: B: , , ; C: , , ; A* pilih C karena .
- A* tidak hanya tanya “mana paling dekat?”, tapi “berapa biaya sudah keluar + kira-kira sisa berapa?”
- Populer untuk path finding dan route planning.
10. Admissible heuristic
- Syarat A* optimal salah satunya: ; estimasi tidak boleh overestimate biaya sebenarnya.
- Contoh: biaya sebenarnya A→G = 10. masih di bawah → OK. overestimate → tidak admissible.
- Kualitas heuristic tentukan kualitas dan efisiensi pencarian.
11. Penerapan route searching
- Contoh ilustrasi: lokasi seperti Jember, Ajung, Ambulu, Tanggul, dan tujuan.
- Berlaku untuk: navigasi robot, GPS, game AI, route optimization, autonomous vehicle.
- Aturan pilih: UCS bila fokus biaya aktual; A* bila mau pencarian terarah pakai estimasi jarak.
12. Tabel perbandingan
| Algoritma | Fokus | Ingatan singkat |
|---|---|---|
| BFS | Level/kedalaman | Cari berdasar level |
| DFS | Kedalaman | Masuk sedalam mungkin |
| UCS | Pilih biaya aktual terkecil | |
| Greedy | Pilih yang terlihat paling dekat | |
| A* | Biaya tempuh + estimasi sisa |
- Alur belajar: Masalah → State Space → Search Tree → Blind Search → Heuristic → Heuristic Search → A* → Solusi → Evaluasi Efisiensi.
- Kecerdasan search bukan sekadar temukan solusi, tapi temukan secara efektif dan efisien.
Contoh (dengan perhitungan)
UCS pilih jalur murah (dari materi)
- A→B→D: .
- A→C→D: .
- UCS pilih A→B→D karena .
Greedy pilih estimasi terkecil (dari materi)
- , .
- , . Pilih C karena .
- Risiko: belum tentu total jalur via C paling murah.
A* gabung cost + estimasi (dari materi)
- B: , → .
- C: , → .
- Pilih C karena .
Cek admissible (dari materi)
- Biaya sebenarnya A→G: .
- : → admissible.
- : → tidak admissible, A* bisa tidak optimal.
Keterkaitan
- Prasyarat: Pengantar Kecerdasan Buatan
- Lanjutan: game AI, sistem pakar, automatic planning, optimasi, robotika, navigasi, sistem pendukung keputusan (belum ada halaman)