Kecerdasan Artifisial

Pertemuan 03

Pencarian Heuristik
Informed Search

Mata Kuliah: Kecerdasan Artifisial (AI401) | 3 SKS

๐ŸŽฏ Capaian Pembelajaran

Setelah pertemuan ini, mahasiswa mampu:

  1. Menjelaskan konsep heuristik sebagai estimasi biaya
  2. Mengimplementasikan Greedy Best-First Search
  3. Mengimplementasikan algoritma A*
  4. Menjelaskan properti admissibility dan consistency
  5. Merancang fungsi heuristik yang baik
  6. Menganalisis optimalitas dan kompleksitas A*

๐Ÿ“ Review: Uninformed Search

Pertemuan sebelumnya kita belajar:

  • BFS - Eksplorasi per level
  • DFS - Eksplorasi sedalam mungkin
  • UCS - Eksplorasi berdasarkan g(n)

Masalah: Tidak tahu arah goal!

๐Ÿ” Masalah Uninformed Search

Peta Romania

BFS/UCS mengeksplorasi ke semua arah termasuk yang menjauh dari goal!

๐Ÿ’ก Solusi: Informed Search

"Gunakan pengetahuan tentang domain masalah untuk mengarahkan pencarian!"

Pengetahuan ini disebut HEURISTIK

๐Ÿ“š Apa itu Heuristik?

Heuristik h(n) adalah fungsi yang memberikan estimasi biaya dari node n ke goal terdekat.

  • h(n) โ‰ฅ 0 untuk semua node n
  • h(goal) = 0
  • Semakin kecil h(n), semakin dekat ke goal

๐Ÿ“ Contoh: Straight-Line Distance

Untuk pencarian rute: jarak garis lurus ke goal

KotahSLD ke Bucharest
Arad366 km
Sibiu253 km
Fagaras176 km
Pitesti100 km
Bucharest0 km

๐Ÿ“ Contoh: Manhattan Distance

Untuk grid-based problems (8-puzzle, pathfinding):

hManhattan(n) = ฮฃ |xi - xgoal| + |yi - ygoal|

Jumlah jarak horizontal + vertikal setiap tile ke posisi goalnya

๐Ÿงฉ Contoh Manhattan: 8-Puzzle

Current:

โ”Œโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”
โ”‚ 2 โ”‚ 8 โ”‚ 3 โ”‚
โ”œโ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”ค
โ”‚ 1 โ”‚ 6 โ”‚ 4 โ”‚
โ”œโ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”ค
โ”‚ 7 โ”‚   โ”‚ 5 โ”‚
โ””โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”˜

Goal:

โ”Œโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”
โ”‚ 1 โ”‚ 2 โ”‚ 3 โ”‚
โ”œโ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”ค
โ”‚ 4 โ”‚ 5 โ”‚ 6 โ”‚
โ”œโ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”ค
โ”‚ 7 โ”‚ 8 โ”‚   โ”‚
โ””โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”˜

hManhattan = 1+1+0+2+2+1+0+2 = 9

๐Ÿƒ Greedy Best-First Search

Selalu ekspansi node dengan h(n) terkecil
  • Hanya menggunakan h(n)
  • Mengabaikan biaya yang sudah ditempuh g(n)
  • "Greedy" = serakah, pilih yang terlihat terbaik

๐Ÿ“ Algoritma Greedy BFS


def greedy_best_first_search(problem, h):
    frontier = PriorityQueue()  # ordered by h(n)
    frontier.push(initial_state)
    explored = set()
    
    while not frontier.empty():
        node = frontier.pop()  # h(n) terkecil
        
        if goal_test(node):
            return solution(node)
        
        explored.add(node)
        for successor in expand(node):
            if successor not in explored:
                frontier.push(successor)
    
    return failure
                

๐Ÿ”„ Trace Greedy BFS

Arad โ†’ Bucharest:

Greedy BFS Visualization

๐Ÿ“Š Greedy BFS: Step by Step

  1. Start: Arad (h=366)
  2. Neighbors: Zerind(374), Sibiu(253), Timisoara(329)
  3. Pilih Sibiu โ†’ Neighbors: Fagaras(176), RV(193)
  4. Pilih Fagaras โ†’ Neighbor: Bucharest(0)
  5. Goal! Path: Aradโ†’Sibiuโ†’Fagarasโ†’Bucharest

