State Space Search - PowerPoint PPT Presentation

1 / 45
About This Presentation
Title:

State Space Search

Description:

There are only a few ways to use the facts and given information. ... The list DE is used to prevent the algorithm from retrying useless paths. ... – PowerPoint PPT presentation

Number of Views:30
Avg rating:3.0/5.0
Slides: 46
Provided by: cuocwEng
Category:
Tags: facts | search | space | state | useless

less

Transcript and Presenter's Notes

Title: State Space Search


1
State Space Search
Thinking about Algorithm abstractly
2
Structures and Strategies for State Space Search
  • Introduction
  • Graph Theory
  • Structures for state space search
  • state space representation of problems
  • Strategies for state space search
  • Data-Driven and Goal-Driven Search
  • Implementing Graph Search
  • Depth-First and Breadth-First Search
  • Depth-First Search with Iterative Deepening
  • Using the State Space to Represent Reasoning with
    the Predicate Calculus
  • State Space Description of a Logical System
  • AND/OR graphs
  • Examples and Applications

3
Introduction (1)
  • Questions for designing search algorithms
  • Is the problem solver guaranteed to find a
    solution?
  • Will the problem solver always terminate?
  • When a solution is found, is it guaranteed to be
    optimal?
  • What is the complexity of the search process?
  • How can the interpreter most effectively reduce
    search complexity?
  • How can the interpreter effectively utilize a
    representation language?
  • State space search is the tool for answering
    these questions.

4
Introduction (2)
  • A graph consists of nodes and a set of arcs or
    links connecting pairs of nodes.
  • Nodes are used to represent discrete states.
  • A configuration of a game board. (tic-tac-toe)
  • Arcs are used to represent transitions between
    states.
  • Legal moves of a game
  • Leonhard Euler invented graph theory to solve the
    bridge of Königsberg problem
  • Is there a walk around the city that crosses each
    bridge exactly once.

5
State space representation of Tic-tac-toe
6
Königsberg Bridge System (1)
7
Königsberg Bridge System (2)
  • Euler focused on the degree of the nodes of the
    graph
  • Even degree node has an even number of arcs
    joining it to neighboring nodes.
  • Odd degree node has an odd number of arcs.
  • Unless a graph contained either exactly zero or
    two nodes of odd degree, the walk was impossible.
  • No odd dgree node the walk start at the first
    and end at the same node
  • Two odd degree nodes the walk could start at the
    first and end at the second

8
Definition of Graph(1)
  • A graph consists of nodes and arcs
  • A set of nodes N1, N2, , Nn need not be
    finite.
  • A set of arcs connects pairs of nodes.
  • A directed graph has an indicated direction for
    traversing each arc
  • If a directed arc connects Nj and Nk, then Nj is
    called the parent of Nk and Nk is called the
    child of Nj.
  • A rooted graph has a unique node Ns from which
    all paths in the graph originate
  • A tip or leaf node is a node without children.
  • An ordered sequence of nodes N1, N2, N3, Nn
    is called a path of length n-1 in the graph

9
Definition of Graph (2)
  • On a path in a rooted graph, a node is said to be
    an ancestor of all nodes positioned after it (to
    its right) as well as a descendant of all nodes
    before it (to its left).
  • A path that contains any node more than once is
    said to contain a cycle or loop.
  • A tree is a graph in which there is a unique path
    between every pair of nodes
  • Two nodes in a graph are said to be connected if
    a path exists that includes them both.

10
State Space Representation of Problems(1)
  • In the state space representation of a problem,
    the nodes of a graph corresponds to partial
    problem solution states, the arcs corresponds to
    steps in a problem-solving process.
  • State space search characterize problem solving
    as the process of finding a solution path from
    the start state to a goal.

11
State Space Representation of Problems(2)
  • Definition STATE SPACE SEARCH
  • A state space is represented by a four tuple
    N, A, S, GD where
  • N is the set of states.
  • A is the set of steps between states
  • S is the start state(S) of the problem.
  • GD is the goal state(S) of the problem.
  • The states in GD are described
  • 1. A measurable property of the states.
    (winning board in tic-tac-toe)
  • 2. A property of the path.(shortest path in
    traveling sales man problem)
  • A solution path is a path through this graph
    from S to GD.

12
Tic-tac-toe (1)
  • The set of states are all different
    configurations of Xs and Os that the game can
    have. N
  • 39 ways to arrange blank, X, O in nine spaces.
  • Arcs(steps) are generated by legal moves of the
    game, alternating between placing an X and an O
    in an unused location A
  • The start state is an empty board. S
  • The goal state is a board state having three Xs
    in a row, column, or diagonal. GD

13
Tic-tac-toe (2)
14
Tic-tac-toe (3)
  • There are no cycles in the state space because
    the directed arcs of the graph do not allow a
    move to be undone.
  • The complexity of the problem 9! (362,880)
    different path can be generated.
  • Need heuristics to reduce the search complexity.
  • e.g. My possible winning lines Opponents
    possible wining lines
  • Chess has 10120 possible game paths

