Professional Documents
Culture Documents
T Hoi Vit
Khoa Cng ngh Thng tin
i hc Khoa hc T nhin TPHCM
thviet@fit.hcmuns.edu.vn
Ref: http://www.cs.cmu.edu/~awm/tutorials
Tng qut
Bi ton tm kim
Tm kim Theo chiu Rng
Tnh ti u, Tnh y , phc tp thi
gian v khng gian
Cy Tm kim
Tm kim Theo chiu Su
Mt bi ton Tm kim
GOAL
a
c
e
d
START
h
p
Lm sao i t S n G? V s bin i c th
t nht l g?
3
Bi ton Tm kim
GOAL
a
c
START
h
p
Q = {START, a , b , c , d , e , f , h , p , q , r , GOAL}
S = { START }
G = { GOAL }
succs(b) = { a }
succs(e) = { h , r }
succs(a) = NULL etc.
cost(s,s) = 1 cho tt c cc bin i
5
Bi ton Tm kim
GOAL
a
c
START
h
p
Q = {START, a , b , c , d , e , f , h , p , q , r , GOAL}
S = { START }
G = { GOAL }
succs(b) = { a }
succs(e) = { h , r }
succs(a) = NULL etc.
cost(s,s) = 1 cho tt c cc bin i
6
Cc Bi ton Tm kim
Cc Bi ton Tm kim
Lp lch
8-Hu
G na?
Gii ton
a
c
START
h
p
a
c
0 bc t
start
e
d
START
h
p
10
Tm
kim
Theo
Chiu
Rng
1 bc t
start
GOAL
a
c
0 bc t
start
e
d
START
h
p
11
Tm
kim
Theo
Chiu
Rng
1 bc t
start
GOAL
a
c
0 bc t
start
e
d
START
h
p
2 bc t
start
12
Tm
kim
Theo
Chiu
Rng
1 bc t
start
GOAL
a
c
0 bc t
start
e
d
START
h
p
3 bc t
start
r
2 bc t
start
13
4 bc t
start
Tm
kim
Theo
Chiu
Rng
1 bc t
start
GOAL
a
c
0 bc t
start
e
d
START
h
p
3 bc t
start
r
2 bc t
start
14
Ghi nh ng i!
GOAL
a
c
START
h
p
Ngoi ra, khi gn nhn mt trng thi, ghi nhn trng thi
trc . Ghi nhn ny c gi l con tr quay lui. Lch
s trc c dng pht sinh con ng li gii, khi
tm c ch:
Ti n ch. Ti thy mnh f trc . V ti
r trc khi ti f. V
. do con ng li gii l S e r f G
15
4 bc t
start
1 bc t
start
GOAL
a
c
0 bc t
start
e
d
START
h
p
3 bc t
start
r
2 bc t
start
16
4 bc t
start
1 bc t
start
GOAL
a
c
0 bc t
start
e
d
START
h
p
3 bc t
start
r
2 bc t
start
17
18
BFS
GOAL
a
c
e
d
START
V0
h
p
19
BFS
GOAL
a
c
e
d
START
V0
h
p
V1
20
BFS
GOAL
a
c
e
d
START
V0
h
p
V1
V2
21
BFS
GOAL
a
c
e
d
START
V0
V3
h
p
V1
V2
22
BFS
V4
GOAL
a
c
e
d
START
V0
V3
h
p
V1
V2
23
BFS
V4
GOAL
a
c
e
d
START
V0
V3
h
p
V1
V2
25
a
c
START
h
p
Chi ph chuyn i
GOAL
2
c
b
1
2
9
START
1
p
8
d
15
9
5
30
Hng i u tin
Mt hng i u tin l mt cu
trc d liu trong ta c th
thm v ly cc cp (thing, value)
vi cc ton t sau:
Init-PriQueue(PQ)
khi to PQ rng.
Pop-least(PQ)
31
Hng i u tin
Mt hng i u tin l mt cu
trc d liu trong ta c th
thm v ly cc cp (thing, value)
vi cc ton t sau:
Init-PriQueue(PQ)
khi to PQ rng.
Pop-least(PQ)
Rt r (d khng
Hng i u tin c th c
tuyt i, nhng r
ci t theo mt cch sao cho
khng tin c!)
chi ph ca cc ton t thm v
ly l
O(log(s mc trong hng i u tin))
32
Bt u UCS
GOAL
2
c
b
1
8
2
START
15
PQ = { (S,0) }
34
Lp UCS
GOAL
2
c
b
1
8
2
START
PQ = { (S,0) }
15
q
Lp:
1. Ly trng thi chi ph
thp nht t PQ
2. Thm cc con
35
Lp UCS
GOAL
2
c
b
1
8
2
START
15
Lp:
1. Ly trng thi chi ph
thp nht t PQ
2. Thm cc con
36
Lp UCS
GOAL
2
c
b
1
8
2
START
15
Lp:
1. Ly trng thi chi ph
thp nht t PQ
2. Thm cc con
37
Lp UCS
GOAL
2
c
b
1
8
2
START
15
Lp:
1. Ly trng thi chi ph
thp nht t PQ
2. Thm cc con
38
Lp UCS
GOAL
2
c
b
1
8
2
START
15
Lp:
1. Ly trng thi chi ph
thp nht t PQ
2. Thm cc con
39
Lp UCS
GOAL
2
c
b
1
8
2
START
15
Lp:
1. Ly trng thi chi ph
thp nht t PQ
2. Thm cc con
40
Lp UCS
GOAL
2
c
b
1
8
2
START
15
PQ = { (a,6),(h,6),(c,11),(r,14),(q,16) }
Lp:
1. Ly trng thi chi ph
thp nht t PQ
2. Thm cc con
41
Lp UCS
GOAL
2
c
b
1
8
2
START
15
PQ = { (h,6),(c,11),(r,14),(q,16) }
Lp:
1. Ly trng thi chi ph
thp nht t PQ
2. Thm cc con
42
Lp UCS
GOAL
2
c
b
1
8
2
START
15
PQ = { (q,10), (c,11),(r,14) }
Lp:
1. Ly trng thi chi ph
thp nht t PQ
2. Thm cc con
43
Lp UCS
GOAL
2
c
b
1
8
2
START
15
PQ = { (q,10), (c,11),(r,14) }
Lp:
1. Ly trng thi chi ph
thp nht t PQ
2. Thm cc con
44
Lp UCS
GOAL
2
c
b
1
8
2
START
15
PQ = { (c,11),(r,13) }
q
Lp:
1. Ly trng thi chi ph
thp nht t PQ
2. Thm cc con
45
Lp UCS
GOAL
2
c
b
1
8
2
START
PQ = { (r,13) }
15
q
Lp:
1. Ly trng thi chi ph
thp nht t PQ
2. Thm cc con
46
Lp UCS
GOAL
2
c
b
1
8
2
START
PQ = { (f,18) }
15
q
Lp:
1. Ly trng thi chi ph
thp nht t PQ
2. Thm cc con
47
Lp UCS
GOAL
2
c
b
1
8
2
START
PQ = { (G,23) }
15
q
Lp:
1. Ly trng thi chi ph
thp nht t PQ
2. Thm cc con
48
Lp UCS
GOAL
2
c
b
1
8
2
START
PQ = { (G,23) }
15
q
Lp:
1. Ly trng thi chi ph
thp nht t PQ
2. Thm cc con
49
Kt thc UCS
GOAL
2
c
b
1
8
2
START
15
f
9
PQ = { }
q
Lp:
1. Ly trng thi chi ph
thp nht t PQ
2. Thm cc con
50
GOAL
START
51
di ng i t start n goal vi s bc
ngn nht
Chng ta nh gi thut ton nh th no?
52
nh gi mt thut ton
N
Thut ton
Ti u Thi gian
Khng gian
BFS
Breadth First C
Search
Nu tt c
chuyn i
cng chi
ph
O(min(N,BL))
O(min(N,BL))
LCBFS
Least Cost
BFS
O(BL)
O(min(N,BL))
UCS
Uniform
Cost Search
53
2
c
b
1
8
2
START
15
4
q
5
3
a
c
b
START
START d
START d b
START
START d b a
START d c
START d c a
START d e
START d e r
START d e r f
START d e r f c
START d e r f c a
START d e r f GOAL
f
h
55
GOAL
Bn c th v th
t m trong
cc node ca cy
tm kim c
ving?
START
56
57
58
nh gi mt thut ton
N
Thut ton
Ti u Thi gian
Khng gian
BFS
Breadth First C
Search
Nu chi
ph chuyn
i nh
nhau
O(min(N,BL))
O(min(N,BL))
LCBFS
Least Cost
BFS
O(BL)
O(min(N,BL))
UCS
Uniform
Cost Search
DFS
Depth First
Search
59
nh gi mt thut ton
N
Thut ton
Ti u Thi gian
Khng gian
BFS
Breadth First C
Search
Nu chi
ph chuyn
i nh
nhau
O(min(N,BL))
O(min(N,BL))
LCBFS
Least Cost
BFS
O(BL)
O(min(N,BL))
UCS
Uniform
Cost Search
DFS
Depth First
Search
N/A
N/A
60
nh gi mt thut ton
N
LMAX
di ng i di nht t start n bt c u
Thut ton
Ti u Thi gian
Khng gian
BFS
Breadth First C
Search
Nu chi
ph chuyn
i nh
nhau
O(min(N,BL))
O(min(N,BL))
LCBFS
Least Cost
BFS
O(BL)
O(min(N,BL))
UCS
Uniform
Cost Search
DFS**
Depth First
Search
Gi s Khng gian Tm
kim khng chu trnh
61
nh gi mt thut ton
N
LMAX
di ng i di nht t start n bt c u
Thut ton
Ti u Thi gian
Khng gian
BFS
Breadth First C
Search
Nu chi
ph chuyn
i nh
nhau
O(min(N,BL))
O(min(N,BL))
LCBFS
Least Cost
BFS
O(BL)
O(min(N,BL))
UCS
Uniform
Cost Search
DFS**
Depth First
Search
O(BLMAX)
Gi s Khng gian Tm
kim khng chu trnh
O(LMAX)
62
Cu hi suy ngh
Lm sao ngn
nga lp v tn
trong DFS ?
Lm sao bt buc
n a ra mt li
gii ti u?
B
C
63
Cu hi suy ngh
Tr li 1:
PC-DFS (Path Checking DFS):
Lm sao ngn
nga lp v tn
trong DFS ?
Lm sao bt buc
n a ra mt li
gii ti u?
A
Dont
recurse on a state
if that state is already in
B
the current path
Tr li 2:
A
64
Cu hi suy ngh
Tr li 1:
PC-DFS (Path Checking DFS):
Lm sao ngn
nga lp v tn
trong DFS ?
Lm sao bt buc
n a ra mt li
gii ti u?
A
Khng
gi li mt trng
thi nu n c trn
B
ng i
Tr li 2:
A
65
Cu hi suy ngh
Tr li 1:
PC-DFS (Path Checking DFS):
Lm sao ngn
nga lp v tn
trong DFS ?
Lm sao bt buc
n a ra mt li
gii ti u?
A
Khng
gi li mt trng
thi nu n c trn
B
ng i
Tr li 2:
A
66
LMAX
Thut ton
Ti u Thi gian
Khng gian
BFS
Breadth First C
Search
Nu chi
ph chuyn
i nh
nhau (1)
O(min(N,BL))
O(min(N,BL))
LCBFS
Least Cost
BFS
O(BL)
O(min(N,BL))
UCS
Uniform
Cost Search
O(BLMAX)
O(LMAX)
MEMDFS Memoizing
O(min(N,BLMAX))
O(min(N,BLMAX))
DFS
DFS
67
Lp Su dn
Lp su dn l mt thut ton n gin
dng DFS lm mt th tc con:
68
nh gi mt thut ton
N
LMAX
Thut ton
Ti u Thi gian
Khng gian
BFS
Breadth First C
Search
Nu chi
ph chuyn
i nh
nhau (1)
O(min(N,BL))
O(min(N,BL))
LCBFS
Least Cost
BFS
O(BL)
O(min(N,BL))
UCS
Uniform
Cost Search
O(BLMAX)
O(LMAX)
MEMDFS Memoizing
O(min(N,BLMAX))
O(min(N,BLMAX))
(1)
O(BL)
O(L)
DFS
DFS
ID
Iterative
Deepening
69
iu cn nm
Hiu thu o v BFS, LCBFS, UCS,
DFS, PCDFS, MEMDFS
Hiu cc khi nim v vic liu mt tm
kim l y , ti u hay khng, phc
tp v thi gian v khng gian ca n
Hiu tng ng sau lp su dn.
70