Hanya 4 node diekspansi!

โš ๏ธ Masalah Greedy BFS

โŒ Tidak Optimal

Bisa menemukan path yang lebih panjang

โŒ Tidak Complete

Bisa terjebak di infinite loop

Path Greedy: 450 km vs Optimal: 418 km

โญ Algoritma A*

"Kombinasi terbaik dari UCS dan Greedy!"
f(n) = g(n) + h(n)
  • g(n) = biaya aktual dari start ke n
  • h(n) = estimasi biaya dari n ke goal
  • f(n) = estimasi total cost melalui n

๐Ÿ“Š Perbandingan Algoritma

Perbandingan Algoritma

๐Ÿ“‹ Tabel Perbandingan

Algoritma f(n) Optimal? Informed?
BFS depth โœ“ (unit cost) โŒ
UCS g(n) โœ“ โŒ
Greedy h(n) โŒ โœ“
A* g(n)+h(n) โœ“ โœ“

๐Ÿ“ Algoritma A*


def a_star_search(problem, h):
    frontier = PriorityQueue()  # ordered by f(n)
    start = Node(initial_state, g=0)
    start.f = start.g + h(start.state)
    frontier.push(start)
    
    while not frontier.empty():
        node = frontier.pop()  # f(n) terkecil
        
        if goal_test(node):
            return solution(node)
        
        for successor in expand(node):
            successor.g = node.g + cost(node, successor)
            successor.f = successor.g + h(successor.state)
            
            if successor not in explored:
                frontier.push(successor)
                

๐Ÿ”„ Trace A*: Arad โ†’ Bucharest

StepNodeghf
1Arad0366366
2Sibiu140253393
3RimnicuV220193413
4Fagaras239176415
5Pitesti317100417
6Bucharest4180418

Path: Aradโ†’Sibiuโ†’RVโ†’Pitestiโ†’Bucharest = 418 km โœ“

๐Ÿ“ˆ A* vs UCS: Efisiensi

UCS

~11 nodes expanded

Eksplorasi tanpa arah

A*

6 nodes expanded

Terarah ke goal!

Kedua menemukan path optimal 418 km

โœ… Admissibility

Heuristik admissible jika tidak pernah overestimate biaya sebenarnya:

h(n) โ‰ค h*(n)

untuk semua n, dimana h*(n) = biaya sebenarnya

Contoh: Straight-line distance selalu โ‰ค jarak jalan

๐Ÿ† Teorema Optimalitas A*

Teorema: Jika h(n) admissible, maka A* adalah OPTIMAL

A* akan menemukan solusi dengan biaya minimum!

๐Ÿ”— Consistency (Monotonicity)

Consistency
h(n) โ‰ค c(n, a, n') + h(n')

Ketidaksamaan segitiga!

๐Ÿ“Œ Implikasi Consistency

  • Setiap consistent heuristic adalah admissible
  • f(n) tidak pernah berkurang sepanjang path
  • Node yang sudah diekspansi tidak perlu diekspansi lagi
  • Graph search dengan consistent h โ†’ optimal!

๐Ÿ‘‘ Dominance

hโ‚‚ mendominasi hโ‚ jika:

hโ‚‚(n) โ‰ฅ hโ‚(n) untuk semua n

dan keduanya admissible

Heuristik yang mendominasi โ†’ A* lebih efisien!

Contoh: Manhattan > Misplaced Tiles

๐Ÿง  Quiz Time!

Soal 1: Jika h(n) = 0 untuk semua n, algoritma apa yang dihasilkan A*?

  1. BFS
  2. DFS
  3. UCS โœ“
  4. Greedy BFS

Penjelasan: f(n) = g(n) + 0 = g(n)

๐Ÿง  Quiz Time!

Soal 2: Mana yang BUKAN properti heuristik admissible?

  1. h(n) โ‰ค h*(n)
  2. h(goal) = 0
  3. h(n) selalu sama dengan h*(n) โœ“
  4. h(n) โ‰ฅ 0

Admissible = tidak overestimate, bukan harus exact

๐Ÿ› ๏ธ Merancang Heuristik

Teknik: Relaxed Problem

Hilangkan beberapa constraint dari masalah asli. Biaya optimal dari relaxed problem โ†’ heuristik admissible!