15
Possible Heuristic for Tic-tac-toe
16
The 8-puzzle (1)
  • The set of states are all different
    configurations of 9 tiles (9!).
  • The legal moves are move the blank tile up(),
    right(), down(), and the left().
  • make sure that it does not move the blank off the
    board.
  • All four moves are not applicable at all times.
  • The start state
  • The goal stateunlike tic-tac-toe, cycles are
    possible in the 8-puzzle.
  • Applicable heuristics

17
The 8 puzzle (2)
18
Possible Heuristic for 8-puzzle
19
The Traveling Salesperson(1)
  • The goal of the problem is to find the shortest
    path for the salesperson to travel, visiting each
    city, and then returning to the starting city.
  • The goal description requires a complete circuit
    with minimum cost.
  • The complexity of exhaustive search is (N-1)!,
    where N is the number of cities
  • Techniques for reducing the search complexity.
  • Branch and Bound, The Nearest neighbor.

20
The Traveling Salesperson(2)
21
The Traveling Salesperson(3)
  • Branch and Bound technique
  • 1. Generate paths while keeping track of the best
    path found so far.
  • 2. Use this value as a bound
  • 3. As paths are constructed one city at a time,
    examine each partially completed path by guessing
    the best possible extension of the path (the
    branch).
  • 4. If the branch has greater cost than the bound,
    it eliminates the partial path and all of its
    possible extensions.
  • The Nearest Neighbor technique
  • Go to the closest unvisited city.
  • (A E D B C A) is not the shortest path

22
The Traveling Salesperson(4)
23
Data-Driven and Goal-Driven Search (1)
  • Data-driven search(forward chaining) takes the
    facts of the problem and applies the rules and
    legal moves to produce new facts that lead to a
    goal.
  • Goal-driven search (backward chaining) focused on
    the goal, finds the rules that could produce the
    goal, and chains backward through successive
    rules and subgoals to the given facts of the
    problem.
  • Both problem solvers search the same state space
    graph. The search order and the actual number of
    states searched can differ.

24
Data-Driven and Goal-Driven Search (2)
  • The preferred strategy is determined by the
    properties of the problem complexity of the
    rules, shape of the state space, the nature and
    availability of the problem data.
  • Confirming or denying the statement I am a
    descendant of Thomas Jefferson.
  • Assume that Thomas Jefferson was born about 250
    years ago and that 25 years per generation and
    that 3 children per family
  • I -gt Jefferson (backward) 210 ancestors
  • Jefferson -gt I (forward) 310 nodes of family

25
Goal-Driven Search is Suggested(1)
  • A goal or hypothesis is given in the problem
    statement or can easily be formulated.
  • Mathematics theorem prover, diagnostic systems
  • Early selection of a goal can eliminate most
    branches, making goal-driven search more
    effective in pruning the space.
  • Mathematics theorem prover.
  • Problem data are not given but must be acquired.
  • A medical diagnosis program.

26
Goal-Driven Search is Suggested(2)
27
Data-driven Search is Appropriate
  • All or most of the data are given in the initial
    problem statement.
  • PROSPECTOR interpreting geological data.
  • There are only a few ways to use the facts and
    given information.
  • DENDRAL finding the molecular structure of
    organic compounds. For any organic compound,
    enormous number of possible structures. The mass
    spectrographic data on a compound allow DENDRAL
    to eliminate most of possible structures.
  • Branching factor, availability of data, and ease
    of determining potential goals are carefully
    analyzed to determine the direction of search.

28
Backtracking Search Algorithm
  • Backtracking is a technique for systematically
    trying all paths through a state space.
  • Search begins at the start state and pursues a
    path until it reaches either a goal or a dead
    end. If it finds a goal, returns the solution
    path. If it reaches a dead end, it backtracks to
    the most recent node on the path
  • ABEHIFJCG

29
Backtracking Search Example
30
Backtrack (1)
  • Begin
  • SLstart state list (the states in the
    current path)
  • NSLstart new state list(Nodes awaiting
    evaluation)
  • nodes whose children are
    not yet been generated
  • DE dead ends (states whose descendants
    have failed to contain a goal node)
  • CSstart current state
  • while NSL is not while there are states
    to be tried
  • do begin
  • if CSgoal
  • then return (SL) on success, return
    list of states in path
  • if CS has no children (except nodes already
    on DE, SL, NSL)
  • then begin
  • while SL is not empty and CSthe first
    element of SL
  • do begin

