Cpsc 322 introduction to artificial intelligence
This presentation is the property of its rightful owner.
Sponsored Links
1 / 69

CPSC 322 Introduction to Artificial Intelligence PowerPoint PPT Presentation


  • 86 Views
  • Uploaded on
  • Presentation posted in: General

CPSC 322 Introduction to Artificial Intelligence. October 25, 2004. 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,

Download Presentation

CPSC 322 Introduction to Artificial Intelligence

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Cpsc 322 introduction to artificial intelligence

CPSC 322Introduction to Artificial Intelligence

October 25, 2004


Things

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


Game search

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”


Minimax algorithm

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)


Minimax algorithm1

Minimax algorithm

  • 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.

  • Apply the evaluation function to all the terminal (leaf) states/boards

    to get “goodness” values

  • 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

  • Keep propagating values upward as in step 3

  • When the values reach the top of the game tree, MAX chooses the

    move indicated by the highest value


Cpsc 322 introduction to artificial intelligence

1997

Deep Blue Garry Kasparov

vital statistics: vital statistics:

• 200,000,000 moves per second • 3 moves per second

• 480 custom chess-playing chips • meat


Puzzles games and ai

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)


Puzzles games and ai1

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...


Cpsc 322 introduction to artificial intelligence

Oska

• two players

• four pieces each


Cpsc 322 introduction to artificial intelligence

Oska

• two players

• four pieces each


Cpsc 322 introduction to artificial intelligence

Oska

• two players

• four pieces each

• piece movement:


Cpsc 322 introduction to artificial intelligence

Oska

• two players

• four pieces each

• piece movement:

• piece may be moved one

space forward on the diagonal


Cpsc 322 introduction to artificial intelligence

Oska

• two players

• four pieces each

• piece movement:

• piece may be moved one

space forward on the diagonal


Cpsc 322 introduction to artificial intelligence

Oska

• two players

• four pieces each

• piece movement:

• piece may be moved one

space forward on the diagonal


Cpsc 322 introduction to artificial intelligence

Oska

• two players

• four pieces each

• piece movement:

• piece may be moved one

space forward on the diagonal


Cpsc 322 introduction to artificial intelligence

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


Cpsc 322 introduction to artificial intelligence

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


Cpsc 322 introduction to artificial intelligence

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


Cpsc 322 introduction to artificial intelligence

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


Cpsc 322 introduction to artificial intelligence

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


Cpsc 322 introduction to artificial intelligence

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


Cpsc 322 introduction to artificial intelligence

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


Cpsc 322 introduction to artificial intelligence

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


Cpsc 322 introduction to artificial intelligence

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


Cpsc 322 introduction to artificial intelligence

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


Cpsc 322 introduction to artificial intelligence

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


Cpsc 322 introduction to artificial intelligence

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


Cpsc 322 introduction to artificial intelligence

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


Cpsc 322 introduction to artificial intelligence

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


Cpsc 322 introduction to artificial intelligence

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


Cpsc 322 introduction to artificial intelligence

Oska

• how to win


Cpsc 322 introduction to artificial intelligence

Oska

• how to win

• capture all your

opponent’s pieces


Cpsc 322 introduction to artificial intelligence

Oska

• how to win

• capture all your

opponent’s pieces


Cpsc 322 introduction to artificial intelligence

Oska

• how to win

• capture all your

opponent’s pieces


Cpsc 322 introduction to artificial intelligence

Oska

• how to win

• capture all your

opponent’s pieces


Cpsc 322 introduction to artificial intelligence

Oska

• how to win black wins

• capture all your

opponent’s pieces


Cpsc 322 introduction to artificial intelligence

Oska

• how to win

• capture all your

opponent’s pieces


Cpsc 322 introduction to artificial intelligence

Oska

• how to win

• capture all your

opponent’s pieces

• move all your remaining

pieces to your opponent’s

starting row


