Referensi
Materi kuliah IF3170 Inteligensi Buatan Teknik Informatika ITB,
Course Website:
http://kuliah.itb.ac.id STEI Teknik Informatika IF3170
Stuart J Russell & Peter Norvig, Artificial Intelligence: A
Modern Approach, 3rd Edition, Prentice-Hall International, Inc, 2010, Textbook
Site: http://aima.cs.berkeley.edu/ (2nd edition)
Free online course materials | MIT OpenCourseWare Website:
Site: http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/
Lecture Notes in Informed Heuristic Search, ICS 271 Fall 2008,
Route
Planning
Search
Source: Russell’s bookS: set of cities i.s: A (Arad)
g.s: B (Bucharest) Goal test: s = B ?
Path cost: time ~ distance
Uninformed Search
Breadth-First Search (BFS)
Path: A S F B, Path-cost = 450
A
Treat agenda as a queue (FIFO)
Simpul-E Simpul Hidup
7
Depth-First Search (DFS)
Path: A Z O S F B Path-cost = 607
A
Treat agenda as a stack (LIFO)
Simpul-E Simpul Hidup
A ZA,SA,TA
ZA OAZ, SA,TA OAZ SAZO,SA,TA
SAZO FAZOS, RAZOS,SA,TA FAZOS BAZOSF, RAZOS,SA,TA BAZOSF Solusi ketemu
IDS
Depth=0: A: cutoff
9
Uniform Cost Search (UCS)
BFS & IDS find path with fewest steps
If steps ≠ cost, this is not relevant (to optimal
solution)
How can we find the shortest path (measured by sum of distances along path)?
O
Simpul-E Simpul Hidup
A ZA-75, TA-118, SA-140
ZA-75 TA-118, SA-140,OAZ-146
TA-118 SA-140,OAZ-146,LAT-229
SA-140 OAZ-146,RAS-220, LAT-229,F
AS-239,OAS-291
OAZ-146 RAS-220, LAT-229, FAS-239,OAS-291
RAS-220 LAT-229, FAS-239,OAS-291,P
ASR-317,DASR-340,CASR-366
LAT-229 FAS-239,OAS-291,MATL-299,P
ASR-317,DASR-340,CASR-366
FAS-239 OAS-291,MATL-299, PASR-317,D
ASR-340,CASR-366,BASF-450
OAS-291 MATL-299, PASR-317,DASR-340,C
ASR-366,BASF-450
MATL-299 PASR-317,DASR-340,DATLM-364,C
ASR-366,BASF-450
PASR-317 DASR-340,DATLM-364,CASR-366,
BASRP-418,CASRP-455, BASF-450 DASR-340 DATLM-364,CASR-366,BASRP-418,
CASRP-455, BASF-450
DATLM-364 CASR-366,BASRP-418, CASRP-455, BASF-450
CASR-366 BASRP-418, CASRP-455, BASF-450
B Solusi ketemu Path: A S R P B
Path-cost = 418
Greedy Best-First Search
Idea: use an evaluation function f(n) for each node
f(n) = h(n) estimates of cost from n to goal
e.g., hSLD(n) = straight-line distance from n to Bucharest
Greedy best-first search expands the node that appears to be closest to goal
Romania with step costs in km
Greedy best-first search example
Greedy best-first search example
Problems with Greedy Best First Search
Not complete
Get Stuck with Local Minima/ Plateu
Irrevocable (not able to be reversed/ changed)
Heuristic Search
Heuristic estimates value of a node
promise of a node
difficulty of solving the subproblem
quality of solution represented by node the amount of information gained
f(n)- heuristic evaluation function.
depends on n, goal, search so far, domain
A* Search
Idea: avoid expanding paths that are already expensive
Evaluation function f(n) = g(n) + h(n)
g(n) = cost so far to reach n
h(n) = estimated cost from n to goal
A
*search example
A
*search example
A
*search example
A* Special
Goal: find a minimum sum-cost path
Notation:
c(n,n’) - cost of arc (n,n’)
g(n) = cost of current path from start to node n in the search tree.
h(n) = estimate of the cheapest cost of a path from n to a goal.
Special evaluation function: f = g+h
f(n) estimates the cheapest cost solution path that goes
through n.
h*(n) is the true cheapest cost from n to a goal.
g*(n) is the true shortest path from the start s, to n.
If the heuristic function, h always underestimate the true cost (h(n) is smaller than h*(n)), then A* is guaranteed to find an optimal solution admissible; and also has to be consistent
Properties of A*
Complete? Yes, unless there are infinitely many nodes with
f ≤ f(G)
Time? Exponential: O(bm)
Space? Keep all the nodes in memory: O(bm)
Branch-and-Bound vs A*
As in A*, look for a bound which is guaranteed lower
than the true cost
Search the branching tree in any way you like
e.g. depth first (no guarantee), best first
Cut off search if cost + bound > best solution found
If heuristic is cost + bound, search = best first
then BnB = A*
Bounds often much more sophisticated
e.g. using mathematical programming optimisations
Admissible heuristics
A heuristic h(n) is admissible if for every node n,
h(n) ≤ h*(n), where h*(n) is the true cost to reach the goal state from n.
An admissible heuristic never overestimates the cost
to reach the goal, i.e., it is optimistic
Example: hSLD(n) (never overestimates the actual road
distance)
Theorem: If h(n) is admissible, A* using TREE-SEARCH is optimal
IF2211/NUM/29Mar2016
Admissibility
What must be true about h for A* to find optimal path?
A* finds optimal path if h is admissable; h is admissible when it never
overestimates.
In this example, h is not admissible.
In route finding problems, straight-line distance to goal is admissible heuristic.
g(X)+h(X)=2+100=102 G(Y)+h(Y)=73+1=74
Optimal path is not found!
Contoh Soal UAS Sem 2 2014/2015
Dalam permainan video game, adakalanya entitas
bergerak dalam video game perlu berpindah dari satu
posisi ke posisi lain. Seringkali proses perpindahan perlu mengutamakan jalur terdekat atau biaya minimal karena berhubungan dengan poin yang diperoleh. Gambar di bawah ini menunjukkan contoh jalur yang mungkin
dilewati oleh entitas bergerak dalam suatu video game. Suatu entitas akan berpindah dari posisi titik A menuju ke posisi titik F. Jika diperlukan informasi heuristik, nilai heuristik dari suatu simpul adalah banyaknya busur
minimal yang menghubungkan titik tersebut ke titik
Contoh Soal UAS Sem 2 2014/2015 (2)
31
Pencarian solusi dengan:
a. UCS
b. Greedy Best First
c. A Star
Untuk masing-masing pendekatan tuliskan:
- Formula
- Iterasi
- Simpul ekspan
- Simpul hidup & nilai f(n)
Urut abjad, simpul ekspan tidak
Solusi:
Jawaban:
Iterasi
UCS Greedy Best First Search A Star Formula: f(n) = g(n) Formula: f(n) = h(n) Formula: f(n) = g(n) + h(n) Simpul - Ekspan Simpu lHidup Simpul–Ekspan Simpul Hidup Simpul - Ekspan Simpul Hidup
IF2211/NUM/29Mar2016
6 Feba
Solusi sudah ditemukan
Hasil
Jalur: A-B-E-F Jalur: A-E-F Jalur: A-B-E-F
Jarak: 5 Jarak: 7 Jarak: 5