chapter03 uristic search
DESCRIPTION
Determine with Heuristic Search MethodTRANSCRIPT
-
AI ..
@ 1
3Heuristic Search1.
(Sequencial Search) 2 (Blind Search) (Heuristic Search)
2. (Blind search)
(Depth first search) (Breadth first search)
2.1
-
AI ..
@ 2
(Root node) (Terminal node) 1
1
8 142
6 93 15 1712
5 74 11 1310 18 1916
1
( ) (pop)
AB
DC
F
E
G
H
2 A B C A
C C C D F (Push) B D F C F
-
AI ..
@ 3
G B D G (A C F G H E D B) 1
A B CC B D FF B D GG B D HH B D EE B DD BB
1
1 2 STACK 3 1. 1 STACK 22. STACK 3
4 STACK 0 1 () 2 STACK 2
3. 4.
-
AI ..
@ 4
2.2
( 0) 1 1 2 3
1
3 42
6 75 9 108
12 1311 15 1614 18 1917
3 (Queue)
AB
DC
F
E
G
H
4
A B C A B D E B D E B (A B C D E F G H) 2
A B CB C D E
-
AI ..
@ 5
C D E FD E F G HE F G HF G HG HH
2
1 2 QUEUE 3 1. 1 QUEUE 22. QUEUE 3
4 QUEUE 0 1 () 2 QUEUE 2
3. 4.
3. (heuristic search)
-
AI ..
@ 6
(heuristic function) (aspects) Weak Methods Weak Methods (general-purposecontrol stategies)
3.1 (Branch and bound)
(Traveling Salesman)
n (n-1) * (n-2) * (n-3) 1 (n-1)! 10
-
AI ..
@ 7
10! 3,628,800 25
(Branch and bound)
A B C DA 0 20 30 50B 0 15 20C 0 10D 0
3
A B C D 4 A B C D
A B C D = 20 + 15 + 10 = 45 A C B B
A C B = 30 + 15 = 45
A C B A C D B 60
A C D B = 30 + 10 + 20 = 60 A D
A D = 50 A D A B C D
-
AI ..
@ 8
1. 2.
2.1 2.2
3
(complete path)
3.2 (Generate and Test)
-
AI ..
@ 9
1.
path 2.
path 3. 2
1 5
O @
@ @ O O
@ O
2 1. 1 2. 1
O O @ @
5 @ O
(path) 6
@ @ O O @ @ O O @ O @ O @ O @ O @ O O @
@ O O @
6
-
AI ..
@ 10
7
@ @ O O @ @ O O @ O @ O @ O @ O @ O O @
O @ @ O O @ @ O
@ O O @
7 2 O @ @ O
8
@ @ O O @ @ O O @ O @ O @ O @ O @ O O @
O @ @ O O @ @ O
@ O @ O
O @ @ O
O @ O @
O @ O @ O O @ O O O @ @
@ O O @
7 2 O O @ @
9
-
AI ..
@ 11
@ @ O O @ @ O O @ O @ O
@ O @ O
O @ @ O
O @ O @
O @ O @ O O @ O O O @ @
(path)
9
(complete path) (Depth first search) (back tracking)
British Museum Algorithm
(Heuristic function)
3.2 (Hill Climbing)(Hill climbing)
-
AI ..
@ 12
generate-and-test generate and test (test function) yes no hill climbing
3.2.1 Simple Hill Climbing1.
(current state) 2
2.
2.1
2.2
2
-
AI ..
@ 13
OO @@@@ OO @@ OO
@ O
@@ OO
12
11
@ O@O 9
O@ O@ 8
O O@@ 6
@ O@O 8
@O O@ 6
@O @O 4
@O @O 3
O @@O 1
OO @@ 0
O@ @O 6
O@ @O 5
1
2
3
4
5
6
7
8
9
10
11
12
13
3.2.2 (Steepest-Ascent Hill Climbing)1.
(current state) 2
2.
2.1 SUCC 2.2
SUCC SUCC
2.3 SUCC SUCC
-
AI ..
@ 14
@@ OO
@@ OO
12
11
@ O@O 9
O@ O@ 8 @ O@O 8
@O O@ 6
@O @O 4
@O @O 3
O @@O 1
OO @@ 0
1
2
3
4
5
6
7
8
9
@@ OO 11
@@ OO 10
steepest ascent
Hill climbing generate andtest
!!!! (Local Maximum): (a) 1 B C B C B C 1 C E 1 B
-
AI ..
@ 15
!!!! (Plateau): (b) 3 A
!!!! (Ridge):
3.2.3 (Simulated Annealing)
(Kritpatrick., 1983) (annealing) ()
A
G
CB
ED F
5 7
8910 11
A
DB 7 7C 7
(b)
(a)
-
AI ..
@ 16
p = e - E/KT
E K Boltmann T
K T
p = e - E/T
T T P ( local maximum) T ( local maximum) T T T annealing schedule localmaximum (problem space) local maximum T T T simulated annealing
1. (current state) 2
2. BEST (pointer) SUCC 3. annealing schedule T4. SUCC
-
AI ..
@ 17
a) SUCCb)
return
SUCC BEST
E = - p 0-1 1 p p p p SUCC
c) T annealing schedule5. return BEST
3.3 (Best-first search) (Depth first
search) (Breadth first search) (most promising) 2.7 1 (root node) 2 B C B C 3 1 C ( ) C 3 D E 4 6 (terminal node) B 3 ( )
-
AI ..
@ 18
4 F G 6 5
A A
CB 3 1
A
CB 3
D E 64A
CB 3
D E 64F G 56
: 1. OPEN 2. OPEN
OPEN
i) OPEN
ii)
3.3.1 (Greedy Algorithm) (Best first search)
-
AI ..
@ 19
1. 2. 3.
3.1 3.2
4. 2
A B C D 3
A
DB C20 30 50
DC 15 20
D 10
D
B C
A
20
50
30
15
20 10
13
13 A B C D A 20 30 50 B B C D 15 20 C C D 10 D A 20 + 15 + 10 + 50 = 95
3.3.2 A*
-
AI ..
@ 20
A* A* A* 2 f g cost h' cost
f = g + h A*(A* algorithm) A*
(description) (indicator) (pointer) parent (list) parent-link recover
2 + OPEN priority queue QUEUE + CLOSE
f' f' 2 g = cost h'= cost
-
AI ..
@ 21
f=g+h' g
1. OPEN (initial node) 0 g = 0 h' f=h'+0 CLOSED 2. :
2.1 OPEN fail2.2 OPEN f BESTNODE
OPEN CLOSED BESTNODE
2.3 BESTNODE BESTNODE BESTNODE
BESTNODE
g(SUCCESSOR) = g(BESTNODE) + cost BESTNODE SUCCESSOR
cost SUCCESSOR cost OPEN : OLD SUCCESSOR OLD BESTNODE parent link OLD BESTNODE ( SUCCESSOR OLD ) parent SUCCESSOR BESTNODE SUCCESSOR g OLD SUCCESSOR parent OLD BESTNODE g(OLD) update f(OLD)
-
AI ..
@ 22
SUCCESSOR OPEN CLOSE OLD OLD BESTNODE's successor ( ) parent g f' OLD (propagate) OLD OLD SUCCESSOR (terminal node) OPEN (propagate cost) depth-first traverse tree OLD g (f' ) traverse parent link parent parent g g current parent current parent parent
SUCCESSOR OPEN CLOSE OPEN BESTNODE
f'(SUCCESSOR) = g(SUCCESSOR) + h'(SUCCESSOR)
A* 8-puzzle g h g h
-
AI ..
@ 23
2 8 3
1 6 4
7 5
1 2 3
4 5 6
7 8 9
2 3
1 8 4
7 6 5
1 2 3
8 4
7 6 5
g 1 0 1 2 3 4 0 5 1 8 1 1=0, 2=0, 3=0, 4=0, 5=1, 6=0, 7=0, 8=1, 9=0 g=2 h' 1=1, 2=0, 3=0, 4=1, 5=1, 6=0, 7=0, 8=0, 9=0 h'=3f = 2 + 3 = 5
-
AI ..
@ 24
2 8 3
1 6 4
7 5
2 8 3
1 6 4
7 5
2 8 3
1 4
7 6 5
2 8 3
1 6 4
7 5
2 8 3
1 4
7 6 5
2 3
1 8 4
7 6 5
2 8 3
1 4
7 6 5
2 8 3
7 1 4
6 5
2 3
1 8 4
7 6 5
2 3
1 8 4
7 6 5
1 2 3
8 4
7 6 5
1 2 3
8 4
7 6 5
1 8 3
7 8 4
6 5
8 3
2 1 4
7 6 5
f=0+4
f=1+5f=1+3f=1+5
f=2+3 f=2+3 f=2+4
f=3+3
f=3+4 f=3+2 f=3+4
f=4+1
f=5+0 f=5+2
8-puzzle A*
1.
g=0
-
AI ..
@ 25
( 1)
2. h' h () h' perfect estimator h, A* algorithm
h'= h'= 0 g g=0 random g 1 breadth-first
3.3.2 Agendas Best-First Search: 1. most promising task 2. task (resource) time space task task (successor node)
- agenda (justification) task agenda - task task
3.3.3 Problem Reduction
-
AI ..
@ 26
AND-OR AND AND AND-OR
2.8 AND
Traverse 1. traverse (initial node) expand 2. f'( h' ) 3. f' 2 arcs (mostpromising)
2.9 cost AND
cost cost = 1 A ->B cost = 5+1 = 6 A ->C & D cost = 3+4+1+1 = 9
AO*(AO* algorithm) 1. G INIT h'(INIT) 2. INIT SOLVED h' INIT FUTILITY
-
AI ..
@ 27
- Trace mark INIT NODE - NODE FUTILITY h' NODE NODE + SUCCESSOR G + SUCCESSOR SOLVED h'=0 + SUCCESSOR h' 3. S SOLVED h' parent S NODE S
3.4 Constrain satisfaction
3.5 Mean-End Analysis Mean-end analysis
General Problem Solver(GPS) Mean end analysis Mean-End Analysis (precondition)
Operator Precondition ResultPUSH(obj, loc) at(robot,obj)^
large(obj)^clear(obj)^armempty
at(obj, loc)^at(robot, loc)
CARRY(obj.loc) at(robot,obj)^amall(obj)
at(obj, loc)^at(robot, loc)
WALK(loc) none at(robot, loc)
-
AI ..
@ 28
PICKUP(loc) at(robot, obj) holding(obj)PUTDOWN(obj) holding(obj) ~holding(obj)PLACE(obj1,obj2) at(robot,obj2)^
holding(obj1)on(obj1, obj2)
9
Push Carry Walk Pickup Putdown PlaceMove object * *Move robot *Clear object *Get object on object *Get arm empty * *Be holding object *
2.10
2
A walk pick up put down pick up put down B push C E place D
-
AI ..
@ 29
Heuristic Search 5 O @ simulated annealing