Cpsc 322 introduction to artificial intelligence

Oska

• how to win

• capture all your

opponent’s pieces

• move all your remaining

pieces to your opponent’s

starting row


Cpsc 322 introduction to artificial intelligence

Oska

• how to win

• capture all your

opponent’s pieces

• move all your remaining

pieces to your opponent’s

starting row


Cpsc 322 introduction to artificial intelligence

Oska

• how to win

• capture all your

opponent’s pieces

• move all your remaining

pieces to your opponent’s

starting row


Cpsc 322 introduction to artificial intelligence

Oska

• how to win

• capture all your

opponent’s pieces

• move all your remaining

pieces to your opponent’s

starting row


Cpsc 322 introduction to artificial intelligence

Oska

• how to win white wins

• capture all your

opponent’s pieces

• move all your remaining

pieces to your opponent’s

starting row


What does this have to do with you consider this predicate

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


Welcome to your term project

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


One other thing

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:


Your program vs deep blue

Your program vs. Deep Blue

game searchgame search

move generator move generator

static board evaluator static board evaluator

minimax algorithm 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


Back to heuristic search techniques

Back to heuristic search techniques


Heuristic depth first search algorithm

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


Heuristic depth first search tiles out of place

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


Heuristic depth first search tiles out of place1

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


Heuristic depth first search tiles out of place2

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


Heuristic depth first search tiles out of place3

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 44 1 8 4 4 1 4 _ 5

7 6 5 7 6 5 7 6 5

_ 8 32 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


Heuristic depth first search tiles out of place4

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 44 1 8 4 4 1 4 _ 5

7 6 5 7 6 5 7 6 5

_ 8 32 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


Heuristic depth first search tiles out of place5

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 44 1 8 4 4 1 4 _ 5

7 6 5 7 6 5 7 6 5

_ 8 32 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


Heuristic depth first search tiles out of place6

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 44 1 8 4 4 1 4 _ 5

7 6 5 7 6 5 7 6 5

_ 8 32 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 52 _ 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


Heuristic depth first search tiles out of place7

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 44 1 8 4 4 1 4 _ 5

7 6 5 7 6 5 7 6 5

_ 8 32 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 452 _ 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 57 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


Heuristic depth first search tiles out of place8

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 44 1 8 4 4 1 4 _ 5

7 6 5 7 6 5 7 6 5

_ 8 32 8 3 _ 2 3 2 3 _ 2 8 _ 2 8 3

2 1 4 47 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 _ 32 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 56 _ 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 452 _ 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 57 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


Heuristic depth first search tiles out of place9

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 44 1 8 4 4 1 4 _ 5

7 6 5 7 6 5 7 6 5

_ 8 32 8 3 _ 2 3 2 3 _ 2 8 _ 2 8 3

2 1 4 47 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 _ 32 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 56 _ 5 7 6 5 7 6 5 7 6 5 7 _ 6

8 3 _8 1 32 8 32 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 452 _ 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 57 6 56 1 56 5 _ 7 6 5 _ 6 5 7 6 5 7 6 _ 7 6 5 7 6 5 _ 7 6 7 4 6


Heuristic depth first search tiles out of place10

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 44 1 8 4 4 1 4 _ 5

7 6 5 7 6 5 7 6 5

_ 8 32 8 3 _ 2 3 2 3 _ 2 8 _ 2 8 3

2 1 4 47 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 _ 32 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 56 _ 5 7 6 5 7 6 5 7 6 5 7 _ 6

8 3 _8 1 32 8 32 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 452 _ 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 57 6 56 1 56 5 _ 7 6 5 _ 6 5 7 6 5 7 6 _ 7 6 5 7 6 5 _ 7 6 7 4 6


Heuristic depth first search tiles out of place11

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 44 1 8 4 4 1 4 _ 5

7 6 5 7 6 5 7 6 5

_ 8 32 8 3 _ 2 3 2 3 _ 2 8 _ 2 8 3

