Presentation is loading. Please wait.

Presentation is loading. Please wait.

CPSC 322 Introduction to Artificial Intelligence October 25, 2004.

Similar presentations


Presentation on theme: "CPSC 322 Introduction to Artificial Intelligence October 25, 2004."— Presentation transcript:

1

2 CPSC 322 Introduction to Artificial Intelligence October 25, 2004

3 Things... Assignment 3 was posted Friday night Midterm exam 2 is one week from today Bring me your first midterms before the second midterm if you want to be retested on problem 3 Jessica Hodgins talk, Thursday, October 28, 1-2pm, MacLeod 214

4 Game search (also known as adversarial search) has these components: move (or board) generator static board evaluation function (this is the heuristic part - it doesn’t generate moves or look ahead - it’s static) minimax algorithm to alternately propagate minima and maxima upward from “bottom”

5 Minimax algorithm Start with the following: a) there are two players, MAX and MIN b) it’s MAX’s turn to move c) MAX has a static board evaluation function that returns bigger values if a board is favorable to MAX d) the evaluation function gets better as the game gets closer to a goal state (else why bother to generate the game space?) e) MAX believes that MIN’s evaluation function is no better than MAX’s (if that’s not true, then MAX should at least avoid betting money on this game)

6 Minimax algorithm 1.Generate the game tree to as many levels (plies) that time and space constraints allow. The top level is called MAX (as in it’s now MAX’s turn to move), the next level is called MIN, the next level is MAX, and so on. 2.Apply the evaluation function to all the terminal (leaf) states/boards to get “goodness” values 3.Use those terminal board values to determine the values to be assigned to the immediate parents: a) if the parent is at a MIN level, then the value is the minimum of the values of its children b) if the parent is at a MAX level, then the value is the maximum of the values of its children 4.Keep propagating values upward as in step 3 5.When the values reach the top of the game tree, MAX chooses the move indicated by the highest value

7 Deep Blue Garry Kasparov vital statistics: 200,000,000 moves per second 3 moves per second 480 custom chess-playing chips meat 1997

8 Puzzles, games, and AI Puzzles and two-player board games have long served as a laboratory for experiments with heuristic search Solving puzzles and playing games suggests intelligence on the part of a human player, but humans don’t do this stuff the same way that search procedures do Electronic Arts probably won’t be hiring you solely on your mastery of minimax search (but it couldn’t hurt)

9 Puzzles, games, and AI Still, heuristic search is a simple but useful tool, and the minimax game playing approach is clearly very powerful You probably don’t fully understand these search techniques until you’ve had to implement them...especially game search Let’s look at just one more game...

10 Oska two players four pieces each

11 Oska two players four pieces each

12 Oska two players four pieces each piece movement:

13 Oska two players four pieces each piece movement: piece may be moved one space forward on the diagonal

14 Oska two players four pieces each piece movement: piece may be moved one space forward on the diagonal

15 Oska two players four pieces each piece movement: piece may be moved one space forward on the diagonal

16 Oska two players four pieces each piece movement: piece may be moved one space forward on the diagonal

17 Oska two players four pieces each piece movement: piece may be moved one space forward on the diagonal piece may jump forward on the diagonal over an opponent’s piece to an empty space, thus capturing the opponent’s piece

18 Oska two players four pieces each piece movement: piece may be moved one space forward on the diagonal piece may jump forward on the diagonal over an opponent’s piece to an empty space, thus capturing the opponent’s piece

19 Oska two players four pieces each piece movement: piece may be moved one space forward on the diagonal piece may jump forward on the diagonal over an opponent’s piece to an empty space, thus capturing the opponent’s piece

20 Oska two players four pieces each piece movement: piece may be moved one space forward on the diagonal piece may jump forward on the diagonal over an opponent’s piece to an empty space, thus capturing the opponent’s piece

21 Oska two players four pieces each piece movement: piece may be moved one space forward on the diagonal piece may jump forward on the diagonal over an opponent’s piece to an empty space, thus capturing the opponent’s piece

22 Oska two players four pieces each piece movement: piece may be moved one space forward on the diagonal piece may jump forward on the diagonal over an opponent’s piece to an empty space, thus capturing the opponent’s piece you don’t have to capture if you don’t want to

