Download State-Space Search

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Collaborative information seeking wikipedia , lookup

Computer Go wikipedia , lookup

Transcript
State-Space Search
Motivation: Understanding “dynamics” in AI
Statics versus Dynamics of AI
Statics: Knowledge representation
Dynamics: Inference
State-Space Search is the primary inference
paradigm of GOFAI
(good old-fashioned artificial intelligence -- prestatistical AI)
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
1
Outline:
Origins of State-Space Search: GPS
A Puzzle: The “Painted Squares”
Combinatorics of the Puzzle
Demonstration with T*
State spaces, operators, moves
Representations for pieces, boards, and states.
Recursive depth-first search
Iterative depth-first search
Graph search problems
Uniform cost alg. Heuristic search with A-Star.
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
2
Allen Newell and Herbert Simon
The state-space search paradigm received early
attention from Newell and Simon, who developed
a system called GPS (the General Problem
Solver) in 1960.
Allen Newell
Herbert Simon
http://diva.library.cmu.edu/Newell/
http://nobelprize.org/nobel_prizes/economics/laureates/1978/simon-autobio.html
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
3
The Painted Squares
Puzzle(s)
A Painted Squares Puzzle consists of
1. a board (typically of size 2 by 2), and
2. a set of painted squares. Each square has its sides painted with a
texture that is one of:
striped, hashed, gray, or boxed.
The objective is to fill the board with the square pieces in such a way
that adjacent squares have matching textures where their sides
abut one another.
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
4
Painted Squares: The Pieces
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
5
Painted Squares: The Board
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
6
Painted Squares: Initial State
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
7
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
8
Painted Squares
How many possible arrangements?
Could we simply make a list of all the possible
arrangements of pieces, and then select those that are
solutions?
It depends on how many there are and how much time we
can afford to spend.
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
9
Painted Squares
How many possible arrangements?
Factors to consider:
1.
2.
3.
4.
5.
6.
7.
Number of places on the board
Number of possible textures in the patterns
Number of rotations of a square (usually 4)
Whether flipping squares is allowed
Symmetries of pieces
Symmetries of the board
All possible board shapes for a given side (e.g. the
possible “quadraminos”)
8. Full boards only, or partially filled boards, too?
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
10
Painted Squares
How many possible arrangements?
The number can be reduced by enforcing constraints:
1. Do not permit violations of the matching-sides criterion.
2. Require that filled positions on the board be
contiguous and always the first k in some ordering.
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
11
A Solution Approach for the
Painted Squares Puzzle
state: partially filled board.
Initial state: empty board.
Goal state: filled board, in which pieces satisfy all
constraints.
Operator: for a given remaining piece, given vacancy on
the board, and given orientation, try placing that piece at
that position in that orientation.
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
12
Interactive Search
T* = T-STAR = Transparent STate-space search
ARchitecture
Missionaries and Cannibals puzzle
Image processing operator sequences
Blocks-World problem
(robot motion planning)
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
13
State-Space Search
General terminology …
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
14
States
A state consists of a complete description or
snapshot of a situation arrived at during the
solution of a problem.
Initial state: the starting position or
arrangement, prior to any problem-solving
actions being taken.
Goal state: the final arrangement of elements or
pieces that satisfies the requirements for a
solution to the problem.
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
15
State Space
The set of all possible states – the
arrangements of the elements or
components to be used in solving a
problem – forms the space of states for
the problem. This is known as the state
space.
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
16
Moves
A move is a transition from one state to
another.
An operator is a partial function (from states
to states) that can (sometimes) be applied to
a state to produce a new state, and also,
implicitly, a move.
A sequence of moves that leads from the
initial state to a goal state constitutes a
solution.
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
17
Operator Preconditions
Precondition: A necessary property of a state in which a
particular operator can be applied.
Example: In checkers, a piece may only move into a square
that is vacant.
Vacant(place) is a precondition on moving a piece into place.
Example: In Chess, a precondition for moving a rook from
square A to square B is that all squares between A and B be
vacant. (A and B must also be either in the same row or the
same column.)
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
18
Search Trees
By applying operators from a given state we generate its
children or successors.
Successors are descendants as are successors of
descendants.
If we ignore possible equivalent states among
descendants, we get a tree structure.
Depth-First Search: Examine the nodes of the tree by
fully exploring the descendants of a node before trying
any siblings of a node.
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
19
The Combinatorial Explosion
Suppose a search process begins with the initial state.
Then it considers each of k possible moves. Each of those
may have k possible subsequent moves.
In order to look n steps ahead, the number of states that must
be considered is
1 + k + k2 + . . . + kn.
For k > 1, this expression grows rapidly as n increases.
(The growth is exponential.) This is known as the
combinatorial explosion.
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
20
Graph Search
When descendant nodes can be reached with moves via
two or more paths, we are really searching a more
general graph than a tree.
Depth-First Search: Examine the nodes of the graph by
fully exploring the “descendants” of a node before trying
any “siblings” of a node.
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
21
Sample Graph
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
22
Depth-First Search:
Iterative Formulation
1. Put the start state on a list OPEN
2. If OPEN is empty, output “DONE” and stop.
3. Select the first state on OPEN and call it S.
Delete S from OPEN.
Put S on CLOSED.
If S is a goal state, output its description
4. Generate the list L of successors of S and delete
from L those states already appearing on CLOSED.
5. Delete any members of OPEN that occur on L.
Insert all members of L at the front of OPEN.
6. Go to Step 2.
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
23
Breadth-First Search:
Iterative Formulation
1. Put the start state on a list OPEN
2. If OPEN is empty, output “DONE” and stop.
3. Select the first state on OPEN and call it S.
Delete S from OPEN.
Put S on CLOSED.
If S is a goal state, output its description
4. Generate the list L of successors of S and delete
from L those states already appearing on CLOSED.
5. Delete any members of OPEN that occur on L.
Insert all members of L at the end of OPEN.
6. Go to Step 2.
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
24
Search Algorithms
Alternative objectives:
Reach any goal state
Find a short or shortest path to a goal state
Alternative properties of the state space and moves:
Tree structured vs graph structured, cyclic/acyclic
Weighted/unweighted edges
Alternative programming paradigms:
Recursive
Iterative
Iterative deepening
Genetic algorithms
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
25
Recursive DFS for the
Painted Squares Puzzle
state: partially filled board.
Initial state: empty board.
Goal state: filled board, in which pieces satisfy all
constraints.
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
26
Recursive Depth-First Method
Current board B  empty board.
Remaining pieces Q  all pieces.
Call Solve(B, Q).
Procedure Solve(board B, set of pieces Q)
For each piece P in Q, {
For each orientation A {
Place P in the first available
position of B in orientation A, obtaining B’.
If B’ is full and meets all constraints, output B’.
If B’ is full and does not meet all constraints, return.
Call Solve(B’, Q - {P}).
}
}
Return.
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
27
State-Space Graphs with
Weighted Edges
Let S be space of possible states.
Let (si, sj) be an edge representing a move from si to sj.
w(si, sj) is the weight or cost associated with moving from si to sj.
The cost of a path [ (s1, s2), (s2, s3), . . ., (sn-1, sn) ] is the sum of the
weights of its edges.
A minimum-cost path P from s1 to sn has the property that for any
other path P’ from s1 to sn, cost(P)  cost(P’).
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
28
Graphs with Weighted Edges
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
29
Uniform-Cost Search
A more general version of breadth-first search.
Processes states in order of increasing path cost from the start
state.
The list OPEN is maintained as a priority queue. Associated with
each state is its current best estimate of its distance from the start
state.
As a state si from OPEN is processed, its successors are
generated. The tentative distance for a successor sj of state si is
computed by adding w(si, sj) to the distance for si.
If sj occurs on OPEN, the smaller of its old and new distances is
retained. If sj occurs on CLOSED, and its new distance is smaller
than its old distance, then it is taken off of CLOSED, put back on
OPEN, but with the new, smaller distance.
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
30
Ideal Distances in A* Search
Let f(s) represent the cost (distance) of a shortest path that starts at
the start state, goes through s, and ends at a goal state.
Let g(s) represent the cost of a shortest path from the start state to s.
Let h(s) represent the cost of a shortest path from s to a goal state.
Then f(s) = g(s) + h(s)
During the search, the algorithm generally does not know the true
values of these functions.
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
31
Estimated Distances in A* Search
Let g’(s) be an estimate of g(s) based on the currently known shortest
distance from the start state to s.
Let the h’(s) be a heuristic evaluation function that estimates the
distance (path length) from s to the nearest goal state.
Let f’(s) = g’(s) + h’(s)
Best-first search using f’(s) as the evaluation function is called A*
search.
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
32
Admissibility of A* Search
Under certain conditions, A* search will always reach a goal state and
be able to identify a shortest path to that state as soon as it arrives
there.
The conditions are:
h’(s) must not exceed h(s) for any s.
w(si, sj) > 0 for all si and sj.
This property of being able to find a shortest path to a goal state is
known as the admissibility property of A* search.
Sometimes we say that a particular A* algorithm is admissible. We
can say this when its h’ function satisfies the underestimation
condition and the underlying search problem involves positive
weights.
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
33
Search Algorithm Summary
Unweighted graphs
Weighted graphs
blind search
Depth-first
Breadth-first
Depth-first
Uniform-cost
uses heuristics
Best-first
A*
CSE 415 -- (c) S. Tanimoto, 2008
State-Space Search
34