๐Ÿงฉ Relaxation untuk 8-Puzzle

Relaxation Heuristik
Tile bisa teleport ke mana saja Misplaced Tiles
Tile bisa menembus tile lain Manhattan Distance
Tidak ada relaxation h* (biaya sebenarnya)

Semakin sedikit relaxation โ†’ heuristik lebih informatif

๐Ÿ”€ Kombinasi Heuristik

Jika hโ‚ dan hโ‚‚ keduanya admissible:

h(n) = max(hโ‚(n), hโ‚‚(n))

Hasilnya:

  • โœ“ Tetap admissible
  • โœ“ Mendominasi hโ‚ dan hโ‚‚
  • โœ“ A* lebih efisien!

๐Ÿ“Š Mengapa A* Optimal?

A* Optimality

A* ekspansi dalam urutan f-value โ†’ goal optimal ditemukan duluan!

โฑ๏ธ Kompleksitas A*

Metrik Worst Case Dengan h baik
Waktu O(bd) Mendekati O(d)
Ruang O(bd) O(bd)

โš ๏ธ Memori adalah bottleneck utama A*!

๐Ÿ’พ IDA* (Iterative Deepening A*)

Solusi untuk masalah memori:

  • Gunakan f-limit sebagai cutoff (bukan depth)
  • Setiap iterasi naikkan f-limit
  • Space: O(bd) - Linear!
  • Tetap optimal dengan h admissible

๐ŸŽฎ Aplikasi A*

Games

  • NPC pathfinding
  • Puzzle solving
  • Strategy planning

Real World

  • GPS navigation
  • Robot motion
  • Network routing

๐ŸŽ–๏ธ Aplikasi Pertahanan

  • UAV Path Planning - Hindari radar musuh
  • SAR Operations - Cari korban optimal
  • Tactical Movement - Minimize exposure
  • Logistics - Optimal supply routes

๐Ÿ›ฉ๏ธ Heuristik UAV


double heuristic(State n, Target t, vector<Radar>& radars) {
    // Jarak ke target
    double dist = euclideanDistance(n.pos, t.pos);
    
    // Penalti radar
    double penalty = 0;
    for (auto& r : radars) {
        if (distance(n, r) < r.range)
            penalty += r.threat_level;
    }
    
    return dist + RADAR_WEIGHT * penalty;
}
                

๐Ÿง  Quiz Time!

Soal 3: Manhattan distance untuk state ini?

Current: [2,1,3,4,5,6,7,8,0]
Goal:    [1,2,3,4,5,6,7,8,0]
  1. 1
  2. 2 โœ“
  3. 3
  4. 4

Tile 1: jarak 1, Tile 2: jarak 1 โ†’ Total = 2

๐Ÿ“‹ Ringkasan

KonsepDefinisi
HeuristikEstimasi biaya ke goal
Greedy BFSf(n) = h(n)
A*f(n) = g(n) + h(n)
Admissibleh(n) โ‰ค h*(n)
Consistenth(n) โ‰ค c + h(n')
Dominancehโ‚‚ โ‰ฅ hโ‚ โ†’ lebih efisien

๐Ÿ”‘ Key Takeaways

  1. Heuristik = estimasi biaya ke goal
  2. A* = UCS + Greedy (terbaik dari keduanya)
  3. Admissible h โ†’ A* optimal
  4. Heuristik lebih baik โ†’ A* lebih cepat
  5. Relaxed problem โ†’ cara membuat heuristik

๐Ÿ“… Pertemuan Berikutnya

Pertemuan 04: Pencarian Lokal dan Optimisasi

Local Search dan Optimization Algorithms

  • Hill Climbing
  • Simulated Annealing
  • Algoritma Genetika

๐Ÿ“š Referensi

  1. Russell, S. & Norvig, P. (2020). Artificial Intelligence: A Modern Approach (4th Ed.). Pearson. Chapter 3.5-3.6
  2. Ertel, W. (2017). Introduction to Artificial Intelligence (2nd Ed.). Springer. Chapter 4.
  3. CS188 Berkeley AI Materials: https://inst.eecs.berkeley.edu/~cs188/

Terima Kasih

๐Ÿค– Kecerdasan Artifisial

Pertemuan 03: Pencarian Heuristik - Informed Search


Ada pertanyaan?