ttnt-02-heuristic_and_astart
TRANSCRIPT
-
8/7/2019 TTNT-02-Heuristic_and_Astart
1/30
TR TU NHN T OTm ki m c thng tin heuristic, A*
Ref: http://www.cs.cmu.edu/~awm/tutorials
-
8/7/2019 TTNT-02-Heuristic_and_Astart
2/30
N i dung trnh byTm ki m c thng tin heuristic t t nh t
Nh ng i m khng thch h p c a tm ki m t t nh tM o: tnh lun chi ph i n tr ng thi hi n t i.Vi c tm ki m k t thc khi no?
2
eur s c c p n n cTm ki m A* l y Tm ki m A* lun d ngKhuy t i m c a A*Ti t ki m nhi u b nh v i IDA* (Iterative Deepening A*)
-
8/7/2019 TTNT-02-Heuristic_and_Astart
3/30
Tm ki m v i thng tin heuristicCc phng php tm ki m m (blind search):
thng tin v tr ng thi ch khng ng vai trtrong vi c tm ki m.S Nn i
n no?
3
C th s d ng c l ng kho ng cch n ch
gi a cc tr ng thi tm ng i?
a b c
G
-
8/7/2019 TTNT-02-Heuristic_and_Astart
4/30
Tm ki m v i thng tin heuristic (tt)Gi s ngoi vi c c t tm ki m chu n ta cng c m t
heuristic .M t hm heuristic nh x m t tr ng thi thnh m t c l ng v chi ph n
4
.B n c th ngh ra v d v heuristics?
VD. i v i bi ton 8-puzzle?VD. l p ng i trong ma tr n?
K hi u heuristic b ng m t hmh(s)
-
8/7/2019 TTNT-02-Heuristic_and_Astart
5/30
5
Heuristic theo Kho ng cch Euclide
GOAL
b c
a2
81
22
5h=11
h=8
h=5 h=4
h=0
START
d
pq
e
h
f
r
9 913
5
34
4
15
1
2
h=12
h=8
h=6
h=9
h=4
h=6h=11
-
8/7/2019 TTNT-02-Heuristic_and_Astart
6/30
6
Tm ki m v i thng tin heuristic t t nh t
(Best-first)GOAL
b c
a2
81
22
5h=11
h=8
h=5 h=4
h=0
START
d
pq
e
h
f
r
9 913
5
34
4
15
1
2
h=12
h=8
h=6
h=9
h=4
h=6h=11
-
8/7/2019 TTNT-02-Heuristic_and_Astart
7/30
7
Tm ki m t t nh t (tt)
GOAL
b c
a2
81
22
5h=11
h=8
h=5 h=4
h=0
h=9
START
d
pq
e
h
f
r
9 913
5
34
4
15
1
2
h=12
h=8
h=6
h=4
h=6h=11
PQ = {(Start,12)}
-
8/7/2019 TTNT-02-Heuristic_and_Astart
8/30
8
Tm ki m t t nh t (tt)
GOAL
b c
a2
81
22
5h=11
h=8
h=5 h=4
h=0
h=12
PQ = {(e,4),(d,8),(p,11)}
START
d
pq
e
h
f
r
9 913
5
34
4
15
1
2
h=8
h=6
h=9
h=4
h=6h=11
-
8/7/2019 TTNT-02-Heuristic_and_Astart
9/30
9
Tm ki m t t nh t (tt)
h=0
GOAL
b c
a2
81
22
5h=11
h=8
h=5 h=4
PQ = {(h,6),(r,6),(d,8),(p,11)}
START
d
pq
e
h
f
r
9 913
5
34
4
15
1
2
h=12
h=8
h=6
h=9
h=4
h=6h=11
-
8/7/2019 TTNT-02-Heuristic_and_Astart
10/30
10
Tm ki m t t nh t (tt)
GOAL
b c
a2
81
22
5h=11
h=8
h=5 h=4
h=0
PQ = {(r,6),(d,8),(q,9),(p,11)}
START
d
pq
e
h
f
r
9 913
5
34
4
15
1h=12
h=8
h=6
h=9
h=4
h=6h=11
d
p
-
8/7/2019 TTNT-02-Heuristic_and_Astart
11/30
Heuristic trong bi ton 8-puzzleTheo s n m sai v tr
1 2 31 52 6 3 h = 6
11
7 87 4 8
-
8/7/2019 TTNT-02-Heuristic_and_Astart
12/30
Heuristic trong bi ton 8-puzzle (tt)Theo t ng kho ng cch Manhattan
1 5 1 2 3
12
2 6 37 4 8
4 5 67 8
h = 0 + 2 + 1 + 2 + 2 + 1 +0 + 1 = 9
h = 9
d = dx + dy
-
8/7/2019 TTNT-02-Heuristic_and_Astart
13/30
Thu t ton tm ki m t t nh tInit-PriQueue(PQ)Insert-PriQueue(PQ,START,h(START))while (PQ khc r ng v PQ khng ch a tr ng thi ch)
(s , h ) := Pop-least(PQ)V i m i s trong succs(s)N u s khn c tron PQ v s cha c vi n tr c bao
13
gi Insert-PriQueue(PQ,s,h(s))
M t vi c i ti n c a thu t ton ny c th lm cho m i vi ct t p hn. N l th m chng ta g i l: A*.
* Vi c s d ng heuristic lm thay i B
Thu t ton T i u Th i gian Khng gianBestFS Best First
SearchC K O(min(N,BLMAX )) O( min(N,BLMAX ))
-
8/7/2019 TTNT-02-Heuristic_and_Astart
14/30
Hy Xem t t nh t ng ng n th no!
S A CB G2
4
11 2
14
Tm ki m t t nh t r rng khng m b o tmth y ng i t i uCu h i: Chng ta c th lm g trnh l ing ng n ny?
h=3 h=2 h=1h=4 h=0
-
8/7/2019 TTNT-02-Heuristic_and_Astart
15/30
A* - t ng C b nBest-first: Khi b n m m t noden, l y node conn' v
t n vo PriQueue v i u tinh(n' )A*: Khi b n m m t noden, l y node conn' v t nvo PriQueue v i u tin
15
(Chi ph i nn' ) + h(n' ) (1)
t g (n) = Chi ph i nn (2)
v nh ngha
f (n) = g (n) + h(n) (3)
-
8/7/2019 TTNT-02-Heuristic_and_Astart
16/30
A* khng ng ng n!
S A CB G2
411 2
16
h=3 h=2 h=1h=4 h=0
-
8/7/2019 TTNT-02-Heuristic_and_Astart
17/30
A* d ng khi no? t ng: Ngay khi n pht sinh c tr ng thi ch?
Xem v d sau:
S1 11
h = 3
17
D
CA
G
1
77
h = 7
h = 1
h = 2
h = 0
h = 8
-
8/7/2019 TTNT-02-Heuristic_and_Astart
18/30
Quy t c D ng A* ng n:A* D ng Ch Khi m t Tr ng Thi ch c L y ra
kh i Priority QueueS1 1
1h = 3
18
D
CA
G
1
7
7
h = 7
h = 1
h = 2
h = 0
h = 8
-
8/7/2019 TTNT-02-Heuristic_and_Astart
19/30
Cc tr ng thi quay l i A*M t cu h i khc:i u g x y ra n u A* quay l i m t tr ngthi m , v tm c m t ng ng n hn?
S1 11
h = 3
19
D
CA
G
1
7
h = 7
h = 1
h = 2
Trong v d ny m t tr ngthi m c m l i.Nh th no v t i sao ?
1/2
h = 8
-
8/7/2019 TTNT-02-Heuristic_and_Astart
20/30
i u g n u A* thm m t tr ng thi c trong hng i?
S1 11
h = 3
h = 8
Cc tr ng thi quay l i A*20
D
CA
G
1
7
h = 7
h = 1
h = 8
Trong v d ny m t tr ng thi c trong hng i v ang i mc u tin tng v t ln. Nhth no v t i sao?
1/2
lu r ng gi tr h ny thay i so v i trang tr c.
-
8/7/2019 TTNT-02-Heuristic_and_Astart
21/30
Thu t ton A*
Priority queuePQ ban u r ng.V (= t p cc (b ba (state,f ,backpointer )) thm tr c b t u lr ng. t S vo PQ v V v i u tinf (s) = g (s) + h(s)PQ r ng?
C? Khn c l i i i.
21
Khng? Lo i b node v if (n) th p nh t kh i queue. G i nl n.N un l m t ch, d ng v bo thnh cng.M n : V i m i n' trongsuccs (n)
tf
=g (n'
) +h
(n'
) =g
(n) +
cost (n,n'
) +h
(n'
)N u n' cha th y tr c , hayn' m v i f (n' )>f , hay n' hi n trongPQ v i f (n' )>f Th t/C p nh tn' trong PQ v i u tinf v c p nh tV bao g m (state=n' , f , BackPtr =n).Ng c l i b qua n'
-
8/7/2019 TTNT-02-Heuristic_and_Astart
22/30
A* C B o m Tm th y ng i T iu?
A1
1h = 6 h = 0
22
G3
Khng. V v d sau cho th y t i sao.
h = 7
-
8/7/2019 TTNT-02-Heuristic_and_Astart
23/30
Heuristic ch p nh n c t h*(n) = chi ph t i thi u th p nh t tn n
ch.M t heuristich l ch p nh n cn u
h n
-
8/7/2019 TTNT-02-Heuristic_and_Astart
24/30
24
V d 8-Puzzle
1 5
2 6 37 4 8
1 2 3
4 5 67 8
Tr ng thiv d
Tr ng thich
h(n) = S n m sai v tr trong
tr ng thin h(n) = 0 h(n) = T ng kho ng cch
Manhattan gi a m i so v i v trch
h(n) = 1
h(n) = min (2,h*(n)) h(n) = h*(n) h(n) = max (2,
h*(n))
-
8/7/2019 TTNT-02-Heuristic_and_Astart
25/30
A* v i heuristic ch p nh n c b o m ng i t i u
Ch ng minh n gi n
(B n c th t ch ng minh?)
25
-
8/7/2019 TTNT-02-Heuristic_and_Astart
26/30
So snh L p Su d n v i A*Trong sch c a Russell and Norvig, trang 107, Hnh4.8
V i 8-puzzle, s tr ng thi cm trung bnh trong 100 bi ton c ch n ng u nhin trong n i t i u di
26
4 b c 8 b c 12 b c
L p Su d n 112 6,300 3.6 x 106
Tm ki m A* dngs sai vtrlm heuristic
13 39 227
A* dngT ng kho ng cchManhattanlm heuristic
12 25 73
-
8/7/2019 TTNT-02-Heuristic_and_Astart
27/30
27 A* : Khuy t i mA* c th dng nhi u b nh .
Trn l thuy t:O(s tr ng thi)
s l n, A* s dng h t b nh .
-
8/7/2019 TTNT-02-Heuristic_and_Astart
28/30
IDA* : Tm ki m V i B nh Gi i h n
A* l p v i su tng d n. Th t s , r t khc so v i A*. Gi s chiph l s nguyn.
1. Th c hi n l p-khng dng DFS, khng m r ng node no cf (n) > 0. C tm th y ch? N u c, d ng.2. Th c hi n l p-khng dng DFS, khng m r ng node no c
f (n) > 1. C tm th y ch? N u c, d ng.-
28
. ,f (n) > 2. C tm th y ch? N u c, d ng.
4. Th c hi n l p-khng dng DFS, khng m r ng node no cf (n) > 3. C tm th y ch? N u c, d ng.
l p l i i u ny, tng ng ngf (n) ln m t 1 m i l n, cho n khi d ng.
Ci ny y B o m tm c l i gi i t i uNi chung t n chi ph nhi u hn A*.
-
8/7/2019 TTNT-02-Heuristic_and_Astart
29/30
i u c n n mHi u th u o A*.C th ch y tay cc v d th c thi A*n gi n.
29
Hi u c tnh ch p nh n c c aheuristics. Ch ng minh tnh y ,b o m tnh t i u c a ng i.C th nh n xt v cc nh gi.
-
8/7/2019 TTNT-02-Heuristic_and_Astart
30/30
Th c m c30