31
Backtrack (2)
  • do begin
  • add CS to DE
  • remove first element from SL
    backtrack
  • remove first element from NSL
  • CSfirst element of NSL
  • end
  • add CS to SL
  • end
  • else begin when CS has children
  • the first child
    becomes new current state
  • and the rest are
    placed on NSL for future.
  • place children of CS (except nodes on
    DE) on NSL
  • CSfirst element of NSL
  • add CS to SL
  • end
  • end
  • return FAIL
  • end

32
Function Backtrack (3)
33
Ideas used in Backtrack algorithm
  • The list NSL is used to allow the algorithm to
    backtrack to any of these states.
  • The list DE is used to prevent the algorithm from
    retrying useless paths.
  • The list SL is used to keep track of the current
    solution path.
  • Explicit checks for membership of new states in
    these lists to prevent looping.

34
Depth-First and Breadth-First Search
  • A search algorithm must determine the order in
    which states are examined.
  • Breadth-first search explores the space
  • A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P,
    Q, R, S, T, U
  • Depth-first search goes deeper into the search
    space whenever this is possible.
  • A, B, E, K, S, L, T, F, M, C, G, N, H, O, P, U,
    D, I, Q, J, R

35
Search Example
36
Breadth-First Search (1)
Procedure breadth_first_search begin open
Start closed while open ?
do begin remove leftmost state from
open, call it X if X is a goal then
return(success) else begin generate
children of X put X on closed eliminate
children of X on open or closed put remaining
children on right end of open end end
return(failure) end.
37
Breadth-First Search(2)
  • 1. openA closed
  • 2. openB,C,D closedA
  • 3. openC,D,E,F closedB,A
  • 4. openD,E,F,G,H closedC,B,A
  • 5. openE,F,G,H,I,J closedD,C,B,A
  • 6. openF,G,H,I,J,K,L closedE,D,C,B,A
  • 7. openG,H,I,J,K,L,M(as L is already on open)
    closedF,E,D,C,B,A
  • 8. openH,I,J,K,L,M,N closedG,F,E,D,C,B,A
  • 9. And so on until either U is found or open

38
Breadth first search (3)
39
Breadth-First Search (4)
  • OPEN lists states that have been generated but
    whose children have not been examined.
  • CLOSED records states that have already been
    examined.
  • OPEN is maintained as a queue, FIFO data
    structure.
  • States are added to the right of the list and
    removed from the left
  • Figure 3.14 (p.101)
  • Breadth-first search is guaranteed to find the
    shortest path from the start state to the goal.
  • If the path is required for a solution, we can
    store ancestor information along with each state.
  • open (D,A), (E,B), (F,B), (G,C), (H,C)
  • closed (C,A), (B,A), (A,nil)

40
Depth-First Search (1)
Procedure depth_first_search begin open
Start closed while open ?
do begin remove leftmost state from open,
call it X if X is a goal then
return(success) else begin generate
children of X put X on closed eliminate
children of X on open or closed put remaining
children on left end of open end end
return(failure) end.
41
Depth-First Search (2)
  • 1. openA closed
  • 2. openB,C,D closedA
  • 3. openE,F,C,D closedB,A
  • 4. openK,L,F,C,D closedE,B,A
  • 5. openS,L,F,C,D closedK,E,B,A
  • 6. openL,F,C,D closedS,K,E,B,A
  • 7. openT,F,C,D closedL,S,K,E,B,A
  • 8. openF,C,D closedT,L,S,K,E,B,A
  • 9. openM,C,D, as L is already on closed
    closedF,T,L,S,K,E,B,A
  • 10. openC,D closedM,F,T,L,S,K,E,B,A
  • 11. openG,H,D closedC,M,F,T,L,S,K,E,B,A

42
Depth-First Search (3)
  • OPEN is maintained as a stack, or LIFO data
    structure.
  • The state are both added and removed from the
    left end of OPEN.
  • Figure 3.16 (p.104)
  • is not guaranteed to find the shortest path.

43
Depth first search (4)
44
Depth-First vs. Breadth-First
  • The choice depends on the specific problem being
    solved.
  • Significant features include the importance of
    finding the shortest path, the branching of the
    state space, the available time and space
    resources, the average length of paths to a goal
    node, and whether we want all solutions or only
    the first solution.
  • Breadth-First
  • always finds the shortest path to a goal node.
  • If there is a bad branching factor, the
    combinatorial explosion may prevent the algorithm
    from finding a solution.
  • Depth-First
  • may not waste time searching a large number of
    shallow state in the graph.
  • can get lost deep in a graph missing shorter
    paths to goal.

45
Depth-First Search with Iterative Deepening
  • Depth-First Search with Iterative Deepening
  • performs a depth-first search of the space with a
    depth bound of 1. If it fails to find a goal, it
    performs another depth-first search with a depth
    bound of 2. This continues, increasing the depth
    bound by one at each iteration.
  • Best-First Search
  • orders the states on the OPEN list according to
    some measure of their heuristic merit.
Write a Comment
User Comments (0)
About PowerShow.com