graph search - university of british columbiakevinlb/teaching/cs322 - 2009-10/lectures... · graph...

24
State Spaces Graph Search Searching Graph Search CPSC 322 – Search 2 Textbook §3.4 Graph Search CPSC 322 – Search 2, Slide 1

Upload: others

Post on 15-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Graph Search - University of British Columbiakevinlb/teaching/cs322 - 2009-10/Lectures... · graph is a tree, how many nodes are exactly n steps away from the start node? bn nodes

State Spaces Graph Search Searching

Graph Search

CPSC 322 – Search 2

Textbook §3.4

Graph Search CPSC 322 – Search 2, Slide 1

Page 2: Graph Search - University of British Columbiakevinlb/teaching/cs322 - 2009-10/Lectures... · graph is a tree, how many nodes are exactly n steps away from the start node? bn nodes

State Spaces Graph Search Searching

Lecture Overview

1 State Spaces

2 Graph Search

3 Searching

Graph Search CPSC 322 – Search 2, Slide 2

Page 3: Graph Search - University of British Columbiakevinlb/teaching/cs322 - 2009-10/Lectures... · graph is a tree, how many nodes are exactly n steps away from the start node? bn nodes

State Spaces Graph Search Searching

State Spaces

Idea: sometimes it doesn’t matter what sequence ofobservations brought the world to a particular configuration; itjust matters how the world is arranged now.

called the Markov assumptionRepresent the different configurations in which the world canbe arranged as different states

which numbers are written in cells of the Sudoku and whichare blank?which numbers appear in which slots of the 8-puzzle?where is the delivery robot?

States are assignments of values to one or more variablesa single variable called “state”x and y coordinates; etc...

From each state, one or more actions may be available, whichwould move the world into a new state

write a new number in a blank cell of the Sudokuslide a tile in the 8-puzzlemove the delivery robot to an adjacent location

Some states are goal states

A Sudoku state in which all numbers are different in each box,row and columnThe single 8-puzzle state pictured earlierThe state in which the delivery robot is located in room 123

Graph Search CPSC 322 – Search 2, Slide 3

Page 4: Graph Search - University of British Columbiakevinlb/teaching/cs322 - 2009-10/Lectures... · graph is a tree, how many nodes are exactly n steps away from the start node? bn nodes

State Spaces Graph Search Searching

Agent Design

An agent can be thought of as a mapping from the givenstate to the new action that the agent will take

However, there’s a problem... often, we don’t understand thedomain well enough to build the mapping

we’d need to be able to tell the agent how it should behave inevery statethat’s why we want intelligent agents: they should decide howto act for themselvesin order for them to do so, we need to give them goals

Graph Search CPSC 322 – Search 2, Slide 4

Page 5: Graph Search - University of British Columbiakevinlb/teaching/cs322 - 2009-10/Lectures... · graph is a tree, how many nodes are exactly n steps away from the start node? bn nodes

State Spaces Graph Search Searching

State Spaces

Represent the different configurations in which the world canbe arranged as different states

which numbers are written in cells of the Sudoku and whichare blank?which numbers appear in which slots of the 8-puzzle?where is the delivery robot?

States are assignments of values to one or more variablesFrom each state, one or more actions may be available, whichwould move the world into a new state

write a new number in a blank cell of the Sudokuslide a tile in the 8-puzzlemove the delivery robot to an adjacent location

Some states are goal statesA Sudoku state in which all numbers are different in each box,row and columnThe single 8-puzzle state pictured earlierThe state in which the delivery robot is located in room 123

Graph Search CPSC 322 – Search 2, Slide 5

Page 6: Graph Search - University of British Columbiakevinlb/teaching/cs322 - 2009-10/Lectures... · graph is a tree, how many nodes are exactly n steps away from the start node? bn nodes

State Spaces Graph Search Searching

Lecture Overview

1 State Spaces

2 Graph Search

3 Searching