23 Oska two players four pieces each piece movement: piece may be moved one space forward on the diagonal piece may jump forward on the diagonal over an opponent’s piece to an empty space, thus capturing the opponent’s piece you don’t have to capture if you don’t want to

24 Oska two players four pieces each piece movement: piece may be moved one space forward on the diagonal piece may jump forward on the diagonal over an opponent’s piece to an empty space, thus capturing the opponent’s piece you don’t have to capture if you don’t want to

25 Oska two players four pieces each piece movement: piece may be moved one space forward on the diagonal piece may jump forward on the diagonal over an opponent’s piece to an empty space, thus capturing the opponent’s piece you don’t have to capture if you don’t want to multiple jumps not permitted

26 Oska two players four pieces each piece movement: piece may be moved one space forward on the diagonal piece may jump forward on the diagonal over an opponent’s piece to an empty space, thus capturing the opponent’s piece you don’t have to capture if you don’t want to multiple jumps not permitted

27 Oska two players four pieces each piece movement: piece may be moved one space forward on the diagonal piece may jump forward on the diagonal over an opponent’s piece to an empty space, thus capturing the opponent’s piece you don’t have to capture if you don’t want to multiple jumps not permitted

28 Oska two players four pieces each piece movement: piece may be moved one space forward on the diagonal piece may jump forward on the diagonal over an opponent’s piece to an empty space, thus capturing the opponent’s piece you don’t have to capture if you don’t want to multiple jumps not permitted

29 Oska two players four pieces each piece movement: piece may be moved one space forward on the diagonal piece may jump forward on the diagonal over an opponent’s piece to an empty space, thus capturing the opponent’s piece you don’t have to capture if you don’t want to multiple jumps not permitted

30 Oska two players four pieces each piece movement: piece may be moved one space forward on the diagonal piece may jump forward on the diagonal over an opponent’s piece to an empty space, thus capturing the opponent’s piece you don’t have to capture if you don’t want to multiple jumps not permitted

31 Oska two players four pieces each piece movement: piece may be moved one space forward on the diagonal piece may jump forward on the diagonal over an opponent’s piece to an empty space, thus capturing the opponent’s piece you don’t have to capture if you don’t want to multiple jumps not permitted if a player can’t make a legal move on a turn, the player loses turn and opponent moves again

32 Oska how to win

33 Oska how to win capture all your opponent’s pieces

34 Oska how to win capture all your opponent’s pieces

35 Oska how to win capture all your opponent’s pieces

36 Oska how to win capture all your opponent’s pieces

37 Oska how to win black wins capture all your opponent’s pieces

38 Oska how to win capture all your opponent’s pieces

39 Oska how to win capture all your opponent’s pieces move all your remaining pieces to your opponent’s starting row

40 Oska how to win capture all your opponent’s pieces move all your remaining pieces to your opponent’s starting row

41 Oska how to win capture all your opponent’s pieces move all your remaining pieces to your opponent’s starting row

42 Oska how to win capture all your opponent’s pieces move all your remaining pieces to your opponent’s starting row

43 Oska how to win capture all your opponent’s pieces move all your remaining pieces to your opponent’s starting row

44 Oska how to win white wins capture all your opponent’s pieces move all your remaining pieces to your opponent’s starting row

45 What does this have to do with you? Consider this predicate: oska([[w w w w][0 0 0][0 0][0 0 0][b b b b]], w, 3, [[w w w 0][0 0 w][0 0][0 0 0][b b b b]]). This predicate is true if the first argument is a legal board in an Oska game the second argument indicates the colour of the pieces being “moved” by the oska predicate the third argument indicates how deep (number of moves/plies/levels) the game search goes the fourth argument is the best move that the oska predicate can find using its move generator, board evaluation function, and minimax algorithm

46 Welcome to your term project oska([[w w w w][0 0 0][0 0][0 0 0][b b b b]], w, 3, [[w w w 0][0 0 w][0 0][0 0 0][b b b b]]). due 6:00am Monday, November 29, 2004 you can work individually or in pairs but I need to know who the pairs no later than this Sunday, October 31 more details will be posted this week, including documentation requirements

