290 likes | 555 Views
Blind Search. Russell and Norvig: Chapter 3, Sections 3.4 – 3.6 Slides adapted from: robotics.stanford.edu/~latombe/cs121/2003/home.htm by Prof. Jean-Claude Latombe . Blind Search . Depth first search Breadth first search Iterative deepening
E N D
Blind Search Russell and Norvig: Chapter 3, Sections 3.4 – 3.6 Slides adapted from: robotics.stanford.edu/~latombe/cs121/2003/home.htm by Prof. Jean-Claude Latombe
Blind Search • Depth first search • Breadth first search • Iterative deepening • No matter where the goal is, these algorithms will do the same thing.
1 Depth-First fringe
1 2 Depth-First fringe
1 2 3 Depth-First fringe
1 Breadth First fringe
1 2 Breadth First fringe
1 2 3 Breadth First fringe
1 2 3 4 Breadth First fringe
Generic Search Algorithm Path search(start, operators, is_goal) { fringe = makeList(start); while (state=fringe.popFirst()) { if (is_goal(state)) return pathTo(state); S = successors(state, operators); fringe = insert(S, fringe); } return NULL; } Depth-first: insert=prepend; Breadth-first: insert=append
Performance Measures of Search Algorithms • CompletenessIs the algorithm guaranteed to find a solution when there is one? • OptimalityIs this solution optimal? • Time complexityHow long does it take? • Space complexityHow much memory does it require?
Important Parameters • Maximum number of successors of any state branching factor b of the search tree • Minimal length of a path in the state space between the initial and a goal state depth d of the shallowest goal node in the search tree
Evaluation of Breadth-first Search • b: branching factor • d: depth of shallowest goal node • Complete • Optimal if step cost is 1 • Number of nodes generated:1 + b + b2 + … + bd = (bd+1-1)/(b-1) = O(bd) • Time and space complexity is O(bd)
Big O Notation g(n) is in O(f(n)) if there exist two positive constants a and N such that: for all n > N, g(n) af(n)
Time and Memory Requirements Assumptions: b = 10; 1,000,000 nodes/sec; 100bytes/node
Evaluation of Depth-first Search • b: branching factor • d: depth of shallowest goal node • m: maximal depth of a leaf node • Complete only for finite search tree • Not optimal • Number of nodes generated:1 + b + b2 + … + bm = O(bm) • Time complexity is O(bm) • Space complexity is O(bm) or O(m)
Depth-Limited Strategy • Depth-first with depth cutoffk (maximal depth below which nodes are not expanded) • Three possible outcomes: • Solution • Failure (no solution) • Cutoff (no solution within cutoff)
Iterative Deepening Strategy Repeat for k = 0, 1, 2, …: Perform depth-first with depth cutoff k • Complete • Optimal if step cost =1 • Space complexity is: O(bd) or O(d) • Time complexity is:(d+1)(1) + db + (d-1)b2 + … + (1) bd = O(bd) • Same as BFS! WHY???
Calculation db + (d-1)b2 + … + (1) bd = bd +2bd-1 +3bd-2 +… +db = bd(1 + 2b-1 + 3b-2 + … + db-d) bd(Si=1,…,ib(1-i)) = bd (b/(b-1))2
Comparison of Strategies • Breadth-first is complete and optimal, but has high space complexity • Bad when branching factor is high • Depth-first is space efficient, but neither complete nor optimal • Bad when search depth is infinite • Iterative deepening is asymptotically optimal
S A 0 1 10 S B G 5 5 A B C 1 5 15 5 15 C G G 10 11 Uniform-Cost Strategy • Each step has some cost > 0. • The cost of the path to each fringe node N is • g(N) = costs of all steps. • The goal is to generate a solution path of minimal cost. • The queue FRINGE is sorted in increasing cost.
No Few Many search tree is infinite search tree is finite 1 2 3 4 5 assembly planning 7 8 6 8-queens 8-puzzle and robot navigation Repeated States
Avoiding Repeated States • Requires comparing state descriptions • Breadth-first strategy: • Keep track of all generated states • If the state of a new node already exists, then discard the node
Avoiding Repeated States • Depth-first strategy: • Solution 1: • Keep track of all states associated with nodes in current path • If the state of a new node already exists, then discard the node Avoids loops • Solution 2: • Keep track of all states generated so far • If the state of a new node has already been generated, then discard the node Space complexity of breadth-first
Summary • Search strategies: breadth-first, depth-first, and variants • Evaluation of strategies: completeness, optimality, time and space complexity • Avoiding repeated states