cs b551: element sof artificial intelligence
DESCRIPTION
CS B551: Element sof Artificial Intelligence. Instructor: Kris Hauser http://cs.indiana.edu/~hauserk. Recap. Blind Search Breadth first (complete, optimal) Depth first (incomplete, not optimal) Iterative deepening (complete, optimal ) Nonuniform costs Revisited states. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/1.jpg)
1
CS B551: ELEMENT SOF ARTIFICIAL INTELLIGENCEInstructor: Kris Hauserhttp://cs.indiana.edu/~hauserk
![Page 2: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/2.jpg)
2
RECAP Blind Search
Breadth first (complete, optimal) Depth first (incomplete, not optimal) Iterative deepening (complete, optimal)
Nonuniform costs Revisited states
![Page 3: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/3.jpg)
3
THREE SEARCH ALGORITHMS Search #1: unit costs
With or without detecting revisited states Search #2: non-unit costs, not detecting
revisited states Goal test when node is expanded, not
generated Search #3: non-unit costs, detecting revisited
states When two nodes in fringe share same state, the
one with the lowest path cost is kept
![Page 4: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/4.jpg)
4
HEURISTIC SEARCH
![Page 5: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/5.jpg)
5
BLIND VS. HEURISTIC STRATEGIES Blind (or un-informed) strategies do not
exploit state descriptions to order FRINGE. They only exploit the positions of the nodes in the search tree
Heuristic (or informed) strategies exploit state descriptions to order FRINGE (the most “promising” nodes are placed at the beginning of FRINGE)
![Page 6: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/6.jpg)
6
EXAMPLEFor a blind strategy, N1 and N2 are just two nodes (at some position in the search tree)
Goal state
N1
N2
STATE
STATE
1
23 45 6
78
1 2 34 5
67 8
1 2 34 5 67 8
![Page 7: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/7.jpg)
7
EXAMPLEFor a heuristic strategy counting the number of misplaced tiles, N2 is more promising than N1
Goal state
N1
N2
STATE
STATE
1
23 45 6
78
1 2 34 5
67 8
1 2 34 5 67 8
![Page 8: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/8.jpg)
8
BEST-FIRST SEARCH It exploits state description to estimate how
“good” each search node is
An evaluation function f maps each node N of the search tree to a real number f(N) 0 [Traditionally, f(N) is an estimated cost; so, the smaller f(N), the more promising N]
Best-first search sorts FRINGE in increasing f [Arbitrary order is assumed among nodes with equal f]
![Page 9: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/9.jpg)
9
BEST-FIRST SEARCH It exploits state description to estimate how
“good” each search node is
An evaluation function f maps each node N of the search tree to a real number f(N) 0 [Traditionally, f(N) is an estimated cost; so, the smaller f(N), the more promising N]
Best-first search sorts FRINGE in increasing f [Arbitrary order is assumed among nodes with equal f]
“Best” does not refer to the quality of the generated pathBest-first search does not generate optimal paths in general
![Page 10: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/10.jpg)
10
HOW TO CONSTRUCT F? Typically, f(N) estimates:
either the cost of a solution path through N Then f(N) = g(N) + h(N), where
g(N) is the cost of the path from the initial node to N h(N) is an estimate of the cost of a path from N to a
goal node or the cost of a path from N to a goal node
Then f(N) = h(N) Greedy best-first-search
But there are no limitations on f. Any function of your choice is acceptable. But will it help the search algorithm?
![Page 11: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/11.jpg)
11
HOW TO CONSTRUCT F? Typically, f(N) estimates:
either the cost of a solution path through N Then f(N) = g(N) + h(N), where
g(N) is the cost of the path from the initial node to N h(N) is an estimate of the cost of a path from N to a
goal node or the cost of a path from N to a goal node
Then f(N) = h(N) Greedy best-first-search
But there are no limitations on f. Any function of your choice is acceptable. But will it help the search algorithm?
Heuristic function
![Page 12: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/12.jpg)
12
HEURISTIC FUNCTION The heuristic function h(N) 0 estimates the cost
to go from STATE(N) to a goal state
Its value is independent of the current search tree; it depends only on STATE(N) and the goal test GOAL?
Example:
h1(N) = number of misplaced numbered tiles = 6 [Why is it an estimate of the distance to the goal?]
147
52
63
8
STATE(N)
647
152
8
3
Goal state
![Page 13: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/13.jpg)
13
OTHER EXAMPLES
h1(N) = number of misplaced numbered tiles = 6 h2(N) = sum of the (Manhattan) distance of
every numbered tile to its goal position = 2 + 3 + 0 + 1 + 3 + 0 + 3 + 1 = 13
h3(N) = sum of permutation inversions = n5 + n8 + n4 + n2 + n1 + n7 + n3 + n6
= 4 + 6 + 3 + 1 + 0 + 2 + 0 + 0 = 16
147
52
63
8
STATE(N)
647
152
8
3
Goal state
![Page 14: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/14.jpg)
14
8-PUZZLE
4
5
5
3
3
4
3 4
4
2 12
0
3
4
3
f(N) = h(N) = number of misplaced numbered tiles
The white tile is the empty tile
![Page 15: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/15.jpg)
15
8-PUZZLE
0+4
1+5
1+5
1+3
3+3
3+4
3+4
3+2 4+15+2
5+0
2+3
2+4
2+3
f(N) = g(N) + h(N) with h(N) = number of misplaced numbered tiles
![Page 16: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/16.jpg)
16
8-PUZZLE
2
0
f(N) = h(N) = S distances of numbered tiles to their goals
5
6
6
44
2 1
5
5
3
![Page 17: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/17.jpg)
17
ROBOT NAVIGATION
xN
yNN
xg
yg
2 2g g1 N Nh (N) = (x -x ) +(y -y ) (L2 or Euclidean distance)
h2(N) = |xN-xg| + |yN-yg| (L1 or Manhattan distance)
![Page 18: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/18.jpg)
18
BEST-FIRST EFFICIENCY
f(N) = h(N) = straight distance to the goal
Local-minimum problem
![Page 19: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/19.jpg)
ADMISSIBLE HEURISTIC Let h*(N) be the cost of the optimal path
from N to a goal node
The heuristic function h(N) is admissible if: 0 h(N) h*(N)
An admissible heuristic function is always optimistic !
![Page 20: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/20.jpg)
20
ADMISSIBLE HEURISTIC Let h*(N) be the cost of the optimal path
from N to a goal node
The heuristic function h(N) is admissible if: 0 h(N) h*(N)
An admissible heuristic function is always optimistic !
G is a goal node h(G) = 0
![Page 21: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/21.jpg)
21
8-PUZZLE HEURISTICS
h1(N) = number of misplaced tiles = 6is ???
147
52
63
8
STATE(N)
647
152
8
3
Goal state
![Page 22: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/22.jpg)
22
8-PUZZLE HEURISTICS
h1(N) = number of misplaced tiles = 6is admissible
h2(N) = sum of the (Manhattan) distances of every tile to its goal position = 2 + 3 + 0 + 1 + 3 + 0 + 3 + 1 = 13is ???
147
52
63
8
STATE(N)
647
152
8
3
Goal state
![Page 23: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/23.jpg)
23
8-PUZZLE HEURISTICS
h1(N) = number of misplaced tiles = 6is admissible
h2(N) = sum of the (Manhattan) distances of every tile to its goal position = 2 + 3 + 0 + 1 + 3 + 0 + 3 + 1 = 13is admissible
h3(N) = sum of permutation inversions = 4 + 6 + 3 + 1 + 0 + 2 + 0 + 0 = 16 is ???
147
52
63
8
STATE(N)
647
152
8
3
Goal state
![Page 24: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/24.jpg)
24
8-PUZZLE HEURISTICS
h1(N) = number of misplaced tiles = 6is admissible
h2(N) = sum of the (Manhattan) distances of every tile to its goal position = 2 + 3 + 0 + 1 + 3 + 0 + 3 + 1 = 13is admissible
h3(N) = sum of permutation inversions = 4 + 6 + 3 + 1 + 0 + 2 + 0 + 0 = 16 is not admissible
147
52
63
8
STATE(N)
647
152
8
3
Goal state
![Page 25: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/25.jpg)
25
ROBOT NAVIGATION HEURISTICS
Cost of one horizontal/vertical step = 1Cost of one diagonal step = 2
2 2g g1 N Nh (N) = (x -x ) +(y -y ) is admissible
![Page 26: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/26.jpg)
26
ROBOT NAVIGATION HEURISTICS
Cost of one horizontal/vertical step = 1Cost of one diagonal step = 2
h2(N) = |xN-xg| + |yN-yg| is ???
![Page 27: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/27.jpg)
27
ROBOT NAVIGATION HEURISTICS
Cost of one horizontal/vertical step = 1Cost of one diagonal step = 2
h2(N) = |xN-xg| + |yN-yg| is admissible if moving along diagonals is not allowed, and not admissible otherwiseh*(I) = 42
h2(I) = 8
![Page 28: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/28.jpg)
28
HOW TO CREATE AN ADMISSIBLE H? An admissible heuristic can usually be seen
as the cost of an optimal solution to a relaxed problem (one obtained by removing constraints)
In robot navigation: The Manhattan distance corresponds to
removing the obstacles The Euclidean distance corresponds to removing
both the obstacles and the constraint that the robot moves on a grid
More on this topic later
![Page 29: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/29.jpg)
29
A* SEARCH(MOST POPULAR ALGORITHM IN AI) f(N) = g(N) + h(N), where:
g(N) = cost of best path found so far to N h(N) = admissible heuristic function
for all arcs: c(N,N’) > 0
SEARCH#2 algorithm is used
Best-first search is then called A* search
![Page 30: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/30.jpg)
30
8-PUZZLE
0+4
1+5
1+5
1+3
3+3
3+4
3+4
3+2 4+15+2
5+0
2+3
2+4
2+3
f(N) = g(N) + h(N) with h(N) = number of misplaced numbered tiles
![Page 31: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/31.jpg)
31
ROBOT NAVIGATION
![Page 32: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/32.jpg)
32
ROBOT NAVIGATION
0 211
58 7
7
34
7
676 3 2
86
4523 3
36 5 24 43 5
54 65
6
45
f(N) = h(N), with h(N) = Manhattan distance to the goal(not A*)
![Page 33: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/33.jpg)
33
ROBOT NAVIGATION
0 211
58 7
7
34
7
676 3 2
86
4523 3
36 5 24 43 5
54 65
6
45
f(N) = h(N), with h(N) = Manhattan distance to the goal(not A*)
70
![Page 34: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/34.jpg)
34
ROBOT NAVIGATION
f(N) = g(N)+h(N), with h(N) = Manhattan distance to goal (A*)
0 211
58 7
7
34
7
676 3 2
86
4523 3
36 5 24 43 5
54 65
6
457+0
6+16+1
8+17+0
7+26+1
7+26+1
8+1
7+28+3
7+26+36+35+45+44+54+53+63+62+7
8+37+47+46+55+66+35+6
2+73+8
4+75+64+7
3+84+73+83+82+92+93+10
2+93+82+91+101+100+110+11
![Page 35: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/35.jpg)
35
RESULT #1A* is complete and optimal
[This result holds if nodes revisiting states are not discarded]
![Page 36: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/36.jpg)
36
PROOF (1/2) If a solution exists, A* terminates and
returns a solution
- For each node N on the fringe, f(N) = g(N)+h(N) g(N) d(N)ϵ, where d(N) is the depth of N in the tree
![Page 37: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/37.jpg)
37
PROOF (1/2) If a solution exists, A* terminates and
returns a solution
- For each node N on the fringe, f(N) = g(N)+h(N) g(N) d(N)ϵ, where d(N) is the depth of N in the tree- As long as A* hasn’t terminated, a node K on the fringe lies on a solution path
K
![Page 38: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/38.jpg)
38
PROOF (1/2) If a solution exists, A* terminates and
returns a solution
- For each node N on the fringe, f(N) = g(N)+h(N) g(N) d(N)ϵ, where d(N) is the depth of N in the tree- As long as A* hasn’t terminated, a node K on the fringe lies on a solution path- Since each node expansion increases the length of one path, K will eventually be
selected for expansion, unless a solution is found along another path
K
![Page 39: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/39.jpg)
39
PROOF (2/2) Whenever A* chooses to expand a goal
node, the path to this node is optimal
K
- C*= cost of the optimal solution path
- G’: non-optimal goal node in the fringe f(G’) = g(G’) + h(G’) = g(G’) C*- A node K in the fringe lies on an optimal path:
f(K) = g(K) + h(K) C*- So, G’ will not be selected for expansion
G’
![Page 40: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/40.jpg)
40
COMPLEXITY OF A* A* expands all nodes with f(N) < C* A* may expand non-solution nodes with f(N)
= C* May be an exponential number of nodes
unless the heuristic is sufficiently accurate Within O(log h*(N)) of h*(N)
When a problem has no solution, A* runs forever if the state space is infinite or if states can be revisited an arbitrary number of times. In other cases, it may take a huge amount of time to terminate
![Page 41: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/41.jpg)
41
WHAT TO DO WITH REVISITED STATES?
c = 1
100
21
2
h = 100
0
90
1
The heuristic h is clearly admissible
![Page 42: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/42.jpg)
42
WHAT TO DO WITH REVISITED STATES?
c = 1
100
21
2
h = 100
0
90
1
104
4+90
f = 1+100 2+1
?If we discard this new node, then the searchalgorithm expands the goal node next andreturns a non-optimal solution
![Page 43: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/43.jpg)
43
It is not harmful to discard a node revisiting a state if the cost of the new path to this state is cost of the previous path[so, in particular, one can discard a node if it re-visits a state already visited by one of its ancestors]
A* remains optimal, but states can still be re-visited multiple times [the size of the search tree can still be exponential in the number of visited states]
Fortunately, for a large family of admissible heuristics – consistent heuristics – there is a much more efficient way to handle revisited states
![Page 44: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/44.jpg)
44
CONSISTENT HEURISTIC An admissible heuristic h is consistent (or
monotone) if for each node N and each child N’ of N:
(triangle inequality)
N
N’ h(N)
h(N’)
c(N,N’)
Intuition: a consistent heuristics becomes more precise as we get deeper in the search tree
h(N) c(N,N’) + h(N’)
![Page 45: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/45.jpg)
45
CONSISTENCY VIOLATION
N
N’ h(N)=100
h(N’)=10
c(N,N’)=10
(triangle inequality)
If h tells that N is 100 units from the goal, then moving from N along an arc costing 10 units should not lead to a node N’ that h estimates to be 10 units away from the goal
![Page 46: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/46.jpg)
46
CONSISTENT HEURISTIC(ALTERNATIVE DEFINITION) A heuristic h is consistent (or monotone) if 1. for each node N and each child N’ of N:
h(N) c(N,N’) + h(N’)2. for each goal node G:
h(G) = 0
(triangle inequality)
N
N’ h(N)
h(N’)
c(N,N’)
A consistent heuristic is also admissible
![Page 47: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/47.jpg)
47
ADMISSIBILITY AND CONSISTENCY A consistent heuristic is also admissible
An admissible heuristic may not be consistent, but many admissible heuristics are consistent
![Page 48: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/48.jpg)
48
8-PUZZLE1 2 34 5 67 8
123
45
67
8
STATE(N) goal
h1(N) = number of misplaced tiles h2(N) = sum of the (Manhattan) distances
of every tile to its goal positionare both consistent (why?)
N
N’ h(N)
h(N’)
c(N,N’)
h(N) c(N,N’) + h(N’)
![Page 49: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/49.jpg)
49
ROBOT NAVIGATION
Cost of one horizontal/vertical step = 1Cost of one diagonal step = 2
2 2g g1 N Nh (N) = (x -x ) +(y -y )
h2(N) = |xN-xg| + |yN-yg|is consistent
is consistent if moving along diagonals is not allowed, and not consistent otherwise
N
N’ h(N)
h(N’)
c(N,N’)
h(N) c(N,N’) + h(N’)
![Page 50: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/50.jpg)
50
RESULT #2 If h is consistent, then whenever A* expands
a node, it has already found an optimal path to this node’s state
![Page 51: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/51.jpg)
51
PROOF (1/2)1. Consider a node N and its child N’
Since h is consistent: h(N) c(N,N’)+h(N’)
f(N) = g(N)+h(N) g(N)+c(N,N’)+h(N’) = f(N’)So, f is non-decreasing along any path
N
N’
![Page 52: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/52.jpg)
52
PROOF (2/2)2. If a node K is selected for expansion, then any other node
N in the fringe verifies f(N) f(K)
If one node N lies on another path to the state of K, the cost of this other path is no smaller than that of the path to K:f(N’) f(N) f(K) and h(N’) = h(K)So, g(N’) g(K)
K N
N’S
![Page 53: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/53.jpg)
53
PROOF (2/2)2. If a node K is selected for expansion, then any other node
N in the fringe verifies f(N) f(K)
If one node N lies on another path to the state of K, the cost of this other path is no smaller than that of the path to K:f(N’) f(N) f(K) and h(N’) = h(K)So, g(N’) g(K)
K N
N’S
If h is consistent, then whenever A* expands a node, it has already found an optimal path to this node’s state
Result #2
![Page 54: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/54.jpg)
54
IMPLICATION OF RESULT #2
N N1S S1
The path to N is the optimal path to S
N2
N2 can be discarded
![Page 55: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/55.jpg)
55
REVISITED STATES WITH CONSISTENT HEURISTIC (SEARCH#3) When a node is expanded, store its state into
CLOSED When a new node N is generated:
If STATE(N) is in CLOSED, discard N If there exists a node N’ in the fringe such that
STATE(N’) = STATE(N), discard the node – N or N’ – with the largest f (or, equivalently, g)
![Page 56: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/56.jpg)
56
A* IS OPTIMAL IF h admissible (but not necessarily consistent)
Revisited states not detected Search #2 is used
h is consistent Revisited states detected Search #3 is used
![Page 57: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/57.jpg)
57
HEURISTIC ACCURACY Let h1 and h2 be two consistent heuristics
such that for all nodes N: h1(N) h2(N)
h2 is said to be more accurate (or more informed) than h1
h1(N) = number of misplaced tiles
h2(N) = sum of distances of every tile to its goal position
h2 is more accurate than h1
147
52
63
8
STATE(N)
647
152
8
3
Goal state
![Page 58: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/58.jpg)
58
RESULT #3 Let h2 be more accurate than h1 Let A1* be A* using h1
and A2* be A* using h2 Whenever a solution exists, all the nodes
expanded by A2*, except possibly for some nodes such that f1(N) = f2(N) = C* (cost of optimal solution)are also expanded by A1*
![Page 59: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/59.jpg)
59
PROOF C* = h*(initial-node) [cost of optimal solution]
Every node N such that f(N) C* is eventually expanded. No node N such that f(N) > C* is ever expanded
Every node N such that h(N) C*g(N) is eventually expanded. So, every node N such that h2(N) C*g(N) is expanded by A2*. Since h1(N) h2(N), N is also expanded by A1*
If there are several nodes N such that f1(N) = f2(N) = C* (such nodes include the optimal goal nodes, if there exists a solution), A1* and A2* may or may not expand them in the same order (until one goal node is expanded)
![Page 60: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/60.jpg)
60
HOW TO CREATE GOOD HEURISTICS? By solving relaxed problems at each node In the 8-puzzle, the sum of the distances of each tile to its
goal position (h2) corresponds to solving 8 simple problems:
It ignores negative interactions among tiles
147
52
63
864
7
152
8
3
55
di is the length of theshortest path to movetile i to its goal position, ignoring the other tiles,e.g., d5 = 2
h2 = Si=1,...8 di
![Page 61: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/61.jpg)
61
CAN WE DO BETTER? For example, we could consider two more
complex relaxed problems:
h = d1234 + d5678 [disjoint pattern heuristic]
147
52
63
864
7
152
8
3
32 14 4
1 2 3
d1234 = length of the shortest path to move tiles 1, 2, 3, and 4 to their goal positions, ignoring the other tiles
67
587
5
6
8
d5678
![Page 62: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/62.jpg)
62
CAN WE DO BETTER? For example, we could consider two more
complex relaxed problems:
h = d1234 + d5678 [disjoint pattern heuristic]
How to compute d1234 and d5678?
147
52
63
864
7
152
8
3
32 14 4
1 2 3
d1234 = length of the shortest path to move tiles 1, 2, 3, and 4 to their goal positions, ignoring the other tiles
67
587
5
6
8
d5678
![Page 63: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/63.jpg)
63
CAN WE DO BETTER? For example, we could consider two more
complex relaxed problems:
h = d1234 + d5678 [disjoint pattern heuristic]
These distances are pre-computed and stored [Each requires generating a tree of 3,024 nodes/states (breadth-first search)]
147
52
63
864
7
152
8
3
32 14 4
1 2 3
d1234 = length of the shortest path to move tiles 1, 2, 3, and 4 to their goal positions, ignoring the other tiles
67
587
5
6
8
d5678
![Page 64: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/64.jpg)
64
CAN WE DO BETTER? For example, we could consider two more
complex relaxed problems:
h = d1234 + d5678 [disjoint pattern heuristic]
These distances are pre-computed and stored [Each requires generating a tree of 3,024 nodes/states (breadth-first search)]
147
52
63
864
7
152
8
3
32 14 4
1 2 3
d1234 = length of the shortest path to move tiles 1, 2, 3, and 4 to their goal positions, ignoring the other tiles
67
587
5
6
8
d5678
Several order-of-magnitude speedups for the 15- and 24-puzzle (see R&N)
![Page 65: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/65.jpg)
65
ITERATIVE DEEPENING A* (IDA*) Idea: Reduce memory requirement of A* by
applying cutoff on values of f Consistent heuristic function h Algorithm IDA*:
Initialize cutoff to f(initial-node) Repeat:
Perform depth-first search by expanding all nodes N such that f(N) cutoff
Reset cutoff to smallest value f of non-expanded (leaf) nodes
![Page 66: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/66.jpg)
66
8-PUZZLE
4
6
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
Cutoff=4
![Page 67: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/67.jpg)
67
8-PUZZLE
44
6
Cutoff=4
6
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
![Page 68: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/68.jpg)
68
8-PUZZLE
44
6
Cutoff=4
6
5
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
![Page 69: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/69.jpg)
69
8-PUZZLE
44
6
Cutoff=4
6
5
5
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
![Page 70: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/70.jpg)
70
8-PUZZLE
44
6
Cutoff=4
6
5
56
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
![Page 71: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/71.jpg)
71
8-PUZZLE
4
6
Cutoff=5
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
![Page 72: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/72.jpg)
72
8-PUZZLE
44
6
Cutoff=5
6
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
![Page 73: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/73.jpg)
73
8-PUZZLE
44
6
Cutoff=5
6
5
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
![Page 74: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/74.jpg)
74
8-PUZZLE
44
6
Cutoff=5
6
57
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
![Page 75: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/75.jpg)
75
8-PUZZLE
44
6
Cutoff=5
6
57
5
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
![Page 76: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/76.jpg)
76
8-PUZZLE
44
6
Cutoff=5
6
57
5 5
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
![Page 77: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/77.jpg)
77
8-PUZZLE
44
6
Cutoff=5
6
57
5 5
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
5
![Page 78: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/78.jpg)
78
ADVANTAGES/DRAWBACKS OF IDA* Advantages:
Still complete and optimal Requires less memory than A* Avoid the overhead to sort the fringe
Drawbacks: Can’t avoid revisiting states not on the current
path Available memory is poorly used Non-unit costs?
![Page 79: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/79.jpg)
79
MEMORY-BOUNDED SEARCH Proceed like A* until memory is full
No more nodes can be added to search tree Drop node in fringe with highest f(N) Place parent back in fringe with “backed-up” f(P)
min(f(P),f(N)) Extreme example: RBFS
Only keeps nodes in path to current node
![Page 80: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/80.jpg)
80
RECAP Proving properties of A* performance Admissible heuristics: optimality Consistent heuristics: revisited states
![Page 81: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/81.jpg)
81
NEXT CLASS Beyond classical search R&N 4.1-5, 6.1-3
![Page 82: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/82.jpg)
82
EFFECTIVE BRANCHING FACTOR It is used as a measure the effectiveness of a
heuristic Let n be the total number of nodes expanded
by A* for a particular problem and d the depth of the solution
The effective branching factor b* is defined byn = 1 + b* + (b*)2 +...+ (b*)d
![Page 83: CS B551: Element sof Artificial Intelligence](https://reader030.vdocuments.us/reader030/viewer/2022020920/56816222550346895dd24cf8/html5/thumbnails/83.jpg)
83
EXPERIMENTAL RESULTS(SEE R&N FOR DETAILS) 8-puzzle with:
h1 = number of misplaced tiles h2 = sum of distances of tiles to their goal
positions Random generation of many problem
instances Average effective branching factors (number
of expanded nodes):d IDS A1* A2*2 2.45 1.79 1.796 2.73 1.34 1.3012 2.78
(3,644,035)1.42 (227) 1.24 (73)
16 -- 1.45 1.2520 -- 1.47 1.2724 -- 1.48
(39,135)1.26 (1,641)