47 One other thing.... oska([[w w w w][0 0 0][0 0][0 0 0][b b b b]], w, 3, [[w w w 0][0 0 w][0 0][0 0 0][b b b b]]). oska([[w w w w w][0 0 0 0][0 0 0][0 0] [0 0 0][0 0 0 0][b b b b b]], w, 3, [[w w w w 0][0 0 0 w][0 0 0][0 0] [0 0 0][0 0 0 0][b b b b b]]). could look like this instead:

48 Your program vs. Deep Blue game search move generator static board evaluator minimax algorithm pruning (maybe) pruning one processor 480 custom-fabricated chess-playing chips CILOGalgorithms and representations hardwired on chips grit and determinationselective deepening by reallocating chips on the fly giant libraries of openings, endgames, and championship matches

49 Back to heuristic search techniques

50 Heuristic depth-first search algorithm Given a set of start nodes, a set of goal nodes, and a graph (i.e., the nodes and arcs): apply heuristic h(n) to start nodes make a “list” of the start nodes - let’s call it the “frontier” sort the frontier by h(n) values repeat if no nodes on the frontier then terminate with failure choose one node from the front of the frontier and remove it if the chosen node matches the goal node then terminate with success else get next nodes (neighbors) and h(n) values and sort those nodes by h(n) values and put those sorted nodes on the front of the frontier end repeat

51 Heuristic depth-first search - tiles out of place 2 8 3 1 2 3 1 _ 4 goal: 8 _ 4 7 6 5 7 6 5 2 8 3 2 _ 3 2 8 3 _ 1 4 1 8 4 1 4 _ 7 6 5 7 6 5 7 6 5 _ 8 3 2 8 3 _ 2 3 2 3 _ 2 8 _ 2 8 3 2 1 4 7 1 4 1 8 4 1 8 4 1 4 3 1 4 5 7 6 5 _ 6 5 7 6 5 7 6 5 7 6 5 7 6 _ 8 _ 3 2 8 3 1 2 3 2 3 4 2 _ 8 2 8 3 2 1 4 7 1 4 _ 8 4 1 8 _ 1 4 3 1 4 5 7 6 5 6 _ 5 7 6 5 7 6 5 7 6 5 7 _ 6 8 3 _ 8 1 3 2 8 3 2 8 3 1 2 3 1 2 3 2 3 4 2 3 4 _ 2 8 2 4 8 2 8 3 2 8 3 2 1 4 2 _ 4 7 _ 4 7 1 4 8 _ 4 7 8 4 1 _ 8 1 8 5 1 4 3 1 _ 3 1 4 5 1 _ 5 7 6 5 7 6 5 6 1 5 6 5 _ 7 6 5 _ 6 5 7 6 5 7 6 _ 7 6 5 7 6 5 _ 7 6 7 4 6

52 Heuristic depth-first search - tiles out of place 2 8 3 1 2 3 1 _ 4 3 goal: 8 _ 4 7 6 5 7 6 5 2 8 3 2 _ 3 2 8 3 _ 1 4 1 8 4 1 4 _ 7 6 5 7 6 5 7 6 5 _ 8 3 2 8 3 _ 2 3 2 3 _ 2 8 _ 2 8 3 2 1 4 7 1 4 1 8 4 1 8 4 1 4 3 1 4 5 7 6 5 _ 6 5 7 6 5 7 6 5 7 6 5 7 6 _ 8 _ 3 2 8 3 1 2 3 2 3 4 2 _ 8 2 8 3 2 1 4 7 1 4 _ 8 4 1 8 _ 1 4 3 1 4 5 7 6 5 6 _ 5 7 6 5 7 6 5 7 6 5 7 _ 6 8 3 _ 8 1 3 2 8 3 2 8 3 1 2 3 1 2 3 2 3 4 2 3 4 _ 2 8 2 4 8 2 8 3 2 8 3 2 1 4 2 _ 4 7 _ 4 7 1 4 8 _ 4 7 8 4 1 _ 8 1 8 5 1 4 3 1 _ 3 1 4 5 1 _ 5 7 6 5 7 6 5 6 1 5 6 5 _ 7 6 5 _ 6 5 7 6 5 7 6 _ 7 6 5 7 6 5 _ 7 6 7 4 6

