### State Space Search Part 1 (Chapter 3)

```State Space Search I
Chapter 3
The Basics

Problem Space is a Graph
◦
◦
◦
◦
Nodes: problem states
Arcs: steps in a solution process
One node corresponds to an initial state
One node corresponds to a goal state
State Space
Solution Path
 An ordered sequence of nodes from the
initial state to the goal state
State Space
Search Algorithm
 Finds a solution path through a state
space
State Space
Die Hard: With a Vengeance (1995)
 (Bruce Willis, Samuel L. Jackson, Jeremy
Irons)

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
A Slight Variation
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}

Representation
1.
2.
3.
4.
5.
6.
7.
8.
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 : (x,y)  (4, y – (4 – x))
fill the 4 gallon jug from the 3 gallon jug
(see next slide)
if (x+y) >= 3 and x > 0 : (x,y)  (x –(3 – y), 3))
Fill the 3 gallon jug from the 4 gallon jug
(see next slide)
if (x+y) <= 4 and y > 0 : (x,y)  (x+y), 0)
Pour the 3 gallon jug into the 4 gallon jug
if (x+y) <= 3 and x > 0 : (x,y)  (0, x + y)
pour the 4 gallon jug into the 3 gallon jug
Rules
5.
if (x+y) >= 4 and y > 0 : (x,y)  (4, y – (4 – x))
fill the 4 gallon jug from the 3 gallon jug
6.
if (x+y) >= 3 and x > 0 : (x,y)  (x –(3 – y), 3))
Fill the 3 gallon jug from the 4 gallon jug
4-X
3-Y
If x is the amount in the 4 gallon, 4-X is the amount necessary
to fill it. This amount has to be subtracted from the 3 gallon jug
(where the water came from).
5 & 6 Redux
1.
if (x+y) <= 4 and y > 0
2.
if (x+y) <= 3 and x > 0
Pour the 3 gallon jug into the 4 gallon jug: (x,y)  (x+y), 0)
pour the 4 gallon jug into the 3 gallon jug: (x,y)  (0, x + y)
Initial State: (0,0)
Goal State: (2,N)
Is there a solution path?
(0,0)
1
2
(0,3)
(0,3)
(4,0)
6
2
(4,3)
6
7
(1,3)
etc
Breadth First Search
(3,0)
(0,0)
2
3
7
2
(0,3)
(3,0)
(3,3)
Depth First
Etc. and without visiting
already visited states
(4,3)
(4,0)
1
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
Backward/Forward Chaining
Data to goal is called forward chaining for
data driven search
Goal to data is called backward chaining or
goal driven search
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
Examples

Reduce the size of the search space
Object

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 Goal Driven

If
◦ Most data is given at the outset
◦ Only a few ways to use the facts
◦ Difficult to form a goal (i.e., hypothesis)
For example: DENDRAL, an expert system
that finds molecular structure of organic
compounds based on spectrographic data.
There are lots of final possibilities, but
only a few ways to use the initial data
 Said another way: initial data constrains
search

Use Data Driven
```