B Search Problems
B Search Problems
1
Example: 8-Puzzle
8 2 1 2 3
3 4 7 4 5 6
5 1 6 7 8
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
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?
19
Permutation Inversions
Wlg, let the goal be: 1 2 3 4
5 6 7 8
9 10 11 12
13 14 15
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
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
< 4 hours
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
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
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.
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
51
Formulation #2
52
States
53
Successor Function
54
Solution Path
Visibility graph
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
68
Vacuum Cleaner Problem
A vacuum robot lives in a two-room environment
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.: