CS B351 : Intro to Artificial Intelligence

83
CS B351: INTRO TO ARTIFICIAL INTELLIGENCE Instructor: Kris Hauser http://cs.indiana.edu/~hauserk 1

description

CS B351 : Intro to 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 Presentation

Transcript of CS B351 : Intro to Artificial Intelligence

Page 1: CS  B351 :  Intro to Artificial  Intelligence

1

CS B351: INTRO TO ARTIFICIAL INTELLIGENCEInstructor: Kris Hauserhttp://cs.indiana.edu/~hauserk

Page 2: CS  B351 :  Intro to Artificial  Intelligence

2

RECAP Blind Search

Breadth first (complete, optimal) Depth first (incomplete, not optimal) Iterative deepening (complete, optimal)

Nonuniform costs Revisited states

Page 3: CS  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

4

HEURISTIC SEARCH

Page 5: CS  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

18

BEST-FIRST EFFICIENCY

f(N) = h(N) = straight distance to the goal

Local-minimum problem

Page 19: CS  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

31

ROBOT NAVIGATION

Page 32: CS  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

35

RESULT #1A* is complete and optimal

[This result holds if nodes revisiting states are not discarded]

Page 36: CS  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

66

8-PUZZLE

4

6

f(N) = g(N) + h(N) with h(N) = number of misplaced tiles

Cutoff=4

Page 67: CS  B351 :  Intro to Artificial  Intelligence

67

8-PUZZLE

44

6

Cutoff=4

6

f(N) = g(N) + h(N) with h(N) = number of misplaced tiles

Page 68: CS  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

71

8-PUZZLE

4

6

Cutoff=5

f(N) = g(N) + h(N) with h(N) = number of misplaced tiles

Page 72: CS  B351 :  Intro to Artificial  Intelligence

72

8-PUZZLE

44

6

Cutoff=5

6

f(N) = g(N) + h(N) with h(N) = number of misplaced tiles

Page 73: CS  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

80

RECAP Proving properties of A* performance Admissible heuristics: optimality Consistent heuristics: revisited states

Page 81: CS  B351 :  Intro to Artificial  Intelligence

81

NEXT CLASS Beyond classical search R&N 4.1-5, 6.1-3

Page 82: CS  B351 :  Intro to Artificial  Intelligence

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  B351 :  Intro to Artificial  Intelligence

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)