Search Problems
(Where we see problems as the
exploration of alternatives)
R&N: Chap. 3, Sect. 3.1–2 + 3.6
1
Example: 8-Puzzle
8 2 1 2 3
3 4 7 4 5 6
5 1 6 7 8
Initial state Goal state
Search is about the
exploration of alternatives
2
Exploratory search is an old idea:
The Labyrinth and the Ariadne Thread
According to Greek mythology, Theseus came to Crete to slay the
Minotaur, a monster who lived in a Labyrinth. Ariadne gave Theseus a
ball of yarn which he unwound as he entered the Labyrinth. After
killing the Minotaur, Theseus traced the thread back to the entrance
of the Labyrinth, rejoined Ariadne, and successfully escaped Crete
3
Since the dawn of civilization, puzzles and
games that require the exploration of
alternative paths have fascinated mankind
and have been considered a challenge for
human intelligence
Chess originated in Persia and India
about 4000 years ago
Checkers appeared as early as 1600 B.C
in Egyptian paintings
Go originated in China over 3000 years
ago
4
5
15-Puzzle
Introduced in 1878 by Sam Loyd, who dubbed
himself “America’s greatest puzzle-expert”
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15
6
7
15-Puzzle
Sam Loyd offered $1,000 of his own money to
the first person who would solve the following
problem:
1 2 3 4 1 2 3 4
5 6 7 8 ? 5 6 7 8
9 10 11 12 9 10 11 12
13 14 15 13 15 14
8
But no one ever won the prize !!
9
8-Puzzle: State Space
...
8 2 7
3 4
8 2 5 1 6
3 4 7
5 1 6 8 2 8 2
3 4 7 3 4 7
5 1 6 5 1 6
10
8-Puzzle: Successor Function
8 2 7
3 4
5 1 6
8 2 8 2 7 8 2 7
3 4 7 3 4 6 3 4
5 1 6 5 1 5 1 6
11
Stating a Problem as
a Search Problem
S State space S
1 Successor function:
3 2
x S SUCCESSORS(x) 2S
Arc cost
Initial state s0
Goal test:
xS GOAL?(x) =T or F
12
State Graph
It is defined as follows:
• Each state is represented by a distinct
node
• An arc connects a node s to a node s’ if
s’ SUCCESSORS(s)
The state graph may contain more than
one connected component
13
14
Solution to the Search Problem
A solution is a path connecting the initial
node to a goal node (any one)
15
16
Solution to the Search Problem
A solution is a path connecting the initial
to a goal node (any one)
The cost of a path is the sum of the
edge costs along this path
An optimal solution is a solution path of
minimum cost
There might be no solution !
17
18
How big is the state space of
the (n2-1)-puzzle?
8-puzzle 9! = 362,880 states
15-puzzle 16! ~ 1.3 x 1012 states
24-puzzle 25! ~ 1025 states
But only half of these states are
reachable from any given state
19
Permutation Inversions
Wlg, let the goal be: 1 2 3 4
5 6 7 8
9 10 11 12
13 14 15
Let ni be the number of tiles j < i that appear after tile i
(from left to right and top to bottom)
N = n2 + n3 + + n15 + row number of empty tile
1 2 3 4 n2 = 0 n3 = 0 n4 = 0
5 10 7 8 n5 = 0 n6 = 0 n7 = 1
n8 = 1 n9 = 1 n10 = 4 N=7+4
9 6 11 12
n11 = 0 n12 = 0 n13 = 0
13 14 15 n14 = 0 n15 = 0 20
Proposition: (N mod 2) is invariant under
any legal move of the empty tile
Proof:
• Any horizontal move of the empty tile
leaves N unchanged
• A vertical move of the empty tile changes
N by an even increment
1 2 3 4 1 2 3 4
5 6 7 5 6 11 7
s= s’ = N(s’) = N(s) + 3 - 1
9 10 11 8 9 10 8
13 14 15 12 13 14 15 12
21
Proposition: (N mod 2) is invariant under
any legal move of the empty tile
For a goal state g to be reachable
from a state s, a necessary condition is
that N(g) and N(s) have the same parity
It can be shown that this is also a
sufficient condition
The state graph consists of two
connected components of equal size
22
15-Puzzle
Sam Loyd offered $1,000 of his own money to
the first person who would solve the following
problem:
1 2 3 4 1 2 3 4
5 6 7 8 ? 5 6 7 8
9 10 11 12 9 10 11 12
13 14 15 13 15 14
N=4 N=5
So, the second state is
not reachable from the
first, and Sam Loyd took
no risk with his money ...
23
What is the Actual State Space?
a) The set of all states?
[e.g., a set of 16! states for the 15-puzzle]
b) The set of all states from which a given goal
state is reachable?
[e.g., a set of 16!/2 states for the 15-puzzle]
c) The set of all states reachable from a given
initial state?
In general, the answer is a)
24
What is the Actual State Space?
a) The set of all states?
[e.g., a set of 16! states for the 15-puzzle]
b) The set of all states from which a given goal
state is reachable?
[e.g., a set of 16!/2 states for the 15-puzzle]
c) The set of all states reachable from a given
initial state?
In general, the answer is a)
But a fast test determining whether a state is reachable
from another is very useful, as search-based problem
solvers are often very inefficient when a problem has no
solution
More on this in future lectures ...
25
Stating a Problem as
a Search Problem
S State space S
1 Successor function:
3 2
x S SUCCESSORS(x) 2S
Arc cost
Initial state s0
Goal test:
xS GOAL?(x) =T or F
A solution is a path joining
the initial to a goal node
26
Searching the State Space
Often it is not
feasible to build
a complete
representation
of the state
graph
27
8-, 15-, 24-Puzzles
8-puzzle 362,880 states
0.036 sec
15-puzzle 1.3 x 1012 states
< 4 hours
24-puzzle 1025 states
> 109 years
100 millions states/sec
28
Searching the State Space
Often it is not
feasible to build
a complete
representation
of the state
graph
A problem solver
must construct a
solution by
exploring a small
portion of the
graph
29
Searching the State Space
30
Searching the State Space
Search tree
31
Searching the State Space
Search tree
32
Searching the State Space
Search tree
33
Searching the State Space
Search tree
34
Searching the State Space
Search tree
35
Simple Problem-Solving-Agent
Algorithm
1. s0 sense/read initial state
2. GOAL? select/read goal test
3. Succ select/read successor function
4. solution search(s0, GOAL?, Succ)
5. perform(solution)
36
State Space
Each state is an abstract representation of a
collection of possible worlds sharing some crucial
properties and differing on non-important details
only
E.g.: In assembly planning, a state does not define exactly
the absolute position of each part
The state space is discrete. It may be finite, or
infinite
37
Successor Function
It implicitly represents all the actions
that are feasible in each state
38
Successor Function
It implicitly represents all the actions
that are feasible in each state
Only the results of the actions (the
successor states) and their costs are
returned by the function
The successor function is a “black box”:
its content is unknown
E.g., in assembly planning, the function does
not say if it only allows two sub-assemblies to
be merged or if it makes assumptions about
subassembly stability 39
Path Cost
An arc cost is a positive number
measuring the “cost” of performing the
action corresponding to the arc, e.g.:
• 1 in the 8-puzzle example
• expected time to merge two sub-assemblies
We will assume that for any given
problem the cost c of an arc always
verifies: c ε 0, where ε is a constant
40
Path Cost
An arc cost is a positive number
measuring the “cost” of performing the
action corresponding to the arc, e.g.:
• 1 in the 8-puzzle example
• expected time to merge two sub-assemblies
We will assume that for any given
problem the cost c of an arc always
verifies: c ε 0, where ε is a constant
[This condition guarantees that, if path becomes
arbitrarily long, its cost also becomes arbitrarily large]
Why is this needed? 41
Goal State 1 2 3
It may be explicitly described: 4 5 6
7 8
1 a a
or partially described: a
5 a
(“a” stands for “any”)
a 8 a
or defined by a condition,
e.g., the sum of every row, of every column,
and of every diagonals equals 30 15 1 2 12
4 10 9 7
8 6 5 11
3 13 14
42
Other examples
43
8-Queens Problem
Place 8 queens in a chessboard so that no two
queens are in the same row, column, or diagonal.
A solution Not a solution
44
Formulation #1
States: all arrangements of 0,
1, 2, ..., or 8 queens on the
board
Initial state: 0 queen on the
board
Successor function: each of
the successors is obtained by
adding one queen in an empty
square
Arc cost: irrelevant
Goal test: 8 queens are on the
board, with no two of them
attacking each other
64x63x...x53 ~ 3x1014 states
45
Formulation #2
States: all arrangements of k = 0,
1, 2, ..., or 8 queens in the k
leftmost columns with no two
queens attacking each other
Initial state: 0 queen on the board
Successor function: each successor
is obtained by adding one queen in
any square that is not attacked by
any queen already in the board, in
the leftmost empty column
Arc cost: irrelevant
Goal test: 8 queens are on the
board
2,057 states
46
n-Queens Problem
A solution is a goal node, not a path to this
node (typical of design problem)
Number of states in state space:
• 8-queens 2,057
• 100-queens 1052
But techniques exist to solve n-queens
problems efficiently for large values of n
They exploit the fact that there are many
solutions well distributed in the state space
47
Path Planning
What is the state space?
48
Formulation #1
Cost of one horizontal/vertical step = 1
Cost of one diagonal step = 2
49
Optimal Solution
This path is the shortest in the discretized state
space, but not in the original continuous space
50
Formulation
sweep-line
#2
51
Formulation #2
52
States
53
Successor Function
54
Solution Path
A path-smoothing post-processing step is
usually needed to shorten the path further
55
Formulation #3
Cost of one step: length of segment
56
Formulation #3
Visibility graph
Cost of one step: length of segment
57
Solution Path
The shortest path in this state space is also the
shortest in the original continuous space
58
Assembly (Sequence) Planning
59
Possible Formulation
States: All decompositions of the assembly
into subassemblies (subsets of parts in their
relative placements in the assembly)
Initial state: All subassemblies are made of a
single part
Goal state: Un-decomposed assembly
Successor function: Each successor of a state
is obtained by merging two subassemblies (the
successor function must check if the merging
is feasible: collision, stability, grasping, ...)
Arc cost: 1 or time to carry the merging
60
A Portion of State Space
61
But the formulation rules out
“non-monotonic” assemblies
62
But the formulation rules out
“non-monotonic” assemblies
63
But the formulation rules out
“non-monotonic” assemblies
64
But the formulation rules out
“non-monotonic” assemblies
65
But the formulation rules out
“non-monotonic” assemblies
66
But the formulation rules out
“non-monotonic” assemblies
X
This “subassembly” is not
allowed in the definition of
the state space: the 2 parts
are not in their relative
placements in the assembly
Allowing any grouping of parts
as a valid subassembly would
make the state space much
bigger and more difficult
to search
67
Assumptions in Basic Search
The world is static
The world is discretizable
The world is observable
The actions are deterministic
But many of these assumptions can be
removed, and search still remains an
important problem-solving tool
68
Vacuum Cleaner Problem
A vacuum robot lives in a two-room environment
States: The robot is in one of the two rooms,
and each room may or may not contain dirt
8 states
Successor function: the successors of a state
correspond to trying 3 actions: Right, Left,
Suck.
Initial state: Unknown (not observable)
Goal state: No dust in the rooms
69
Re-Formulation with “Belief States”
Belief states: sets of states 28 =256
belief states
Initial belief state: set of 8 states
Successor function: the successors of a
belief state correspond to trying Right,
Left, Suck on all states in the belief
state.
Goal belief state: any set of states with
none having dust in any of the rooms
70
Left Suck Right
71
Search and AI
Search methods are ubiquitous in AI systems.
They often are the backbones of both core
and peripheral modules
An autonomous robot uses search methods:
• to decide which actions to take and which sensing
operations to perform,
• to quickly anticipate and prevent collision,
• to plan trajectories,
• to interpret large numerical datasets provided by
sensors into compact symbolic representations,
• to diagnose why something did not happen as
expected,
• etc...
72
Applications
Search plays a key role in many applications, e.g.:
Route finding: airline travel, networks
Package/mail distribution
Pipe routing, VLSI routing
Comparison and classification of protein folds
Pharmaceutical drug design
Design of protein-like molecules
Inverse analysis for non-destructive testing
Video games
73