View
0
Download
0
Category
Preview:
Citation preview
10/11/2010
1
Solving problems by searchingSolving problems by searching
Chapter 3
14 Jan 2004 CS 3243 - Blind Search 1
OutlineProblem-solving agentsProblem formulationExample problemsBasic search algorithmsProblem types
14 Jan 2004 CS 3243 - Blind Search 2
10/11/2010
2
Problem-solving agents
14 Jan 2004 CS 3243 - Blind Search 3
Example: RomaniaOn holiday in Romania; currently in Arad.Flight leaves tomorrow from BucharestF l t lFormulate goal:
be in BucharestFormulate problem:
states: various citiesactions: drive between cities
14 Jan 2004 CS 3243 - Blind Search 4
Find solution:sequence of cities, e.g., Arad, Sibiu, Fagaras, Bucharest
10/11/2010
3
Example: Romania
14 Jan 2004 CS 3243 - Blind Search 5
Single-state problem formulationA problem is defined by four items:
1. initial state e.g., "at Arad"actions or successor function S(x) set of action state2. actions or successor function S(x) = set of action–state pairs
e.g., S(Arad) = {<Arad Zerind, Zerind>, … }3. goal test, can be
explicit, e.g., x = "at Bucharest"implicit, e.g., Checkmate(x)
4. path cost (additive)e g sum of distances number of actions executed etc
14 Jan 2004 CS 3243 - Blind Search 6
e.g., sum of distances, number of actions executed, etc.c(x,a,y) is the step cost, assumed to be ≥ 0
A solution is a sequence of actions leading from the initial state to a goal state
10/11/2010
4
Selecting a state spaceReal 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
e.g., "Arad Zerind" represents a complex set of possible routes, detours, rest stops, etc.
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 world
14 Jan 2004 CS 3243 - Blind Search 7
set of real paths that are solutions in the real worldEach abstract action should be "easier" than the original problem
Vacuum world state space graph
states?actions?
14 Jan 2004 CS 3243 - Blind Search 8
actions?goal test?path cost?
10/11/2010
5
Vacuum world state space graph
states? integer dirt and robot location
14 Jan 2004 CS 3243 - Blind Search 9
states? integer dirt and robot locationactions? Left, Right, Suckgoal test? no dirt at all locationspath cost? 1 per action
Example: The 8-puzzle
states?actions?
14 Jan 2004 CS 3243 - Blind Search 10
goal test?path cost?
10/11/2010
6
Example: The 8-puzzle
states? locations of tiles actions? move blank left, right, up, down goal test? = goal state (given)
14 Jan 2004 CS 3243 - Blind Search 11
goal test? goal state (given)path cost? 1 per move
[Note: optimal solution of n-Puzzle family is NP-hard]
Example: robotic assembly
states?: real-valued coordinates of robot joint angles parts of the object to be assembled
14 Jan 2004 CS 3243 - Blind Search 12
actions?: continuous motions of robot jointsgoal test?: complete assemblypath cost?: time to execute
10/11/2010
7
Tree search algorithmsBasic idea:
offline, simulated exploration of state space by generating successors of already-explored statesgenerating successors of already explored states (a.k.a.~expanding states)
14 Jan 2004 CS 3243 - Blind Search 13
Tree search example
14 Jan 2004 CS 3243 - Blind Search 14
10/11/2010
8
Implementation: states vs. nodesA state is a (representation of) a physical configurationA node is a data structure constituting part of a search tree includes state, parent node, action, path cost g(x), depthdepth
14 Jan 2004 CS 3243 - Blind Search 15
The Expand function creates new nodes, filling in the various fields and using the SuccessorFn of the problem to create the corresponding states.
Search strategiesA search strategy is defined by picking the order of node expansionStrategies are evaluated along the following dimensions:
l t d it l fi d l ti if i t ?completeness: does it always find a solution if one exists?time complexity: number of nodes generatedspace complexity: maximum number of nodes in memoryoptimality: does it always find a least-cost solution?
Time and space complexity are measured in terms of b: maximum branching factor of the search treed: depth of the least-cost solution
14 Jan 2004 CS 3243 - Blind Search 16
pm: maximum depth of the state space (may be ∞)
10/11/2010
9
Uninformed search strategiesUninformed search strategies use only the information available in the problem definitiondefinitionBreadth-first searchUniform-cost searchDepth-first searchD th li it d h
14 Jan 2004 CS 3243 - Blind Search 17
Depth-limited searchIterative deepening search
Breadth-first searchExpand shallowest unexpanded nodeImplementation:
fringe is a FIFO queue, i.e., new successors go at end
14 Jan 2004 CS 3243 - Blind Search 18
10/11/2010
10
Breadth-first searchExpand shallowest unexpanded nodeImplementation:
fringe is a FIFO queue, i.e., new successors go at end
14 Jan 2004 CS 3243 - Blind Search 19
Breadth-first searchExpand shallowest unexpanded nodeImplementation:
fringe is a FIFO queue, i.e., new successors go at end
14 Jan 2004 CS 3243 - Blind Search 20
10/11/2010
11
Breadth-first searchExpand shallowest unexpanded nodeImplementation:
fringe is a FIFO queue, i.e., new successors go at end
14 Jan 2004 CS 3243 - Blind Search 21
Properties of breadth-first searchComplete? Yes (if b is finite)Time? 1+b+b2+b3+… +bd + b(bd-1) = O(bd+1)Space? O(bd+1) (keeps every node in memory)Space? O(b ) (keeps every node in memory)Optimal? Yes (if cost = 1 per step)
Space is the bigger problem (more than time)
14 Jan 2004 CS 3243 - Blind Search 22
10/11/2010
12
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(bceiling(C*/ ε)) where C* is the cost of the optimal solutionSpace? # of nodes with g ≤ cost of optimal solution, O(bceiling(C*/ ε))
14 Jan 2004 CS 3243 - Blind Search 23
O(bceiling(C / ε))Optimal? Yes – nodes expanded in increasing order of g(n)
Depth-first searchExpand deepest unexpanded nodeImplementation:
fringe LIFO queue i e put successors at frontfringe = LIFO queue, i.e., put successors at front
14 Jan 2004 CS 3243 - Blind Search 24
10/11/2010
13
Depth-first searchExpand deepest unexpanded nodeImplementation:
fringe LIFO queue i e put successors at frontfringe = LIFO queue, i.e., put successors at front
14 Jan 2004 CS 3243 - Blind Search 25
Depth-first searchExpand deepest unexpanded nodeImplementation:
fringe LIFO queue i e put successors at frontfringe = LIFO queue, i.e., put successors at front
14 Jan 2004 CS 3243 - Blind Search 26
10/11/2010
14
Depth-first searchExpand deepest unexpanded nodeImplementation:
fringe LIFO queue i e put successors at frontfringe = LIFO queue, i.e., put successors at front
14 Jan 2004 CS 3243 - Blind Search 27
Depth-first searchExpand deepest unexpanded nodeImplementation:
fringe LIFO queue i e put successors at frontfringe = LIFO queue, i.e., put successors at front
14 Jan 2004 CS 3243 - Blind Search 28
10/11/2010
15
Depth-first searchExpand deepest unexpanded nodeImplementation:
fringe LIFO queue i e put successors at frontfringe = LIFO queue, i.e., put successors at front
14 Jan 2004 CS 3243 - Blind Search 29
Depth-first searchExpand deepest unexpanded nodeImplementation:
fringe LIFO queue i e put successors at frontfringe = LIFO queue, i.e., put successors at front
14 Jan 2004 CS 3243 - Blind Search 30
10/11/2010
16
Depth-first searchExpand deepest unexpanded nodeImplementation:
fringe LIFO queue i e put successors at frontfringe = LIFO queue, i.e., put successors at front
14 Jan 2004 CS 3243 - Blind Search 31
Depth-first searchExpand deepest unexpanded nodeImplementation:
fringe LIFO queue i e put successors at frontfringe = LIFO queue, i.e., put successors at front
14 Jan 2004 CS 3243 - Blind Search 32
10/11/2010
17
Depth-first searchExpand deepest unexpanded nodeImplementation:
fringe LIFO queue i e put successors at frontfringe = LIFO queue, i.e., put successors at front
14 Jan 2004 CS 3243 - Blind Search 33
Depth-first searchExpand deepest unexpanded nodeImplementation:
fringe LIFO queue i e put successors at frontfringe = LIFO queue, i.e., put successors at front
14 Jan 2004 CS 3243 - Blind Search 34
10/11/2010
18
Depth-first searchExpand deepest unexpanded nodeImplementation:
fringe LIFO queue i e put successors at frontfringe = LIFO queue, i.e., put successors at front
14 Jan 2004 CS 3243 - Blind Search 35
Properties of depth-first searchComplete? No: fails in infinite-depth spaces, spaces with loops
Modify to avoid repeated states along pathModify to avoid repeated states along pathcomplete in finite spaces
Time? O(bm): terrible if m is much larger than d
but if solutions are dense, may be much faster than breadth-first
14 Jan 2004 CS 3243 - Blind Search 36
faster than breadth firstSpace? O(bm), i.e., linear space!Optimal? No
10/11/2010
19
Depth-limited search= depth-first search with depth limit l,i.e., nodes at depth l have no successors
Recursive implementation:Recursive implementation:
14 Jan 2004 CS 3243 - Blind Search 37
Iterative deepening search
14 Jan 2004 CS 3243 - Blind Search 38
10/11/2010
20
Iterative deepening search l =0
14 Jan 2004 CS 3243 - Blind Search 39
Iterative deepening search l =1
14 Jan 2004 CS 3243 - Blind Search 40
10/11/2010
21
Iterative deepening search l =2
14 Jan 2004 CS 3243 - Blind Search 41
Iterative deepening search l =3
14 Jan 2004 CS 3243 - Blind Search 42
10/11/2010
22
Iterative deepening searchNumber of nodes generated in a depth-limited search to depth d with branching factor b:
NDLS = b0 + b1 + b2 + … + bd-2 + bd-1 + bdNumber of nodes generated in an iterative deepeningNumber of nodes generated in an iterative deepening search to depth d with branching factor b:
NIDS = (d+1)b0 + d b^1 + (d-1)b^2 + … + 3bd-2 +2bd-1 + 1bd
For b = 10, d = 5,NDLS = 1 + 10 + 100 + 1,000 + 10,000 + 100,000 = 111,111NIDS = 6 + 50 + 400 + 3,000 + 20,000 + 100,000 = 123,456
14 Jan 2004 CS 3243 - Blind Search 43
Overhead = (123,456 - 111,111)/111,111 = 11%
Properties of iterative deepening search
Complete? YesTime? (d+1)b0 + d b1 + (d-1)b2 + … + bd
(bd)= O(bd)Space? O(bd)Optimal? Yes, if step cost = 1
14 Jan 2004 CS 3243 - Blind Search 44
10/11/2010
23
Summary of algorithms
14 Jan 2004 CS 3243 - Blind Search 45
Repeated statesFailure to detect repeated states can turn a linear problem into an exponential one!
14 Jan 2004 CS 3243 - Blind Search 46
10/11/2010
24
Graph search
14 Jan 2004 CS 3243 - Blind Search 47
Problem typesDeterministic, fully observable single-state problem
Agent knows exactly which state it will be in; solution is a sequenceis a sequence
Non-observable sensorless problem (conformant problem)
Agent may have no idea where it is; solution is a sequence
Nondeterministic and/or partially observablecontingency problem
14 Jan 2004 CS 3243 - Blind Search 48
contingency problempercepts provide new information about current stateoften interleave} search, execution
Unknown state space exploration problem
10/11/2010
25
Example: vacuum worldSingle-state, start in #5. Solution?
14 Jan 2004 CS 3243 - Blind Search 49
Example: vacuum worldSingle-state, start in #5. Solution? [Right, Suck]
Sensorless, start inSensorless, start in {1,2,3,4,5,6,7,8} e.g., Right goes to {2,4,6,8} Solution?
14 Jan 2004 CS 3243 - Blind Search 50
10/11/2010
26
Example: vacuum worldSensorless, start in
{1,2,3,4,5,6,7,8} e.g., Right goes to {2,4,6,8} Solution?[Right,Suck,Left,Suck]
ContingencyNondeterministic: Suck may dirty a clean carpetPartially observable: location, dirt at current location.
14 Jan 2004 CS 3243 - Blind Search 51
Percept: [L, Clean], i.e., start in #5 or #7Solution?
Example: vacuum worldSensorless, start in
{1,2,3,4,5,6,7,8} e.g., Right goes to {2,4,6,8} Solution?[ h k f k][Right,Suck,Left,Suck]
ContingencyNondeterministic: Suckmay dirty a clean carpetPartially observable: location, dirt at current
14 Jan 2004 CS 3243 - Blind Search 52
,location.Percept: [L, Clean], i.e., start in #5 or #7Solution? [Right, if dirt then Suck]
10/11/2010
27
SummaryProblem formulation usually requires abstracting away real-world details to define a state space that can feasibly be explored
Variety of uninformed search strategies
Iterative deepening search uses only linear space and not much more time than other uninformed algorithms
14 Jan 2004 CS 3243 - Blind Search 53
AssignmentsFirst group (8 to 10:30)
3-6
Second group (10:30 to 13)
3-133 63-7 ( only a and c)3-83-11 ( except d)3-173-18
3 133-7 ( only b and d)3-83-11 ( except d)3-173-18
14 Jan 2004 CS 3243 - Blind Search 54
3-19 ( only a,b and e) 3-19 ( only a,b and e)
Recommended