Anda di halaman 1dari 6

Outline

IKI30320 IKI30320
Kuliah 5 Kuliah 5
12 Sep 2007 12 Sep 2007

Ruli Manurung Ruli Manurung 1 Best-first search


Best-first IKI 30320: Sistem Cerdas Best-first
search search 2 Greedy best-first search
Greedy
best-first
Kuliah 5: Informed Search Greedy
best-first

A∗ search
search search
3
A∗ search A∗ search

Merancang Ruli Manurung Merancang


heuristic heuristic 4 Merancang heuristic
Search di Search di
environment Fakultas Ilmu Komputer environment
yang ‘sulit’ Universitas Indonesia yang ‘sulit’
5 Search di environment yang ‘sulit’
Ringkasan Ringkasan

12 September 2007
6 Ringkasan

Best-first search Heuristic function

IKI30320 IKI30320
Kuliah 5 Prinsip best-first search Kuliah 5
12 Sep 2007 12 Sep 2007

Ruli Manurung Lakukan node expansion terhadap node di fringe yang nilai Ruli Manurung
Kunci keberhasilan best-first search terletak di heuristic
f (n)-nya paling kecil.
Best-first Best-first function.
search search
Heuristic adalah:
Greedy Ide dasar: f (n) adalah sebuah evaluation function → Greedy
best-first best-first rule of thumb
search fungsi yang menyatakan perkiraan seberapa “bagus” search
“kiat-kiat sukses”, “tips-tips keberhasilan”
A∗ search sebuah node. A∗ search
informasi tambahan bagi si agent (agar lebih sukses)
Merancang Merancang
heuristic Kenapa perkiraan? Kalau tidak, bukan search heuristic → informed search
Search di namanya! Search di
Heuristic function h(n) adalah fungsi yang menyatakan
environment environment
yang ‘sulit’ Implementasi: fringe adalah sebuah priority queue di yang ‘sulit’ estimasi cost dari n ke goal state.
Ringkasan
mana node disortir berdasarkan f (n). Ringkasan
Ada banyak kemungkinan heuristic function untuk
Contoh: sebuah masalah.
Uniform-cost search
Greedy (best-first) search
A∗ search
Contoh heuristic function Greedy best-first search

IKI30320 IKI30320
Kuliah 5 Kuliah 5 Prinsip greedy best-first search
12 Sep 2007 12 Sep 2007
Straight−line distance
Ruli Manurung 71
Oradea to Bucharest
Ruli Manurung
Lakukan node expansion terhadap node di fringe yang nilai
Neamt Arad 366
Zerind 151
87 Bucharest 0 h(n)-nya paling kecil.
Best-first 75 Craiova 160 Best-first
search Iasi Dobreta 242 search

Greedy
Arad 140
92
Eforie
Fagaras
161
178 Greedy
Greedy best-first search selalu memilih node yang
Sibiu 99 Fagaras
best-first 118
Vaslui
Giurgiu
Hirsova
77
151
best-first kelihatannya paling dekat ke goal.
search 80 search
Iasi 226
∗ Rimnicu Vilcea Lugoj
A search Timisoara 244 A∗ search
142 Mehadia 241
111 211 Neamt 234
Merancang Lugoj 97 Pitesti Merancang Arad
heuristic Oradea 380 heuristic
70 98 Pitesti 98
146 85 Hirsova
Search di Mehadia 101 Urziceni Rimnicu Vilcea 193 Search di
environment 75 138 86 Sibiu 253 environment
Bucharest Timisoara 329 Sibiu Timisoara Zerind
yang ‘sulit’ 120 yang ‘sulit’
Dobreta Urziceni 80 329 374
90
Ringkasan Craiova Eforie Vaslui 199 Ringkasan
Giurgiu Zerind 374
Arad Fagaras Oradea Rimnicu Vilcea
366 380 193
Sebuah heuristic function untuk agent turis Rumania
Sibiu Bucharest
hSLD (n) = jarak straight-line distance dari n ke Bucharest. 253 0

Sifat greedy best-first search A∗ search

IKI30320 IKI30320
Kuliah 5 Kuliah 5
12 Sep 2007 12 Sep 2007

Ruli Manurung Ruli Manurung

Best-first
search Complete? Ya, jika state space terbatas dan Best-first
search Prinsip A∗ search
Greedy pengulangan state ditangani. (Lihat Neamt → Oradea) Greedy Hindari node yang berada di path yang “mahal”
best-first best-first
search Time complexity? Secara teoritis, tetapi O(bm ), search

A∗ search heuristic function yang baik akan mempercepat drastis A∗ search Evaluation function f (n) = g(n) + h(n)
Merancang Merancang
heuristic Space complexity? O(bm ) → semua node disimpan di heuristic
g(n) = Path cost ke n
Search di memory Search di h(n) = Estimasi path cost dari n ke goal
environment environment
yang ‘sulit’
Optimal? Tidak. yang ‘sulit’
f (n) = Estimasi total cost melalui n
Ringkasan Ringkasan
Contoh penelusuran A∗ search Admissible heuristic

IKI30320 IKI30320
Kuliah 5 Kuliah 5
12 Sep 2007 12 Sep 2007

Ruli Manurung Ruli Manurung


A∗ search menggunakan heuristic yang admissible
Best-first Best-first
search Arad search 0 ≤ h(n) ≤ h∗ (n), di mana h∗ (n) adalah cost dari n yang
Greedy
best-first
Greedy
best-first
sebenarnya.
Sibiu Timisoara Zerind
search search
447=118+329 449=75+374
A∗ search A∗ search Bahasa gampangnya: nilai sebuah heuristic function tidak
Arad Fagaras Oradea Rimnicu Vilcea
Merancang
646=280+366 671=291+380
Merancang pernah melebihi cost ke goal yang sebenarnya.
heuristic heuristic

Search di Sibiu Bucharest Craiova Pitesti Sibiu Search di


Contoh: hSLD (n)
environment 591=338+253 450=450+0 526=366+160 553=300+253 environment
yang ‘sulit’ yang ‘sulit’
Theorem
Ringkasan Bucharest Craiova Rimnicu Vilcea
Ringkasan
418=418+0 615=455+160 607=414+193 A∗ search adalah optimal.

Bukti optimalitas A∗ (1) Consistency sebuah heuristic

IKI30320 IKI30320
Kuliah 5 Andaikan G2 adalah goal suboptimal di dalam fringe. Ambil Kuliah 5
12 Sep 2007 12 Sep 2007
n sebuah fringe node pada path menuju G1 , goal optimal,
Ruli Manurung
sbb: Ruli Manurung Sebuah heuristic dikatakan consistent jika:
Best-first Best-first
h(n) ≤ c(n, a, n0 ) + h(n0 )
search Start search
Jika h konsisten, maka:
Greedy Greedy
best-first best-first
search
n search
f (n0 ) = g(n0 ) + h(n0 )
A∗ search A∗ search

Merancang Merancang
= g(n) + c(n, a, n0 ) + h(n0 )
heuristic G G2 heuristic
≥ g(n) + h(n)
Search di Search di
environment
yang ‘sulit’
environment
yang ‘sulit’
≥ f (n)
f (G2 ) = g(G2 ), karena h(G2 ) = 0
Ringkasan Ringkasan
g(G2 ) > g(G1 ), karena G2 tidak optimal Pada sembarang path, nilai f (n) tidak pernah turun
g(G1 ) ≥ f (n), karena h admissible (nondecreasing), atau monotonic.
Karena f (G2 ) > f (n), algoritma A∗ search tidak pernah akan
memilih G2 untuk di-expand. Teorema terbukti!
Bukti optimalitas A∗ (2) Sifat A∗ search

Node expansion A∗ berdasarkan urutan nilai f .


IKI30320 IKI30320
Kuliah 5 Kuliah 5
12 Sep 2007
Bayangkan penelusuran state space yang dilakukan A∗ 12 Sep 2007

Ruli Manurung Ruli Manurung


menambahkan f -contour. Complete? Ya, kecuali jumlah node di mana f ≤ f (G)
O
Best-first Best-first
search search
tak terbatas
N
Z
Greedy Greedy Time complexity? Eksponensial dalam (error h×
best-first I best-first
search A search jumlah step solusi)
380 S
A∗ search A∗ search
F
V
Space complexity? O(bm ) → semua node disimpan di
Merancang Merancang
heuristic T
400
R
heuristic memory
Search di
environment L P Search di
environment
Optimal? Ya.
yang ‘sulit’
H
yang ‘sulit’ A∗ meng-expand semua node di mana f (n) < C ∗
Ringkasan
M U Ringkasan A∗ (mungkin) meng-expand beberapa node di mana f (n) = C ∗
B
D
420
A∗ tidak pernah meng-expand node di mana f (n) > C ∗
E
C
G

Bandingkan dengan “lapisan” yang ditelusuri


breadth-first dan uniform-cost.
Di dalam contour ke-i terdapat semua node

Contoh admissible heuristic Membandingkan dua heuristic

IKI30320 IKI30320
Kuliah 5 h(n) untuk 8-puzzle Kuliah 5
12 Sep 2007 12 Sep 2007
h1 (n): jumlah angka yang salah posisi h1 dan h2 sama-sama admissible. Mana yang lebih
Ruli Manurung Ruli Manurung
h2 (n): jumlah jarak semua angka dari posisi yang benar baik? Bandingkan jumlah node yang di-expand:
Best-first Best-first
search search d IDS A∗ (h1 ) A∗ (h2 )
Greedy Greedy 12 3,473,941 539 113
best-first best-first
search 7 2 4 5
1 2 3 search 24 54,000,000,000 39,135 1,641
A∗ search A∗ search

