03 - Uninformed Search - - Uninformed...function Tree-Search( problem, strategy) ... Uninformed search strategies Uninformed strategies use only the information available in the problem definition

  • Published on
    06-Mar-2018

  • View
    216

  • Download
    4

Embed Size (px)

Transcript

  • Copyright Richard J. Povinelli Page 1rev 1.1, 9/3/2003

    Uninformed Search

    Dr. Richard J. Povinelli

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 2

    Objectives

    You shouldbe able to formulate a search problem. be able to evaluate a search algorithm on the basis of completeness, optimality, time complexity, and space complexity. be able to compare, contrast, classify, and implement various search algorithms including breadth-first, uniform-cost, depth-first, depth-limited, iterative deepening, bidirectional.

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 3

    Problem-solving agentsRestricted form of general agentNote: this is offline problem solving. Online problem solving involves acting without complete knowledge of the problem and solution.function Simple-Problem-Solving-Agent( percept) returns an action static: seq, an action sequence, initially empty

    state, some description of the current world state goal, a goal, initially null problem, a problem formulation

    state Update-State(state,percept) if seq is empty thengoal Formulate-Goal(state) problem Formulate-Problem(state, goal) seq Search( problem) action Recommendation(seq, state) seq Remainder(seq, state) return action

    AIMA Slides Stuart Russell and Peter Norvig, 1998

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 4

    Example: Romania

    On holiday in Romaniacurrently in AradFlight leaves tomorrow from Bucharest

    Formulate goal: be in Bucharest

    Formulate problem:states: various citiesoperators: drive between cities

    Find solution: sequence of cities, e.g., Arad, Sibiu, Fagaras, Bucharest

    AIMA Slides Stuart Russell and Peter Norvig, 1998

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 5

    Example: Romania

    AIMA Slides Stuart Russell and Peter Norvig, 1998

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 6

    Problem typesDeterministic, fully observable => single-state problem

    Agent knows exactly which state it will be in; solution is a sequence

    Non-observable => conformant (sensorless) problemAgent may have no idea where it is; solution (if any) is a sequence

    Nondeterministic and/or partially observable=> contingency problem

    Percepts provide new information about current statesolution is a tree or policyoften interleave search, execution

    Unknown state space => exploration problem (online)

    AIMA Slides Stuart Russell and Peter Norvig, 1998

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 7

    Example: vacuum worldSingle-state, start in #5

    Solution??Conformant, start in {1, 2, 3, 4, 5, 6, 7, 8}

    e.g., Right goes to {2, 4, 6, 8}.Solution??

    Contingency, start in #5Murphy's Law: Suck can dirty a clean carpetLocal sensing: dirt, location only.Solution??

    AIMA Slides Stuart Russell and Peter Norvig, 1998

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 8

    Single-state problem formulationA problem is defined by four items:

    initial state at Arad

    successor function S(x) = set of action-state pairsS(Arad) = {

    , ,}

    goal testexplicit, e.g., x = at Bucharestimplicit, e.g., NoDirt(x)

    path cost (additive)sum of distances, number of operators executed, or others

    A solution is a sequence of actions leading from the initial state to a goal state

    AIMA Slides Stuart Russell and Peter Norvig, 1998

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 9

    Selecting a state space Real world is absurdly complex

    State space must be abstracted for problem solving(Abstract) state = set of real states(Abstract) action = complex combination of real actions

    Arad Zerind represents a complex set of possible routes, detours, rest stops, and other states.

    For guaranteed realizability, any real state in Arad must get to some real state in Zerind(Abstract) solution = set of real paths that are solutions in the real worldEach abstract action should be easier than the original problem!

    AIMA Slides Stuart Russell and Peter Norvig, 1998

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 10

    CAT 8 PuzzleDescribe the following for the 8 puzzle

    statesoperatorsgoal testpath cost

    Work with a partner for 5 minutes

    Start State Goal State

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 11

    Example: The 8-puzzle

    states??: integer locations of tiles (ignore intermediate positions)operators??: move blank left, right, up, down (ignore unjamming)goal test??: = goal state (given)path cost??: 1 per move[Note: optimal solution of n-Puzzle family is NP-hard]

    AIMA Slides Stuart Russell and Peter Norvig, 1998

    Start State Goal State

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 12

    Example: vacuum world

    AIMA Slides Stuart Russell and Peter Norvig, 1998

    states??operators??goal test??path cost??

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 13

    Example: vacuum world

    AIMA Slides Stuart Russell and Peter Norvig, 1998

    states??: integer dirt and robot locations (ignore dirt amounts)operators??: Left, Right, Suck, NoOp goal test??: no dirtpath cost??: 1 per operator (0 for NoOp)

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 14

    Example: robotic assembly

    AIMA Slides Stuart Russell and Peter Norvig, 1998

    states??: real-valued coordinates of robot joint angles, parts of the object to be assembledoperators??: continuous motions of robot jointsgoal test??: complete assembly with no robot included!path cost??: time to execute

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 15

    Tree Search algorithms

    Basic idea: offline, simulated exploration of state space by generating successors of already-explored states (a.k.a. expanding states)

    AIMA Slides Stuart Russell and Peter Norvig, 1998

    function Tree-Search( problem, strategy) returns a solution, or failure initialize the search tree using the initial state of problemloop do

    if there are no candidates for expansion then return failure choose a leaf node for expansion according to strategyif the node contains a goal state then return the corresponding solution else expand the node and add the resulting nodes to the search tree

    end

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 16

    Implementation: states vs. nodesA state is a (representation of) a physical configurationA node is a data structure constituting part of a search tree includes parent, children, depth, path cost g(x)States do not have parents, children, depth, or path cost!

    AIMA Slides Stuart Russell and Peter Norvig, 1998

    The Expand function creates new nodes, filling in the various fields and using the Operators (or SuccessorFn) of the problem to create the corresponding states.

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 17

    Implementation of general tree search

    function Tree-Search( problem, fringe) returns a solution or failurefringe Insert(Make-Node(Initial-State[problem]), fringe) loop do

    if fringe is empty then return failure node Remove-Front(fringe ) if Goal-Test[problem] applied to State(node) succeeds

    then return node fringe InsertAll (Expand(node, problem), fringe)

    function Expand(node, problem) returns a set of nodessuccessors the empty setfor each action, result in Successor-Fn [problem](State[node]) do

    s a new NodeParent-Node [s] node; Action[s] action; State[s] resultPath-Cost[s] Path-Cost[node] + Step-Cost(node, action, s)Depth[s] Depth[node] + 1add s to successors

    return successorsAIMA Slides Stuart Russell and Peter Norvig, 2003

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 18

    Tree search example

    AIMA Slides Stuart Russell and Peter Norvig, 1998

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 19

    Search strategiesA strategy is defined by picking the order of node expansionStrategies are evaluated along the following dimensions

    completeness does it always find a solution if one exists?time complexity number of nodes generated/expandedspace complexity maximum number of nodes in memoryoptimality does it always find a least-cost solution?

    Time and space complexity are measured in terms ofb maximum branching factor of the search treed depth of the least-cost solutionm maximum depth of the state space (may be )

    AIMA Slides Stuart Russell and Peter Norvig, 1998

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 20

    Uninformed search strategiesUninformed strategies use only the information available in the problem definitionBreadth-first searchUniform-cost searchDepth-first searchDepth-limited searchIterative deepening search

    AIMA Slides Stuart Russell and Peter Norvig, 1998

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 21

    CAT Manual search I

    Find the shortest cost route from Bucharest to Zerind in 15 s.

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 22

    CAT Manual search II

    Find the shortest cost route from Pitesti to Timisoaro in 1 minute

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 23

    CAT Manual search III

    Bucharest to Zerind: 101 + 97 + 80 + 140 + 75 = 493Pitesti to Timisoaro: 97 + 80 + 140 + 118 = 435

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 24

    Breadth-first searchExpand shallowest unexpanded node Implementation:

    fringe is a FIFO queue, I.e. new successors go at end

    AIMA Slides Stuart Russell and Peter Norvig, 1998

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 25

    Properties of breadth-first searchComplete??Time??Space??Optimal??

    AIMA Slides Stuart Russell and Peter Norvig, 1998

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 26

    Properties of breadth-first searchComplete?? Yes (if b is finite)Time?? 1 + b + b2 + b3 + + bd = O(bd ), i.e., exponential in dSpace?? O(bd ) (keeps every node in memory)Optimal?? Yes (if cost = 1 per step), not optimal in general Space is the big problem, can easily generate nodes at 10MB/sec so 24hrs = 860GB.

    AIMA Slides Stuart Russell and Peter Norvig, 1998

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 27

    Romania with step costs in km

    AIMA Slides Stuart Russell and Peter Norvig, 1998

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 28

    Uniform-cost searchExpand least-cost unexpanded nodeImplementation: fringe = queue ordered by path cost

    AIMA Slides Stuart Russell and Peter Norvig, 1998

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 29

    Properties of uniform-cost searchExpand least-cost unexpanded nodeImplementation:

    fringe = queue ordered by path costEquivalent to breadth-first if step costs all equalComplete?? Yes, if step cost Time?? # of nodes with g cost of optimal solution, O(b^(ceil(C*/)), where C* is the cost of the optimal solutionSpace?? # of nodes with g cost of optimal solution, O(b^(ceil(C*/)) Optimal?? Yes, nodes expanded in increasing order of g(n)

    AIMA Slides Stuart Russell and Peter Norvig, 1998

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 30

    DFS on a depth-3 binary tree

    AIMA Slides Stuart Russell and Peter Norvig, 1998

    Expand deepest unexpanded nodeImplementation

    fringe = LIFO queue, i.e., put successors at front

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 31

    Properties of depth-first searchComplete??Time??Space??Optimal??

    AIMA Slides Stuart Russell and Peter Norvig, 1998

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 32

    Properties of depth-first searchComplete??

    No: fails in infinite-depth spaces, spaces with loopsModify to avoid repeated states along path complete in finite spaces

    Time?? O(bm ): terrible if m (maximum depth of the state space) is much larger than d, (depth of the least-cost solution)but if solutions are dense, may be much faster than breadth-first

    Space?? O(bm), i.e., linear space!Optimal?? No

    AIMA Slides Stuart Russell and Peter Norvig, 1998

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 33

    Depth-limited searchDepth-first search with depth limitImplementation: Nodes at depth l have no successors

    function Depth-Limited-Search (problem, limit) returns soln/fail/cutoffRecursive-DLS(Make-Node(Initial-State[problem]), problem, limit)

    function Recursive-DLS (node, problem, limit) returns soln/fail/cutoffcutoff-occurred? falseif Goal-Test[problem](State[node]) then return nodeelse if Depth[node] = limit then return cutoffelse for each successor in Expand(node, problem) do

    result Recursive-DLS(successor, problem, limit)if result = cutoff then cutoff-occurred? trueelse if result failure then return result

    if cutoff-occurred? then return cutoff else return failure

    AIMA Slides Stuart Russell and Peter Norvig, 1998

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 34

    Iterative deepening search

    function Iterative-Deepening-Search( problem) returns a solutioninputs: problem, a problem for depth 0 to do

    result Depth-Limited-Search( problem, depth) if result cutoff then return result

    end

    AIMA Slides Stuart Russell and Peter Norvig, 1998

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 35

    Iterative deepening search l = 0

    AIMA Slides Stuart Russell and Peter Norvig, 1998

    Arad

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 36

    Iterative deepening search l = 1

    AIMA Slides Stuart Russell and Peter Norvig, 1998

    Arad

    Sibiu TimisoaraZerind

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 37

    Iterative deepening search l = 2

    AIMA Slides Stuart Russell and Peter Norvig, 1998

    Arad

    Sibiu TimisoaraZerind

    OradeaArad OradeaArad Fagaras Rimnicu Vilcea Arad Lugoj

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 38

    Properties of iterative deepening search

    Complete??Time??Space??Optimal??

    AIMA Slides Stuart Russell and Peter Norvig, 1998

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 39

    Properties of iterative deepening search

    Complete?? YesTime?? (d + 1)b0 + db1 + (d - 1)b2 + + bd = O(bd )Space?? O(bd)Optimal?? Yes, if step cost = 1

    Can be modified to explore uniform-cost treeNumerical comparison for b=10 and d=5, solution at far right:

    N(IDS) = 50 + 400 + 3,000 + 20,000 + 100,000 = 123,450N(BFS) = 10 + 100 + 1,000 + 10,000 + 100,000 + 999,990 = 1,111,100

    AIMA Slides Stuart Russell and Peter Norvig, 1998

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 40

    CAT Search StrategiesWork out the tree for the four queens search problems. Each team will use a different search strategy

    Breadth-firstUniform-costDepth-firstIterative deepening

    Work with a partner for 5 minutes, write on board

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 41

    Summary of algorithms

    a complete if b is finiteb complete if step costs e for positive ec optimal if step costs are all identicald if both directions use breadth-first search

    Criterion Breadth- Uniform- Depth- Depth- IterativeFirst Cost First Limited Deepening

    Complete? Yesa Yesa,b No No Yesa

    Time O (b d +1) O (b 1+floor(C* / )) O (b m ) O (b l ) O (b d )Space O (b d +1) O (b 1+floor(C* / )) O (bm ) O (bl ) O (bd ) Optimal? Yesc Yes No No Yesc

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 42

    Repeated states

    Failure to detect repeated states can turn a linear problem into an exponential one!

  • Copyright Richard J. Povinelli rev 1.1, 9/3/2003 Page 43

    Graph searchfunction Graph-Search(problem, fringe) returns a solution, or

    failureclosed an empty setfringe Insert(Make-Node(Initial-State...

Recommended

View more >