53 Heuristic depth-first search - tiles out of place 2 8 3 1 2 3 1 _ 4 3 goal: 8 _ 4 7 6 5 7 6 5 2 8 3 2 _ 3 2 8 3 _ 1 4 4 1 8 4 4 1 4 _ 5 7 6 5 7 6 5 7 6 5 _ 8 3 2 8 3 _ 2 3 2 3 _ 2 8 _ 2 8 3 2 1 4 7 1 4 1 8 4 1 8 4 1 4 3 1 4 5 7 6 5 _ 6 5 7 6 5 7 6 5 7 6 5 7 6 _ 8 _ 3 2 8 3 1 2 3 2 3 4 2 _ 8 2 8 3 2 1 4 7 1 4 _ 8 4 1 8 _ 1 4 3 1 4 5 7 6 5 6 _ 5 7 6 5 7 6 5 7 6 5 7 _ 6 8 3 _ 8 1 3 2 8 3 2 8 3 1 2 3 1 2 3 2 3 4 2 3 4 _ 2 8 2 4 8 2 8 3 2 8 3 2 1 4 2 _ 4 7 _ 4 7 1 4 8 _ 4 7 8 4 1 _ 8 1 8 5 1 4 3 1 _ 3 1 4 5 1 _ 5 7 6 5 7 6 5 6 1 5 6 5 _ 7 6 5 _ 6 5 7 6 5 7 6 _ 7 6 5 7 6 5 _ 7 6 7 4 6

54 Heuristic depth-first search - tiles out of place 2 8 3 1 2 3 1 _ 4 3 goal: 8 _ 4 7 6 5 7 6 5 2 8 3 2 _ 3 2 8 3 _ 1 4 4 1 8 4 4 1 4 _ 5 7 6 5 7 6 5 7 6 5 _ 8 3 2 8 3 _ 2 3 2 3 _ 2 8 _ 2 8 3 2 1 4 4 7 1 4 5 1 8 4 1 8 4 1 4 3 1 4 5 7 6 5 _ 6 5 7 6 5 7 6 5 7 6 5 7 6 _ 8 _ 3 2 8 3 1 2 3 2 3 4 2 _ 8 2 8 3 2 1 4 7 1 4 _ 8 4 1 8 _ 1 4 3 1 4 5 7 6 5 6 _ 5 7 6 5 7 6 5 7 6 5 7 _ 6 8 3 _ 8 1 3 2 8 3 2 8 3 1 2 3 1 2 3 2 3 4 2 3 4 _ 2 8 2 4 8 2 8 3 2 8 3 2 1 4 2 _ 4 7 _ 4 7 1 4 8 _ 4 7 8 4 1 _ 8 1 8 5 1 4 3 1 _ 3 1 4 5 1 _ 5 7 6 5 7 6 5 6 1 5 6 5 _ 7 6 5 _ 6 5 7 6 5 7 6 _ 7 6 5 7 6 5 _ 7 6 7 4 6

55 Heuristic depth-first search - tiles out of place 2 8 3 1 2 3 1 _ 4 3 goal: 8 _ 4 7 6 5 7 6 5 2 8 3 2 _ 3 2 8 3 _ 1 4 4 1 8 4 4 1 4 _ 5 7 6 5 7 6 5 7 6 5 _ 8 3 2 8 3 _ 2 3 2 3 _ 2 8 _ 2 8 3 2 1 4 4 7 1 4 5 1 8 4 1 8 4 1 4 3 1 4 5 7 6 5 _ 6 5 7 6 5 7 6 5 7 6 5 7 6 _ 8 _ 3 2 8 3 1 2 3 2 3 4 2 _ 8 2 8 3 2 1 4 4 7 1 4 _ 8 4 1 8 _ 1 4 3 1 4 5 7 6 5 6 _ 5 7 6 5 7 6 5 7 6 5 7 _ 6 8 3 _ 8 1 3 2 8 3 2 8 3 1 2 3 1 2 3 2 3 4 2 3 4 _ 2 8 2 4 8 2 8 3 2 8 3 2 1 4 2 _ 4 7 _ 4 7 1 4 8 _ 4 7 8 4 1 _ 8 1 8 5 1 4 3 1 _ 3 1 4 5 1 _ 5 7 6 5 7 6 5 6 1 5 6 5 _ 7 6 5 _ 6 5 7 6 5 7 6 _ 7 6 5 7 6 5 _ 7 6 7 4 6