Graph Search CPSC 322 – Search 2, Slide 6

Page 7: Graph Search - University of British Columbiakevinlb/teaching/cs322 - 2009-10/Lectures... · graph is a tree, how many nodes are exactly n steps away from the start node? bn nodes

State Spaces Graph Search Searching

Search

What we want to be able to do:

find a solution when we are not given an algorithm to solve aproblem, but only a specification of what a solution looks likeidea: search for a solution

Definition (search problem)

A search problem is defined by

A set of states

A start state

A goal state or goal test

a boolean function which tells us whether a given state is agoal state

A successor function

a mapping from a state to a set of new states

Graph Search CPSC 322 – Search 2, Slide 7

Page 8: Graph Search - University of British Columbiakevinlb/teaching/cs322 - 2009-10/Lectures... · graph is a tree, how many nodes are exactly n steps away from the start node? bn nodes

State Spaces Graph Search Searching

Abstract Definition

How to search

Start at the start state

Consider the different states that could be encountered bymoving from a state that has been previously expanded

Stop when a goal state is encountered

To make this more formal, we’ll need to talk about graphs...

Graph Search CPSC 322 – Search 2, Slide 8

Page 9: Graph Search - University of British Columbiakevinlb/teaching/cs322 - 2009-10/Lectures... · graph is a tree, how many nodes are exactly n steps away from the start node? bn nodes

State Spaces Graph Search Searching

Search Graphs

Definition (graph)

A graph consists of

a set N of nodes;

a set A of ordered pairs of nodes, called arcs or edges.

Node n2 is a neighbor of n1 if there is an arc from n1 to n2.i.e., if 〈n1, n2〉 ∈ A

Definition (path)

A path is a sequence of nodes 〈n0, n1, . . . , nk〉 such that〈ni−1, ni〉 ∈ A.

Definition (solution)

Given a start node and a set of goal nodes, a solution is a pathfrom the start node to a goal node.

Graph Search CPSC 322 – Search 2, Slide 9

Page 10: Graph Search - University of British Columbiakevinlb/teaching/cs322 - 2009-10/Lectures... · graph is a tree, how many nodes are exactly n steps away from the start node? bn nodes

State Spaces Graph Search Searching

Example Domain for the Delivery Robot

The agent starts outside room 103,and wants to end up inside room 123.

stairs r101 r103 r105 r107 r109 r111

r113

r115

r117

r119r121r123r125r127r129r131

o101 o103 o105 o107 o109 o111

o113

o115

o117

o119o121o123o125o127o129o131

l2d1

l2d3 l2d4

l2d2

l1d2

l1d1

l1d3

l4d3

l4d1 l4d2

l3d2 l3d3

l3d1

tsmail

storage

Graph Search CPSC 322 – Search 2, Slide 10

Page 11: Graph Search - University of British Columbiakevinlb/teaching/cs322 - 2009-10/Lectures... · graph is a tree, how many nodes are exactly n steps away from the start node? bn nodes

State Spaces Graph Search Searching

Example Graph for the Delivery Robot

mail ts o103

l2d3

l2d1

l3d2

l3d1

l3d3

l2d2

l2d4

o109

o119

o111

o123

r123

o125

storage

Graph Search CPSC 322 – Search 2, Slide 11

Page 12: Graph Search - University of British Columbiakevinlb/teaching/cs322 - 2009-10/Lectures... · graph is a tree, how many nodes are exactly n steps away from the start node? bn nodes

State Spaces Graph Search Searching

Example Sudoku Problem

Fives Alive Sudoku Grid.jpg (JPEG Image, 981x980 pixels) - Scaled (97%) http://www.faseb.org/9650Rocks/images/Fives%20Alive%20Sudoku%2...

1 of 1 9/16/09 3:22 PM

Let’s define this as a search problem. What are:

the set of states?

the start state?

the goal state or goal test?

the successor function?

