Uninformed Search (cont.)

Slides:



Advertisements
Similar presentations
Review: Search problem formulation
Advertisements

Uninformed search strategies
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal.
CPSC 322, Lecture 5Slide 1 Uninformed Search Computer Science cpsc322, Lecture 5 (Textbook Chpt 3.5) Sept, 14, 2012.
Greedy best-first search Use the heuristic function to rank the nodes Search strategy –Expand node with lowest h-value Greedily trying to find the least-cost.
Problem Solving by Searching Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 3 Spring 2007.
CSCI 5582 Fall 2006 CSCI 5582 Artificial Intelligence Lecture 4 Jim Martin.
ICS-171:Notes 4: 1 Notes 4: Optimal Search ICS 171 Summer 1999.
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.
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,
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
Artificial Intelligence Lecture No. 7 Dr. Asad Safi ​ Assistant Professor, Department of Computer Science, COMSATS Institute of Information Technology.
Slide 1 Finish Search Jim Little UBC CS 322 – Search 7 September 24, 2014 Textbook §3.6.
Search: Representation and General Search Procedure Jim Little UBC CS 322 – Search 1 September 10, 2014 Textbook § 3.0 –
Slide 1 Heuristic Search: BestFS and A * Jim Little UBC CS 322 – Search 5 September 19, 2014 Textbook § 3.6.
Slide 1 Search: Advanced Topics Jim Little UBC CS 322 – Search 5 September 22, 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 4Slide 1 Search: Intro Computer Science cpsc322, Lecture 4 (Textbook Chpt ) January, 12, 2009.
CPSC 322, Lecture 10Slide 1 Finish Search Computer Science cpsc322, Lecture 10 (Textbook Chpt 3.6) January, 25, 2010.
CPSC 322, Lecture 9Slide 1 Search: Advanced Topics Computer Science cpsc322, Lecture 9 (Textbook Chpt 3.6) January, 22, 2010.
Review: Search problem formulation
UnInformed Search What to do when you don’t know anything.
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 580 Artificial Intelligence Ch.3 [P]: Searching Fall 2009 Marco Valtorta.
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.
Solving problems by searching
Multiple Path Pruning, Iterative Deepening CPSC 322 – Search 7 Textbook § January 26, 2011.
Review: Search problem formulation Initial state Actions Transition model Goal state (or goal test) Path cost What is the optimal solution? What is the.
Problem Solving and Search Andrea Danyluk September 11, 2013.
Uninformed Search Strategies CPSC 322 – Search 2 January 14, 2011 Textbook §3.5 1.
Computer Science CPSC 322 Lecture Heuristic Search (Ch: 3.6, 3.6.1) Slide 1.
Computer Science CPSC 322 Lecture A* and Search Refinements (Ch 3.6.1, 3.7.1, 3.7.2) Slide 1.
Introduction to search Chapter 3. Why study search? §Search is a basis for all AI l search proposed as the basis of intelligence l inference l all learning.
Introduction to search Chapter 3. Why study search? §Search is a basis for all AI l search proposed as the basis of intelligence l all learning algorithms,
Today’s Topics FREE Code that will Write Your PhD Thesis, a Best-Selling Novel, or Your Next Methods for Intelligently/Efficiently Searching a Space.
Computer Science CPSC 322 Lecture 9 (Ch , 3.7.6) Slide 1.
Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana Lazebnik,
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.
Search CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
Computer Science CPSC 322 Lecture 6 Iterative Deepening and Search with Costs (Ch: 3.7.3, 3.5.3)
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 8Slide 1 Heuristic Search: BestFS and A * Computer Science cpsc322, Lecture 8 (Textbook Chpt 3.6) Sept, 21, 2010.
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.
Fahiem Bacchus © 2005 University of Toronto 1 CSC384: Intro to Artificial Intelligence Search II ● Announcements.
CPSC 322, Lecture 5Slide 1 Uninformed Search Computer Science cpsc322, Lecture 5 (Textbook Chpt 3.5) Sept, 13, 2013.
Solving problems by searching Uninformed search algorithms Discussion Class CS 171 Friday, October, 2nd (Please read lecture topic material before and.
CPSC 322, Lecture 10Slide 1 Finish Search Computer Science cpsc322, Lecture 10 (Textbook Chpt 3.6) Sep, 26, 2010.
Brian Williams, Fall 041 Analysis of Uninformed Search Methods Brian C. Williams Sep 21 st, 2004 Slides adapted from: Tomas Lozano Perez,
CPSC 322, Lecture 7Slide 1 Heuristic Search Computer Science cpsc322, Lecture 7 (Textbook Chpt 3.6) Sept, 20, 2013.
Artificial Intelligence Solving problems by searching.
Uniformed Search (cont.) Computer Science cpsc322, Lecture 6
Search: Advanced Topics Computer Science cpsc322, Lecture 9
Uniformed Search (cont.) Computer Science cpsc322, Lecture 6
Computer Science cpsc322, Lecture 2
Searching for Solutions
Search: Advanced Topics Computer Science cpsc322, Lecture 9
Iterative Deepening CPSC 322 – Search 6 Textbook § 3.7.3
Iterative Deepening and Branch & Bound
Presentation transcript:

Uninformed Search (cont.) Jim Little UBC CS 322 – Search 3 September 15, 2014 Textbook §3.0 – 3.4

Lecture Overview Recap DFS vs BFS Uninformed Iterative Deepening (IDS) Search with Costs

Search Strategies Show AI space: Depth-first search isn't guaranteed to halt on graphs with cycles. Space complexity is linear

Recap: Graph Search Algorithm Input: a graph, a start node, Boolean procedure goal(n) that tests if n is a goal node frontier:= [<s>: s is a start node]; While frontier is not empty: select and remove path <no,….,nk> from frontier; If goal(nk) return <no,….,nk>; For every neighbor n of nk add <no,….,nk, n> to frontier; end In what aspects do DFS and BFS differ when we look at the generic graph search algorithm?

When to use BFS vs. DFS? BFS DFS BFS DFS BFS DFS BFS DFS BFS DFS The search graph has cycles or is infinite We need the shortest path to a solution There are only solutions at great depth There are some solutions at shallow depth Memory is limited BFS DFS BFS DFS BFS DFS BFS DFS BFS DFS

Lecture Overview Recap DFS vs BFS Uninformed Iterative Deepening (IDS) Search with Costs

Recap: Comparison of DFS and BFS How can we achieve an acceptable (linear) space complexity maintaining completeness and optimality? Complete Optimal Time Space DFS BFS IDS N N O(bm) O(bm) No cycles,Y O(bm) Y Y O(bm) O(bm) Y O(bm) Y Key Idea: let’s re-compute elements of the frontier rather than saving them.

Iterative Deepening in Essence Look with DFS for solutions at depth 1, then 2, then 3, etc. If a solution cannot be found at depth D, look for a solution at depth D + 1. You need a depth-bounded depth-first searcher. Given a bound B you simply assume that paths of length B cannot be expanded…. Why not 0 2 4? So far all search strategies that are guaranteed to halt use exponential space. Increase the depth-bound when the search fails unnaturally (depth-bound was reached).

depth = 1 depth = 2 depth = 3 . . . For b= 10, k = 5. BSF 111,111 and ID = 123,456 (only 11% more nodes) The larges b the better, but even with b = 2 the search ID will take only ~4 times as much as BFS Problem. When the branching factor is 1 at depth K, iterative deepening will Have searched k + (k-1) + (k-2) +….1 =k(k+1)/2 Iterative deepening is good when there is a large search space and the depth of the solution is not known.

(Time) Complexity of Iterative Deepening Complexity of solution at depth m with branching factor b Total # of paths at that level #times created by BFS (or DFS) #times created by IDS If IDS returns a solution of length k why there cannot be a solution of length k-2?

(Time) Complexity of Iterative Deepening Complexity of solution at depth m with branching factor b Total # of paths generated bm + 2 bm-1 + 3 bm-2 + ..+ mb = bm (1+ 2 b-1 + 3 b-2 + ..+m b1-m )≤ How many times you create the nodes at that level For b= 10 and d = 5. BSF 111,111 and ID = 123,456 (only 11% more nodes) Iterative deepening is good when there is a large search space and the depth of the solution is not known.

Lecture Overview Recap DFS vs BFS Uninformed Iterative Deepening (IDS) Search with Costs

Example: Romania

Search with Costs Sometimes there are costs associated with arcs. Definition (cost of a path) The cost of a path is the sum of the costs of its arcs: Definition (optimal algorithm) A search algorithm is optimal if, when it returns a solution, it is the one with minimal cost. In this setting we often don't just want to find just any solution we usually want to find the solution that minimizes cost Cost can be negative!

Lowest-Cost-First Search At each stage, lowest-cost-first search selects a path on the frontier with lowest cost. The frontier is a priority queue ordered by path cost We say ``a path'' because there may be ties Example of one step for LCFS: the frontier is [p2, 5, p3, 7 , p1, 11, ] p2 is the lowest-cost node in the frontier “neighbors” of p2 are {p9, 10, p10, 15} What happens? p2 is selected, and tested for being a goal. Neighbors of p2 are inserted into the frontier Thus, the frontier is now [p3, 7 , p9, 10, p1, 11,  p10, 15]. ? ? is selected next. Etc. etc. Example with vancouver neighborhoods (simplified) Show that

Analysis of Lowest-Cost Search (1) Is LCFS complete? not in general: a cycle with zero or negative arc costs could be followed forever. yes, as long as arc costs are strictly positive Is LCFS optimal? Not in general. Why not? Arc costs could be negative: a path that initially looks high-cost could end up getting a ``refund''. However, LCFS is optimal if arc costs are guaranteed to be non-negative.

Analysis of Lowest-Cost Search What is the time complexity, if the maximum path length is m and the maximum branching factor is b? The time complexity is O(bm): must examine every node in the tree. Knowing costs doesn't help here. What is the space complexity? Space complexity is O(bm): we must store the whole frontier in memory. The goal can be at the end of the longest path

Recap: Comparison of DFS and BFS How can we achieve an acceptable (linear) space complexity maintaining completeness and optimality? Complete Optimal Time Space DFS BFS IDS LCFS N N O(bm) O(bm) No cycles,Y O(bm) Y Y O(bm) O(bm) O(bm) Y Y N Y if C>0 N Y if C>=0 O(bm) O(bm)

Learning Goals for Search (cont’) (up to today) Select the most appropriate search algorithms for specific problems. BFS vs DFS vs IDS vs BidirS- LCFS vs. BFS – A* vs. B&B vs IDA* vs MBA* Define/read/write/trace/debug different search algorithms With / Without cost Informed / Uninformed

Beyond uninformed search…. Not looking inside state at the end of the path Asking: How close is this to the goal?

Next Class Start Heuristic Search (textbook.: start 3.6)