56 Heuristic depth-first search - tiles out of place 2 8 3 1 2 3 1 _ 4 3 goal: 8 _ 4 7 6 5 7 6 5 2 8 3 2 _ 3 2 8 3 _ 1 4 4 1 8 4 4 1 4 _ 5 7 6 5 7 6 5 7 6 5 _ 8 3 2 8 3 _ 2 3 2 3 _ 2 8 _ 2 8 3 2 1 4 4 7 1 4 5 1 8 4 1 8 4 1 4 3 1 4 5 7 6 5 _ 6 5 7 6 5 7 6 5 7 6 5 7 6 _ 8 _ 3 2 8 3 1 2 3 2 3 4 2 _ 8 2 8 3 2 1 4 4 7 1 4 _ 8 4 1 8 _ 1 4 3 1 4 5 7 6 5 6 _ 5 7 6 5 7 6 5 7 6 5 7 _ 6 8 3 _ 8 1 3 2 8 3 2 8 3 1 2 3 1 2 3 2 3 4 2 3 4 _ 2 8 2 4 8 2 8 3 2 8 3 2 1 4 5 2 _ 4 3 7 _ 4 7 1 4 8 _ 4 7 8 4 1 _ 8 1 8 5 1 4 3 1 _ 3 1 4 5 1 _ 5 7 6 5 7 6 5 6 1 5 6 5 _ 7 6 5 _ 6 5 7 6 5 7 6 _ 7 6 5 7 6 5 _ 7 6 7 4 6

57 Heuristic depth-first search - tiles out of place 2 8 3 1 2 3 1 _ 4 3 goal: 8 _ 4 7 6 5 7 6 5 2 8 3 2 _ 3 2 8 3 _ 1 4 4 1 8 4 4 1 4 _ 5 7 6 5 7 6 5 7 6 5 _ 8 3 2 8 3 _ 2 3 2 3 _ 2 8 _ 2 8 3 2 1 4 4 7 1 4 5 1 8 4 1 8 4 1 4 3 1 4 5 7 6 5 _ 6 5 7 6 5 7 6 5 7 6 5 7 6 _ 8 _ 3 2 8 3 1 2 3 2 3 4 2 _ 8 2 8 3 2 1 4 4 7 1 4 _ 8 4 1 8 _ 1 4 3 1 4 5 7 6 5 6 _ 5 7 6 5 7 6 5 7 6 5 7 _ 6 8 3 _ 8 1 3 2 8 3 2 8 3 1 2 3 1 2 3 2 3 4 2 3 4 _ 2 8 2 4 8 2 8 3 2 8 3 2 1 4 5 2 _ 4 3 7 _ 4 7 1 4 8 _ 4 7 8 4 1 _ 8 1 8 5 1 4 3 1 _ 3 1 4 5 1 _ 5 7 6 5 7 6 5 6 1 5 6 5 _ 7 6 5 _ 6 5 7 6 5 7 6 _ 7 6 5 7 6 5 _ 7 6 7 4 6

58 Heuristic depth-first search - tiles out of place 2 8 3 1 2 3 1 _ 4 3 goal: 8 _ 4 7 6 5 7 6 5 2 8 3 2 _ 3 2 8 3 _ 1 4 4 1 8 4 4 1 4 _ 5 7 6 5 7 6 5 7 6 5 _ 8 3 2 8 3 _ 2 3 2 3 _ 2 8 _ 2 8 3 2 1 4 4 7 1 4 5 1 8 4 1 8 4 1 4 3 1 4 5 7 6 5 _ 6 5 7 6 5 7 6 5 7 6 5 7 6 _ 8 _ 3 2 8 3 1 2 3 2 3 4 2 _ 8 2 8 3 2 1 4 4 7 1 4 _ 8 4 1 8 _ 1 4 3 1 4 5 7 6 5 6 _ 5 7 6 5 7 6 5 7 6 5 7 _ 6 8 3 _ 8 1 3 2 8 3 2 8 3 1 2 3 1 2 3 2 3 4 2 3 4 _ 2 8 2 4 8 2 8 3 2 8 3 2 1 4 5 2 _ 4 3 7 _ 4 7 1 4 8 _ 4 7 8 4 1 _ 8 1 8 5 1 4 3 1 _ 3 1 4 5 1 _ 5 7 6 5 7 6 5 6 1 5 6 5 _ 7 6 5 _ 6 5 7 6 5 7 6 _ 7 6 5 7 6 5 _ 7 6 7 4 6