Note: here only the goal matters, not the path to it.

Graph Search CPSC 322 – Search 2, Slide 12

Page 13: Graph Search - University of British Columbiakevinlb/teaching/cs322 - 2009-10/Lectures... · graph is a tree, how many nodes are exactly n steps away from the start node? bn nodes

State Spaces Graph Search Searching

Example Sudoku Problem

Fives Alive Sudoku Grid.jpg (JPEG Image, 981x980 pixels) - Scaled (97%) http://www.faseb.org/9650Rocks/images/Fives%20Alive%20Sudoku%2...

1 of 1 9/16/09 3:22 PM

Let’s define this as a search problem. What are:

the set of states?

the start state?

the goal state or goal test?

the successor function?

Note: here only the goal matters, not the path to it.

Graph Search CPSC 322 – Search 2, Slide 12

Page 14: Graph Search - University of British Columbiakevinlb/teaching/cs322 - 2009-10/Lectures... · graph is a tree, how many nodes are exactly n steps away from the start node? bn nodes

State Spaces Graph Search Searching

Example Sudoku Problem

Fives Alive Sudoku Grid.jpg (JPEG Image, 981x980 pixels) - Scaled (97%) http://www.faseb.org/9650Rocks/images/Fives%20Alive%20Sudoku%2...

1 of 1 9/16/09 3:22 PM

Let’s define this as a search problem. What are:

the set of states?

the start state?

the goal state or goal test?

the successor function?

Note: here only the goal matters, not the path to it.

Graph Search CPSC 322 – Search 2, Slide 12

Page 15: Graph Search - University of British Columbiakevinlb/teaching/cs322 - 2009-10/Lectures... · graph is a tree, how many nodes are exactly n steps away from the start node? bn nodes

State Spaces Graph Search Searching

Example Sudoku Problem

Fives Alive Sudoku Grid.jpg (JPEG Image, 981x980 pixels) - Scaled (97%) http://www.faseb.org/9650Rocks/images/Fives%20Alive%20Sudoku%2...

1 of 1 9/16/09 3:22 PM

Let’s define this as a search problem. What are:

the set of states?

the start state?

the goal state or goal test?

the successor function?

Note: here only the goal matters, not the path to it.

Graph Search CPSC 322 – Search 2, Slide 12

Page 16: Graph Search - University of British Columbiakevinlb/teaching/cs322 - 2009-10/Lectures... · graph is a tree, how many nodes are exactly n steps away from the start node? bn nodes

State Spaces Graph Search Searching

Example Sudoku Problem

Fives Alive Sudoku Grid.jpg (JPEG Image, 981x980 pixels) - Scaled (97%) http://www.faseb.org/9650Rocks/images/Fives%20Alive%20Sudoku%2...

1 of 1 9/16/09 3:22 PM

Let’s define this as a search problem. What are:

the set of states?

the start state?

the goal state or goal test?

the successor function?

Note: here only the goal matters, not the path to it.

Graph Search CPSC 322 – Search 2, Slide 12

Page 17: Graph Search - University of British Columbiakevinlb/teaching/cs322 - 2009-10/Lectures... · graph is a tree, how many nodes are exactly n steps away from the start node? bn nodes

State Spaces Graph Search Searching

Graph Searching

Generic search algorithm: given a graph, start nodes, and goalnodes, incrementally explore paths from the start nodes.

Maintain a frontier of paths from the start node that havebeen explored.

As search proceeds, the frontier expands into the unexplorednodes until a goal node is encountered.

The way in which the frontier is expanded defines the searchstrategy.

Graph Search CPSC 322 – Search 2, Slide 13

Page 18: Graph Search - University of British Columbiakevinlb/teaching/cs322 - 2009-10/Lectures... · graph is a tree, how many nodes are exactly n steps away from the start node? bn nodes

State Spaces Graph Search Searching

Problem Solving by Graph Searching

frontier

explored nodes