2 1 4 47 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 _ 32 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 56 _ 5 7 6 5 7 6 5 7 6 5 7 _ 6

8 3 _8 1 32 8 32 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 452 _ 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 57 6 56 1 56 5 _ 7 6 5 _ 6 5 7 6 5 7 6 _ 7 6 5 7 6 5 _ 7 6 7 4 6


Heuristic depth first search tiles out of place12

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 32 _ 3 2 8 3

_ 1 441 8 44 1 4 _ 5

7 6 57 6 5 7 6 5

_ 8 32 8 3_ 2 32 3 _ 2 8 _ 2 8 3

2 1 4 47 1 4 5 1 8 4 4 1 8 4 5 1 4 3 1 4 5

7 6 5_ 6 57 6 57 6 5 7 6 5 7 6 _

8 _ 32 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 56 _ 5 7 6 5 7 6 5 7 6 5 7 _ 6

8 3 _8 1 32 8 32 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 452 _ 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 57 6 56 1 56 5 _ 7 6 5 _ 6 5 7 6 5 7 6 _ 7 6 5 7 6 5 _ 7 6 7 4 6


Heuristic depth first search tiles out of place13

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 32 _ 3 2 8 3

_ 1 441 8 44 1 4 _ 5

7 6 57 6 5 7 6 5

_ 8 32 8 3_ 2 32 3 _ 2 8 _ 2 8 3

2 1 4 47 1 4 5 1 8 4 4 1 8 4 5 1 4 3 1 4 5

7 6 5_ 6 57 6 57 6 5 7 6 5 7 6 _

8 _ 32 8 31 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 56 _ 57 6 5 7 6 5 7 6 5 7 _ 6

8 3 _8 1 32 8 32 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 452 _ 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 57 6 56 1 56 5 _ 7 6 5 _ 6 5 7 6 5 7 6 _ 7 6 5 7 6 5 _ 7 6 7 4 6


Heuristic depth first search tiles out of place14

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 32 _ 3 2 8 3

_ 1 441 8 44 1 4 _ 5

7 6 57 6 5 7 6 5

_ 8 32 8 3_ 2 32 3 _ 2 8 _ 2 8 3

2 1 4 47 1 4 5 1 8 4 4 1 8 4 5 1 4 3 1 4 5

7 6 5_ 6 57 6 57 6 5 7 6 5 7 6 _

8 _ 32 8 31 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 56 _ 57 6 5 7 6 5 7 6 5 7 _ 6

8 3 _8 1 32 8 32 8 31 2 3 1 2 3 2 3 4 2 3 4 _ 2 8 2 4 8 2 8 3 2 8 3

2 1 452 _ 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 57 6 56 1 56 5 _7 6 5 _ 6 5 7 6 5 7 6 _ 7 6 5 7 6 5 _ 7 6 7 4 6


Heuristic depth first search tiles out of place15

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 32 _ 3 2 8 3

_ 1 441 8 44 1 4 _ 5

7 6 57 6 5 7 6 5

_ 8 32 8 3_ 2 32 3 _ 2 8 _ 2 8 3

2 1 4 47 1 4 5 1 8 4 4 1 8 4 5 1 4 3 1 4 5

7 6 5_ 6 57 6 57 6 5 7 6 5 7 6 _

8 _ 32 8 31 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 56 _ 57 6 5 7 6 5 7 6 5 7 _ 6

8 3 _8 1 32 8 32 8 31 2 3 1 2 3 2 3 4 2 3 4 _ 2 8 2 4 8 2 8 3 2 8 3

2 1 452 _ 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 57 6 56 1 56 5 _7 6 5 _ 6 5 7 6 5 7 6 _ 7 6 5 7 6 5 _ 7 6 7 4 6


Why heuristic depth first search

Why heuristic depth-first search?


Comparing search strategies

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


What s missing

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?


Questions

Questions?


  • Login