59 Heuristic depth-first search - tiles out of place 2 8 3 1 2 3 1 _ 4 3 goal: 8 _ 4 7 6 5 7 6 5 2 8 3 2 _ 3 2 8 3 _ 1 4 4 1 8 4 4 1 4 _ 5 7 6 5 7 6 5 7 6 5 _ 8 3 2 8 3 _ 2 3 2 3 _ 2 8 _ 2 8 3 2 1 4 4 7 1 4 5 1 8 4 1 8 4 1 4 3 1 4 5 7 6 5 _ 6 5 7 6 5 7 6 5 7 6 5 7 6 _ 8 _ 3 2 8 3 1 2 3 2 3 4 2 _ 8 2 8 3 2 1 4 4 7 1 4 6 _ 8 4 1 8 _ 1 4 3 1 4 5 7 6 5 6 _ 5 7 6 5 7 6 5 7 6 5 7 _ 6 8 3 _ 8 1 3 2 8 3 2 8 3 1 2 3 1 2 3 2 3 4 2 3 4 _ 2 8 2 4 8 2 8 3 2 8 3 2 1 4 5 2 _ 4 3 7 _ 4 7 1 4 8 _ 4 7 8 4 1 _ 8 1 8 5 1 4 3 1 _ 3 1 4 5 1 _ 5 7 6 5 7 6 5 6 1 5 6 5 _ 7 6 5 _ 6 5 7 6 5 7 6 _ 7 6 5 7 6 5 _ 7 6 7 4 6

60 Heuristic depth-first search - tiles out of place 2 8 3 1 2 3 1 _ 4 3 goal: 8 _ 4 7 6 5 7 6 5 2 8 3 2 _ 3 2 8 3 _ 1 4 4 1 8 4 4 1 4 _ 5 7 6 5 7 6 5 7 6 5 _ 8 3 2 8 3 _ 2 3 2 3 _ 2 8 _ 2 8 3 2 1 4 4 7 1 4 5 1 8 4 1 8 4 1 4 3 1 4 5 7 6 5 _ 6 5 7 6 5 7 6 5 7 6 5 7 6 _ 8 _ 3 2 8 3 1 2 3 2 3 4 2 _ 8 2 8 3 2 1 4 4 7 1 4 6 _ 8 4 1 8 _ 1 4 3 1 4 5 7 6 5 6 _ 5 7 6 5 7 6 5 7 6 5 7 _ 6 8 3 _ 8 1 3 2 8 3 2 8 3 1 2 3 1 2 3 2 3 4 2 3 4 _ 2 8 2 4 8 2 8 3 2 8 3 2 1 4 5 2 _ 4 3 7 _ 4 5 7 1 4 7 8 _ 4 7 8 4 1 _ 8 1 8 5 1 4 3 1 _ 3 1 4 5 1 _ 5 7 6 5 7 6 5 6 1 5 6 5 _ 7 6 5 _ 6 5 7 6 5 7 6 _ 7 6 5 7 6 5 _ 7 6 7 4 6

61 Heuristic depth-first search - tiles out of place 2 8 3 1 2 3 1 _ 4 3 goal: 8 _ 4 7 6 5 7 6 5 2 8 3 2 _ 3 2 8 3 _ 1 4 4 1 8 4 4 1 4 _ 5 7 6 5 7 6 5 7 6 5 _ 8 3 2 8 3 _ 2 3 2 3 _ 2 8 _ 2 8 3 2 1 4 4 7 1 4 5 1 8 4 1 8 4 1 4 3 1 4 5 7 6 5 _ 6 5 7 6 5 7 6 5 7 6 5 7 6 _ 8 _ 3 2 8 3 1 2 3 2 3 4 2 _ 8 2 8 3 2 1 4 4 7 1 4 6 _ 8 4 1 8 _ 1 4 3 1 4 5 7 6 5 6 _ 5 7 6 5 7 6 5 7 6 5 7 _ 6 8 3 _ 8 1 3 2 8 3 2 8 3 1 2 3 1 2 3 2 3 4 2 3 4 _ 2 8 2 4 8 2 8 3 2 8 3 2 1 4 5 2 _ 4 3 7 _ 4 5 7 1 4 7 8 _ 4 7 8 4 1 _ 8 1 8 5 1 4 3 1 _ 3 1 4 5 1 _ 5 7 6 5 7 6 5 6 1 5 6 5 _ 7 6 5 _ 6 5 7 6 5 7 6 _ 7 6 5 7 6 5 _ 7 6 7 4 6