Merancang Merancang Jika h2 (n) ≥ h1 (n) untuk semua n (dan keduanya


heuristic 5 6 4 5 6 heuristic
admissible), dikatakan bahwa h2 men-dominate h1 dan
Search di Search di
environment environment lebih baik untuk search.
yang ‘sulit’ yang ‘sulit’
8 3 1 7 8 Semakin besar nilai h(n),
Ringkasan Ringkasan
semakin dekat ke h∗ (n),
Start State Goal State semakin banyak node yang tidak di-expand (di-prune),
semakin efisien search-nya!
h1 (s) = 6
h2 (s) = 4+0+3+3+1+0+2+1=14
Merancang admissible heuristic Environment yang tidak observable

IKI30320 IKI30320
Kuliah 5 Kuliah 5
12 Sep 2007 Admissible heuristic dapat diperoleh dari solution cost 12 Sep 2007 Selama ini, kita berasumsi bahwa environment di mana
Ruli Manurung yang sebenarnya dari variasi masalah yang Ruli Manurung problem solving agent kita berada fully observable.
dipermudah (relaxed).
Best-first Best-first Apa yang terjadi jika si agent tidak memiliki sensor?
search Contoh: search

Greedy Andaikan masalah 8-puzzle dipermudah sehingga Greedy


best-first best-first Initial state bisa di mana saja:
search sebuah angka bisa dipindahkan ke mana saja. Cost search
{1, 2, 3, 4, 5, 6, 7, 8}
A∗ search dari solusinya = h1 . A∗ search
1 2
Andaikan masalah 8-puzzle dipermudah sehingga Setelah DoKeKanan, bisa di:
Merancang Merancang
heuristic heuristic {2, 4, 6, 8}
sebuah angka bisa dipindahkan ke tetangga mana saja
Search di Search di 3 4 Solusi adalah rangkaian
environment
(kosong atau tidak). Cost dari solusinya = h2 . environment
yang ‘sulit’ yang ‘sulit’ tindakan
Optimal solution cost dari masalah yang dipermudah [DoKeKanan, DoSedot,
Ringkasan Ringkasan
tidak akan melebihi optimal solution cost masalah yang 5 6 DoKeKiri, DoSedot]
sebenarnya → admissible!
Admissible heuristic bisa juga diperoleh dari 7 8
sub-masalah.

Sensorless problem Contoh belief state VACUUM C LEANERW ORLD

IKI30320 IKI30320
Kuliah 5 Kuliah 5
L
12 Sep 2007 12 Sep 2007

Ruli Manurung Ruli Manurung R


Si agent harus mencatat himpunan physical state (Sp )
Best-first yang mungkin sedang terjadi → belief state (Sb ). Best-first L R
search search

Greedy Search dilakukan dalam space yang terdiri dari belief Greedy
best-first best-first
search state, bukan physical state. search S

A∗ search Belief stateSb0 yang dihasilkan suatu action terhadap A∗ search


S S
Merancang Merancang
heuristic
belief state Sb adalah union dari semua physical state heuristic

Search di Sp0 yang dihasilkan action tersebut terhadap semua Search di L R


environment environment L
yang ‘sulit’ physical state Sp ∈ Sb . yang ‘sulit’ S S

Ringkasan Sebuah solusi adalah path yang menuju belief state di Ringkasan R
R L L R
mana semua member physical state-nya adalah goal.
L S
S

R
Contingency problem Ringkasan

IKI30320 IKI30320
Kuliah 5
12 Sep 2007
Selama ini, kita berasumsi bahwa environment di mana Kuliah 5
12 Sep 2007

Ruli Manurung
problem solving agent kita berada deterministic. Ruli Manurung

Bayangkan robot pembersih kita cacat: jika DoSedot Best-first search


Best-first Best-first Uniform-cost search: f (n) = g(n)
search dilakukan di ruangan bersih, kadang-kadang ia malah search
Greedy best-first search: f (n) = h(n)
Greedy membuatnya kotor! Bagaimana belief state space-nya? Greedy
best-first best-first A∗ search: f (n) = g(n) + h(n)
search search
Sekarang bayangkan robot ini punya sensor yang
A∗ search A∗ search Dengan heuristic yang admissible dan consistent, A∗
melihat apakah ruangan kotor.
Merancang Merancang pasti complete dan optimal.
heuristic Solusi sekarang bukanlah rangkaian tindakan (action heuristic

Search di Search di
Heuristic demikian dapat diperoleh dari variasi masalah
sequence), tetapi action tree, mis:
environment
yang ‘sulit’
environment
yang ‘sulit’
yang dipermudah, atau submasalah.
[DoSedot, DoKeKanan, if [B, Kotor ] then DoSedot].
Ringkasan Ringkasan Search di mana environment-nya tidak observable atau
non-deterministic masih bisa diatasi.
Contingency problem
Masalah di mana agent menerima input baru dari sensor
setelah bertindak.

Anda mungkin juga menyukai