unexplored nodes

startnode

Graph Search CPSC 322 – Search 2, Slide 14

Page 19: Graph Search - University of British Columbiakevinlb/teaching/cs322 - 2009-10/Lectures... · graph is a tree, how many nodes are exactly n steps away from the start node? bn nodes

State Spaces Graph Search Searching

Graph Searching

Generic search algorithm: given a graph, start nodes, and goalnodes, incrementally explore paths from the start nodes.

Maintain a frontier of paths from the start node that havebeen explored.

As search proceeds, the frontier expands into the unexplorednodes until a goal node is encountered.

The way in which the frontier is expanded defines the searchstrategy.

Graph Search CPSC 322 – Search 2, Slide 15

Page 20: Graph Search - University of British Columbiakevinlb/teaching/cs322 - 2009-10/Lectures... · graph is a tree, how many nodes are exactly n steps away from the start node? bn nodes

State Spaces Graph Search Searching

Lecture Overview

1 State Spaces

2 Graph Search

3 Searching

Graph Search CPSC 322 – Search 2, Slide 16

Page 21: Graph Search - University of British Columbiakevinlb/teaching/cs322 - 2009-10/Lectures... · graph is a tree, how many nodes are exactly n steps away from the start node? bn nodes

State Spaces Graph Search Searching

Graph Search Algorithm

Input: a graph,a set of start nodes,Boolean procedure goal(n) that tests if n is a goal node.

frontier := {〈s〉 : s is a start node};while frontier is not empty:

select and remove path 〈n0, . . . , nk〉 from frontier;if goal(nk)

return 〈n0, . . . , nk〉;for every neighbor n of nk

add 〈n0, . . . , nk, n〉 to frontier;end while

After the algorithm returns, it can be asked for more answers and theprocedure continues.

Which value is selected from the frontier defines the search strategy.

The neighbor relationship defines the graph.

The goal function defines what is a solution.

Graph Search CPSC 322 – Search 2, Slide 17

Page 22: Graph Search - University of British Columbiakevinlb/teaching/cs322 - 2009-10/Lectures... · graph is a tree, how many nodes are exactly n steps away from the start node? bn nodes

State Spaces Graph Search Searching

Branching Factor

Definition (forward branching factor)

The forward branching factor of a node is the number of arcs goingout of that node.

If the forward branching factor of every node is b and thegraph is a tree, how many nodes are exactly n steps awayfrom the start node?

bn nodes.

We’ll assume that all branching factors are finite.

Graph Search CPSC 322 – Search 2, Slide 18

Page 23: Graph Search - University of British Columbiakevinlb/teaching/cs322 - 2009-10/Lectures... · graph is a tree, how many nodes are exactly n steps away from the start node? bn nodes

State Spaces Graph Search Searching

Branching Factor

Definition (forward branching factor)

The forward branching factor of a node is the number of arcs goingout of that node.

If the forward branching factor of every node is b and thegraph is a tree, how many nodes are exactly n steps awayfrom the start node?

bn nodes.

We’ll assume that all branching factors are finite.

Graph Search CPSC 322 – Search 2, Slide 18

Page 24: Graph Search - University of British Columbiakevinlb/teaching/cs322 - 2009-10/Lectures... · graph is a tree, how many nodes are exactly n steps away from the start node? bn nodes

State Spaces Graph Search Searching

Comparing Algorithms

Definition (complete)

A search algorithm is complete if, whenever at least one solutionexists, the algorithm is guaranteed to find a solution within a finiteamount of time

Definition (time complexity)

The time complexity of a search algorithm is an expression for theworst-case amount of time it will take to run, expressed in terms ofthe maximum path length m and the maximum branching factor b.

Definition (space complexity)

The space complexity of a search algorithm is an expression for theworst-case amount of memory that the algorithm will use,expressed in terms of m and b.

Graph Search CPSC 322 – Search 2, Slide 19