62 Heuristic depth-first search - tiles out of place 2 8 3 1 2 3 1 _ 4 3 goal: 8 _ 4 7 6 5 7 6 5 2 8 3 2 _ 3 2 8 3 _ 1 4 4 1 8 4 4 1 4 _ 5 7 6 5 7 6 5 7 6 5 _ 8 3 2 8 3 _ 2 3 2 3 _ 2 8 _ 2 8 3 2 1 4 4 7 1 4 5 1 8 4 1 8 4 1 4 3 1 4 5 7 6 5 _ 6 5 7 6 5 7 6 5 7 6 5 7 6 _ 8 _ 3 2 8 3 1 2 3 2 3 4 2 _ 8 2 8 3 2 1 4 4 7 1 4 6 _ 8 4 1 8 _ 1 4 3 1 4 5 7 6 5 6 _ 5 7 6 5 7 6 5 7 6 5 7 _ 6 8 3 _ 8 1 3 2 8 3 2 8 3 1 2 3 1 2 3 2 3 4 2 3 4 _ 2 8 2 4 8 2 8 3 2 8 3 2 1 4 5 2 _ 4 3 7 _ 4 5 7 1 4 7 8 _ 4 7 8 4 1 _ 8 1 8 5 1 4 3 1 _ 3 1 4 5 1 _ 5 7 6 5 7 6 5 6 1 5 6 5 _ 7 6 5 _ 6 5 7 6 5 7 6 _ 7 6 5 7 6 5 _ 7 6 7 4 6

63 Heuristic depth-first search - tiles out of place 2 8 3 1 2 3 1 _ 4 3 goal: 8 _ 4 7 6 5 7 6 5 2 8 3 2 _ 3 2 8 3 _ 1 4 4 1 8 4 4 1 4 _ 5 7 6 5 7 6 5 7 6 5 _ 8 3 2 8 3 _ 2 3 2 3 _ 2 8 _ 2 8 3 2 1 4 4 7 1 4 5 1 8 4 4 1 8 4 5 1 4 3 1 4 5 7 6 5 _ 6 5 7 6 5 7 6 5 7 6 5 7 6 _ 8 _ 3 2 8 3 1 2 3 2 3 4 2 _ 8 2 8 3 2 1 4 4 7 1 4 6 _ 8 4 1 8 _ 1 4 3 1 4 5 7 6 5 6 _ 5 7 6 5 7 6 5 7 6 5 7 _ 6 8 3 _ 8 1 3 2 8 3 2 8 3 1 2 3 1 2 3 2 3 4 2 3 4 _ 2 8 2 4 8 2 8 3 2 8 3 2 1 4 5 2 _ 4 3 7 _ 4 5 7 1 4 7 8 _ 4 7 8 4 1 _ 8 1 8 5 1 4 3 1 _ 3 1 4 5 1 _ 5 7 6 5 7 6 5 6 1 5 6 5 _ 7 6 5 _ 6 5 7 6 5 7 6 _ 7 6 5 7 6 5 _ 7 6 7 4 6

64 Heuristic depth-first search - tiles out of place 2 8 3 1 2 3 1 _ 4 3 goal: 8 _ 4 7 6 5 7 6 5 2 8 3 2 _ 3 2 8 3 _ 1 4 4 1 8 4 4 1 4 _ 5 7 6 5 7 6 5 7 6 5 _ 8 3 2 8 3 _ 2 3 2 3 _ 2 8 _ 2 8 3 2 1 4 4 7 1 4 5 1 8 4 4 1 8 4 5 1 4 3 1 4 5 7 6 5 _ 6 5 7 6 5 7 6 5 7 6 5 7 6 _ 8 _ 3 2 8 3 1 2 3 2 3 4 2 _ 8 2 8 3 2 1 4 4 7 1 4 6 _ 8 4 2 1 8 _ 1 4 3 1 4 5 7 6 5 6 _ 5 7 6 5 7 6 5 7 6 5 7 _ 6 8 3 _ 8 1 3 2 8 3 2 8 3 1 2 3 1 2 3 2 3 4 2 3 4 _ 2 8 2 4 8 2 8 3 2 8 3 2 1 4 5 2 _ 4 3 7 _ 4 5 7 1 4 7 8 _ 4 7 8 4 1 _ 8 1 8 5 1 4 3 1 _ 3 1 4 5 1 _ 5 7 6 5 7 6 5 6 1 5 6 5 _ 7 6 5 _ 6 5 7 6 5 7 6 _ 7 6 5 7 6 5 _ 7 6 7 4 6

