Slide 1 Search: Advanced Topics Jim Little UBC CS 322 – Search 5 September 22, 2014 Textbook § 3.6.

Slides:



Advertisements
Similar presentations
CPSC 322, Lecture 5Slide 1 Uninformed Search Computer Science cpsc322, Lecture 5 (Textbook Chpt 3.5) Sept, 14, 2012.
Advertisements

Lecture 3: Uninformed Search
Problem Solving Agents A problem solving agent is one which decides what actions and states to consider in completing a goal Examples: Finding the shortest.
1 Lecture 3 Uninformed Search. 2 Uninformed search strategies Uninformed: While searching you have no clue whether one non-goal state is better than any.
Solving Problems by Searching Currently at Chapter 3 in the book Will finish today/Monday, Chapter 4 next.
CS 480 Lec 3 Sept 11, 09 Goals: Chapter 3 (uninformed search) project # 1 and # 2 Chapter 4 (heuristic search)
CMSC 471 Spring 2014 Class #4 Thu 2/6/14 Uninformed Search Professor Marie desJardins,
Blind Search1 Solving problems by searching Chapter 3.
CPSC 322, Lecture 5Slide 1 Uninformed Search Computer Science cpsc322, Lecture 5 (Textbook Chpt 3.4) January, 14, 2009.
Search Strategies Reading: Russell’s Chapter 3 1.
1 Blind (Uninformed) Search (Where we systematically explore alternatives) R&N: Chap. 3, Sect. 3.3–5.
Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.
Artificial Intelligence (CS 461D)
Uninformed Search Jim Little UBC CS 322 – Search 2 September 12, 2014
Slide 1 Finish Search Jim Little UBC CS 322 – Search 7 September 24, 2014 Textbook §3.6.
Slide 1 Heuristic Search: BestFS and A * Jim Little UBC CS 322 – Search 5 September 19, 2014 Textbook § 3.6.
CPSC 322, Lecture 9Slide 1 Search: Advanced Topics Computer Science cpsc322, Lecture 9 (Textbook Chpt 3.6) January, 23, 2009.
CPSC 322, Lecture 9Slide 1 Search: Advanced Topics Computer Science cpsc322, Lecture 9 (Textbook Chpt 3.6) January, 22, 2010.
Review: Search problem formulation
Searching the search space graph
UnInformed Search What to do when you don’t know anything.
CPSC 322, Lecture 13Slide 1 CSPs: Arc Consistency & Domain Splitting Computer Science cpsc322, Lecture 13 (Textbook Chpt 4.5,4.8) February, 02, 2009.
Blind Search-Part 2 Ref: Chapter 2. Search Trees The search for a solution can be described by a tree - each node represents one state. The path from.
CPSC 322, Lecture 8Slide 1 Heuristic Search: BestFS and A * Computer Science cpsc322, Lecture 8 (Textbook Chpt 3.5) January, 21, 2009.
CS 188: Artificial Intelligence Spring 2006 Lecture 2: Queue-Based Search 8/31/2006 Dan Klein – UC Berkeley Many slides over the course adapted from either.
Uninformed Search (cont.)
Non-Conservative Cost Bound Increases in IDA* Doug Demyen.
1 Lecture 3 Uninformed Search
Lecture 3 Uninformed Search.
Multiple Path Pruning, Iterative Deepening CPSC 322 – Search 7 Textbook § January 26, 2011.
Problem Solving and Search Andrea Danyluk September 11, 2013.
Slide 1 CSPs: Arc Consistency & Domain Splitting Jim Little UBC CS 322 – Search 7 October 1, 2014 Textbook §
Computer Science CPSC 322 Lecture Heuristic Search (Ch: 3.6, 3.6.1) Slide 1.
Branch & Bound, CSP: Intro CPSC 322 – CSP 1 Textbook § & January 28, 2011.
Informed (Heuristic) Search
Computer Science CPSC 322 Lecture 9 (Ch , 3.7.6) Slide 1.
Informed searching. Informed search Blind search algorithms do not consider any information about the states and the goals Often there is extra knowledge.
For Monday Read chapter 4, section 1 No homework..
Search with Costs and Heuristic Search 1 CPSC 322 – Search 3 January 17, 2011 Textbook §3.5.3, Taught by: Mike Chiang.
Review: Tree search Initialize the frontier using the starting state While the frontier is not empty – Choose a frontier node to expand according to search.
Lecture 3: Uninformed Search
Heuristic Search: A* 1 CPSC 322 – Search 4 January 19, 2011 Textbook §3.6 Taught by: Vasanth.
Computer Science CPSC 322 Lecture 6 Iterative Deepening and Search with Costs (Ch: 3.7.3, 3.5.3)
1 Solving problems by searching Chapter 3. Depth First Search Expand deepest unexpanded node The root is examined first; then the left child of the root;
Uninformed search strategies A search strategy is defined by picking the order of node expansion Uninformed search strategies use only the information.
CPSC 322, Lecture 6Slide 1 Uniformed Search (cont.) Computer Science cpsc322, Lecture 6 (Textbook finish 3.5) Sept, 17, 2012.
A* optimality proof, cycle checking CPSC 322 – Search 5 Textbook § 3.6 and January 21, 2011 Taught by Mike Chiang.
CPSC 322, Lecture 5Slide 1 Uninformed Search Computer Science cpsc322, Lecture 5 (Textbook Chpt 3.5) Sept, 13, 2013.
Blind Search Russell and Norvig: Chapter 3, Sections 3.4 – 3.6 CS121 – Winter 2003.
CPSC 322, Lecture 10Slide 1 Finish Search Computer Science cpsc322, Lecture 10 (Textbook Chpt 3.6) Sep, 26, 2010.
For Monday Read chapter 4 exercise 1 No homework.
Computer Science CPSC 322 Lecture 6 Analysis of A*, Search Refinements (Ch ) Slide 1.
Lecture 3: Uninformed Search
Review: Tree search Initialize the frontier using the starting state
Uniformed Search (cont.) Computer Science cpsc322, Lecture 6
Search: Advanced Topics Computer Science cpsc322, Lecture 9
Branch & Bound, Summary of Advanced Topics
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Search: Advanced Topics Computer Science cpsc322, Lecture 9
Uniformed Search (cont.) Computer Science cpsc322, Lecture 6
CS 188: Artificial Intelligence Fall 2008
What to do when you don’t know anything know nothing
EA C461 – Artificial Intelligence
Searching for Solutions
Computer Science cpsc322, Lecture 10
Search: Advanced Topics Computer Science cpsc322, Lecture 9
Iterative Deepening CPSC 322 – Search 6 Textbook § 3.7.3
Iterative Deepening and Branch & Bound
UNINFORMED SEARCH -BFS -DFS -DFIS - Bidirectional
CMSC 471 Fall 2011 Class #4 Tue 9/13/11 Uninformed Search
Presentation transcript:

Slide 1 Search: Advanced Topics Jim Little UBC CS 322 – Search 5 September 22, 2014 Textbook § 3.6

Slide 2 Lecture Overview Recap A* Branch & Bound A * tricks Other Pruning

Slide 3 A* advantages

Slide 4 Branch-and-Bound Search Biggest advantages of A*…. What is the biggest problem with A*? Possible, preliminary Solution: Uses heuristics and is optimal Space DFS + heuristics

Slide 5 Branch-and-Bound Search Algorithm Follow exactly the same search path as depth-first search treat the frontier as a stack: expand the most-recently added path first the order in which neighbors are expanded can be governed by some arbitrary node-ordering heuristic

Slide 6 Once this strategy has found a solution….

Slide 7 Branch-and-Bound Search Algorithm Keep track of a lower bound and upper bound on solution cost at each path lower bound: LB(p) = f(p) = cost(p) + h(p) upper bound: UB = cost of the best solution found so far. if no solution has been found yet, set the upper bound to . When a path p is selected for expansion: if LB(p)  UB, remove p from frontier without expanding it (pruning) else expand p, adding all of its neighbors to the frontier

Branch-and-Bound Analysis Complete ? Optimal ? Space complexity? Time complexity? O(b+m) O(b m ) O(m b ) It depends yesno It depends yesno Slide 8

A* Slide 9 Branch-and-Bound Analysis Completeness: no, for the same reasons that DFS isn't complete however, for many problems of interest there are no infinite paths and no cycles hence, for many problems B&B is complete Time complexity: O(b m ) Space complexity:….. Branch & Bound has the same space complexity as this is a big improvement over ! Optimality: …….. A* DFS

Slide 10 Lecture Overview Recap A* Branch & Bound A * tricks Pruning Cycles and Repeated States

Slide 11 Other A * Enhancements The main problem with A * is that it uses exponential space. Branch and bound was one way around this problem. Are there others? Memory-bounded A * Iterative Deeping A* = IDA*

Slide 12 (Heuristic) Iterative Deepening – IDA* B & B can still get stuck in infinite (extremely long) paths Search depth-first, but to a fixed depth if you don't find a solution, increase the depth tolerance and try again depth is measured in Then update with the that passed the previous bound f lowest f at start node f(start) = h(start)

Analysis of Iterative Deepening A* (IDA*) Complete and optimal: Space complexity: Time complexity: O(b+m) O(b m ) O(m b ) It depends yesno O(b+m) O(b m ) O(m b ) Slide 13

Slide 14 (Heuristic) Iterative Deepening – IDA* Counter-intuitively, the asymptotic complexity is not changed, even though we visit paths multiple times (go back to slides on uninformed ID) Just a factor of b/(b-1)2

Slide 15 Memory-bounded A * Iterative deepening A* and B & B use a tiny amount of memory what if we've got more memory to use? keep as much of the fringe in memory as we can if we have to delete something: delete the worst paths ``back them up'' to a common ancestor p pnpn p1p1 with highest f

Slide 16 MBA*: Compute New h(p) p pnpn p1p1

Slide 17 Memory-bounded A * Iterative deepening A* and B & B use a tiny amount of memory what if we've got more memory to use? keep as much of the fringe in memory as we can if we have to delete something: delete the worst paths (with ) ``back them up'' to a common ancestor p pnpn p1p1 min max max min highest f

Slide 18 Lecture Overview Recap A* Branch & Bound A * tricks Pruning Cycles and Repeated States

Slide 19 Cycle Checking You can prune a path that ends in a node already on the path. This pruning cannot remove an optimal solution. The time is in path length. linear

Slide 20 Repeated States / Multiple Paths Failure to detect repeated states can turn a linear problem into an exponential one!

Slide 21 Multiple-Path Pruning You can prune a path to node n that you have already found a path to (if the new path is longer – more costly).

Slide 22 Multiple-Path Pruning & Optimal Solutions Problem: what if a subsequent path to n is shorter than the first path to n ? You can remove all paths from the frontier that use the longer path. (as these can’t be optimal)

Slide 23 Multiple-Path Pruning & Optimal Solutions Problem: what if a subsequent path to n is shorter than the first path to n ? You can change the initial segment of the paths on the frontier to use the shorter path.

Slide 24 Learning Goals for today’s class Define/read/write/trace/debug different search algorithms With / Without cost Informed / Uninformed Pruning cycles and Repeated States

Slide 25 Next class: Wed Dynamic Programming Recap Search Start Constraint Satisfaction Problems (CSP) Chapter 4. Start working on assignment 1 !