State Space 1

advertisement
State Space Search
State Space representation of a
problem is a graph
 Nodes
correspond to problem states
 Arcs correspond to steps in a solution
process
 One node corresponds to an initial
state
 One node corresponds to a goal state
Solution Path
An ordered sequence of nodes from
the initial state to the goal state
Search Algorithm
Finds a solution path through a state
space
The Water Jug Problem
Suppose we have
 An empty 4 gallon jug
 An empty 3 gallon jug
 A source of water
 A task: put 2 gallons of water in the
4 gallon jug
Representation
 State
Space
 Node on the graph is an ordered pair
(x,y)
– X is the contents of the 4 gallon jug
– Y is the contents of the 3 gallon jug
 Intitial
State: (0,0)
 Goal State: (2,N) N ε {0, 1, 2, 3}
Rules
1.
2.
3.
4.
5.
6.
if
if
if
if
if
x < 4, fill x : (x,y)  (4,y)
y < 3, fill y : (x,y)  (x,3)
x > 0, empty x : (x,y)  (0,y)
y > 0, empty y : (x,y)  (x,0)
(x+y) >= 4 and y > 0
fill the 4 gallon jug from the 3 gallon jug
(x,y)  (4, y – (4 – x))
if (x+y) >= 3 and x > 0
Fill the 3 gallon jug from the 4 gallon jug
(x,y)  (x –(3 – y), 3))
7.
if (x+y) <= 4 and y > 0
Pour the 3 gallon jug into the 4 gallon jug: (x,y)  (x+y), 0)
8.
if (x+y) <= 3 and x > 0
pour the 4 gallon jug into the 3 gallon jug: (x,y)  (0, x + y)
Is there a solution path?
Initial State: (0,0)
Goal State: (2,N)
Breadth First Search
(0,3)
1
2
(4,0)
6
2
(4,3)
(1,3)
etc
(0,3)
(0,3)
7
(3,0)
(0,0)
Depth First
2
3
7
2
(0,3)
(3,0)
(3,3)
Etc. and without visiting
already visited states
(4,3)
(4,0)
1
Backward/Forward Chaining
Search can proceed
1. From data to goal
2. From goal to data
Either could result in a successful
search path, but one or the other
might require examining more
nodes depending on the
circumstances
Data to goal is called forward chaining
for data driven search
Goal to data is called backward
chaining or goal driven search
Examples
 Water
jug was data driven
 Grandfather problem was goal driven
 To make water jug goal driven:
– Begin at (2,y)
– Determine how many rules could
produce this goal
– Follow these rules backwards to the
start state
Object
 Reduce
the size of the search space
Use Goal Driven
 if
– Goal is clearly stated
– Many rules match the given facts
 For
example: the number of rules
that conlude a given theorem is
much smaller than the number that
may be applied to the entire axiom
set
Use Data Driven

If
– Most data is given at the outset
– Only a few ways to use the facts
– Difficult to form an initial hypothesis
Water Jug: could go either way, but the
presence of only a few rules, data existing
in only a handful of states, and the
difficulty of forming a hypothesis suggests
data driven
 Said another way: initial data constrains
search

Download