65 Heuristic depth-first search - tiles out of place 2 8 3 1 2 3 1 _ 4 3 goal: 8 _ 4 7 6 5 7 6 5 2 8 3 2 _ 3 2 8 3 _ 1 4 4 1 8 4 4 1 4 _ 5 7 6 5 7 6 5 7 6 5 _ 8 3 2 8 3 _ 2 3 2 3 _ 2 8 _ 2 8 3 2 1 4 4 7 1 4 5 1 8 4 4 1 8 4 5 1 4 3 1 4 5 7 6 5 _ 6 5 7 6 5 7 6 5 7 6 5 7 6 _ 8 _ 3 2 8 3 1 2 3 2 3 4 2 _ 8 2 8 3 2 1 4 4 7 1 4 6 _ 8 4 2 1 8 _ 1 4 3 1 4 5 7 6 5 6 _ 5 7 6 5 7 6 5 7 6 5 7 _ 6 8 3 _ 8 1 3 2 8 3 2 8 3 1 2 3 1 2 3 2 3 4 2 3 4 _ 2 8 2 4 8 2 8 3 2 8 3 2 1 4 5 2 _ 4 3 7 _ 4 5 7 1 4 7 8 _ 4 0 7 8 4 3 1 _ 8 1 8 5 1 4 3 1 _ 3 1 4 5 1 _ 5 7 6 5 7 6 5 6 1 5 6 5 _ 7 6 5 _ 6 5 7 6 5 7 6 _ 7 6 5 7 6 5 _ 7 6 7 4 6

66 Heuristic depth-first search - tiles out of place 2 8 3 1 2 3 1 _ 4 3 goal: 8 _ 4 7 6 5 7 6 5 2 8 3 2 _ 3 2 8 3 _ 1 4 4 1 8 4 4 1 4 _ 5 7 6 5 7 6 5 7 6 5 _ 8 3 2 8 3 _ 2 3 2 3 _ 2 8 _ 2 8 3 2 1 4 4 7 1 4 5 1 8 4 4 1 8 4 5 1 4 3 1 4 5 7 6 5 _ 6 5 7 6 5 7 6 5 7 6 5 7 6 _ 8 _ 3 2 8 3 1 2 3 2 3 4 2 _ 8 2 8 3 2 1 4 4 7 1 4 6 _ 8 4 2 1 8 _ 1 4 3 1 4 5 7 6 5 6 _ 5 7 6 5 7 6 5 7 6 5 7 _ 6 8 3 _ 8 1 3 2 8 3 2 8 3 1 2 3 1 2 3 2 3 4 2 3 4 _ 2 8 2 4 8 2 8 3 2 8 3 2 1 4 5 2 _ 4 3 7 _ 4 5 7 1 4 7 8 _ 4 0 7 8 4 3 1 _ 8 1 8 5 1 4 3 1 _ 3 1 4 5 1 _ 5 7 6 5 7 6 5 6 1 5 6 5 _ 7 6 5 _ 6 5 7 6 5 7 6 _ 7 6 5 7 6 5 _ 7 6 7 4 6

67 Why heuristic depth-first search?

68 Comparing search strategies strategy selection halts? space optimal path depth-first last node added no linear no breadth-first first node added yes exponential yes* lowest-cost minimal g(n) yes exponential yes first best-first globally minimal no exponential no h(n) heuristic locally minimal no linear no depth-first h(n) * assuming all arcs have the same cost

69 What’s missing? A heuristic search strategy that is guaranteed to find the optimal (lowest-cost) path from start node to goal node What do the strategies that find optimal paths have in common?

70 Questions?


Download ppt "CPSC 322 Introduction to Artificial Intelligence October 25, 2004."

Similar presentations


Ads by Google