Slide 1 Heuristic Search: BestFS and A * Jim Little UBC CS 322 – Search 5 September 19, 2014 Textbook § 3.6.

Slides:



Advertisements
Similar presentations
CPSC 322, Lecture 7Slide 1 Heuristic Search Computer Science cpsc322, Lecture 7 (Textbook Chpt 3.5) January, 19, 2009.
Advertisements

Review: Search problem formulation
Announcements Course TA: Danny Kumar
Informed search strategies
Informed search algorithms
Heuristic Search Jim Little UBC CS 322 – Search 4 September 17, 2014 Textbook §
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.
Solving Problem by Searching
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.
CPSC 322, Lecture 5Slide 1 Uninformed Search Computer Science cpsc322, Lecture 5 (Textbook Chpt 3.4) January, 14, 2009.
Uninformed Search Jim Little UBC CS 322 – Search 2 September 12, 2014
CPSC 322, Lecture 10Slide 1 Finish Search Computer Science cpsc322, Lecture 10 (Textbook Chpt 3.6) January, 28, 2008.
Slide 1 Search: Advanced Topics Jim Little UBC CS 322 – Search 5 September 22, 2014 Textbook § 3.6.
State Space Search Algorithms CSE 472 Introduction to Artificial Intelligence Autumn 2003.
CPSC 322, Lecture 9Slide 1 Search: Advanced Topics Computer Science cpsc322, Lecture 9 (Textbook Chpt 3.6) January, 23, 2009.
CPSC 322 Introduction to Artificial Intelligence October 27, 2004.
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
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 580 Artificial Intelligence Ch.3 [P]: Searching Fall 2009 Marco Valtorta.
Problem Solving and Search in AI Heuristic Search
CPSC 322, Lecture 8Slide 1 Heuristic Search: BestFS and A * Computer Science cpsc322, Lecture 8 (Textbook Chpt 3.5) January, 21, 2009.
Uninformed Search (cont.)
Solving problems by searching
Informed Search Idea: be smart about what paths to try.
CMU Snake Robot
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.
CPSC 322, Lecture 8Slide 1 Heuristic Search: BestFS and A * Computer Science cpsc322, Lecture 8 (Textbook Chpt 3.6) Sept, 23, 2013.
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.
Informed search algorithms
Computer Science CPSC 322 Lecture 9 (Ch , 3.7.6) Slide 1.
Quiz 1 : Queue based search  q1a1: Any complete search algorithm must have exponential (or worse) time complexity.  q1a2: DFS requires more space than.
Informed search strategies Idea: give the algorithm “hints” about the desirability of different states – Use an evaluation function to rank nodes and select.
Informed searching. Informed search Blind search algorithms do not consider any information about the states and the goals Often there is extra knowledge.
Informed Search Methods. Informed Search  Uninformed searches  easy  but very inefficient in most cases of huge search tree  Informed searches  uses.
Informed Search Strategies Lecture # 8 & 9. Outline 2 Best-first search Greedy best-first search A * search Heuristics.
For Friday Finish reading chapter 4 Homework: –Lisp handout 4.
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.
1 Solving problems by searching 171, Class 2 Chapter 3.
Heuristic Search: A* 1 CPSC 322 – Search 4 January 19, 2011 Textbook §3.6 Taught by: Vasanth.
Advanced Artificial Intelligence Lecture 2: Search.
Computer Science CPSC 322 Lecture 6 Iterative Deepening and Search with Costs (Ch: 3.7.3, 3.5.3)
Best-first search Idea: use an evaluation function f(n) for each node –estimate of "desirability"  Expand most desirable unexpanded node Implementation:
CPSC 322, Lecture 8Slide 1 Heuristic Search: BestFS and A * Computer Science cpsc322, Lecture 8 (Textbook Chpt 3.6) Sept, 21, 2010.
Heuristic Functions. A Heuristic is a function that, when applied to a state, returns a number that is an estimate of the merit of the state, with respect.
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.
Chapter 3.5 and 3.6 Heuristic Search Continued. Review:Learning Objectives Heuristic search strategies –Best-first search –A* algorithm Heuristic functions.
CPSC 322, Lecture 5Slide 1 Uninformed Search Computer Science cpsc322, Lecture 5 (Textbook Chpt 3.5) Sept, 13, 2013.
G5AIAI Introduction to AI Graham Kendall Heuristic Searches.
Artificial Intelligence Lecture No. 8 Dr. Asad Ali Safi ​ Assistant Professor, Department of Computer Science, COMSATS Institute of Information Technology.
CPSC 420 – Artificial Intelligence Texas A & M University Lecture 5 Lecturer: Laurie webster II, M.S.S.E., M.S.E.e., M.S.BME, Ph.D., P.E.
For Monday Read chapter 4 exercise 1 No homework.
CPSC 322, Lecture 7Slide 1 Heuristic Search Computer Science cpsc322, Lecture 7 (Textbook Chpt 3.6) Sept, 20, 2013.
Computer Science CPSC 322 Lecture 6 Analysis of A*, Search Refinements (Ch ) Slide 1.
Chapter 3 Solving problems by searching. Search We will consider the problem of designing goal-based agents in observable, deterministic, discrete, known.
Computer Science CPSC 322 Lecture 5 Heuristic Search and A* (Ch: 3.6, 3.6.1) Slide 1.
Computer Science cpsc322, Lecture 7
Review: Tree search Initialize the frontier using the starting state
Uniformed Search (cont.) Computer Science cpsc322, Lecture 6
Heuristic Search: BestFS and A* Computer Science cpsc322, Lecture 8
Heuristic Functions.
Uniformed Search (cont.) Computer Science cpsc322, Lecture 6
Informed search algorithms
Informed search algorithms
Iterative Deepening CPSC 322 – Search 6 Textbook § 3.7.3
Presentation transcript:

Slide 1 Heuristic Search: BestFS and A * Jim Little UBC CS 322 – Search 5 September 19, 2014 Textbook § 3.6

Slide 2 Course Announcements Marks for Assignment0: soon to be posted If you are confused on basic search algorithm, different search strategies….. Check learning goals at the end of lectures. Work on the Practice Problems and Please come to office hours Assignment1: to be posted RSN

Slide 3 Lecture Overview Recap / Finish Heuristic Function Best First Search A*

Slide 4 How to Combine Heuristics

Slide 5 Example Heuristic Functions Another one we can use the number of moves between each tile's current position and its position in the solution Which is better? Number of misplaced tiles vs. total Manhattan distance?

Slide 6 Another approach to construct heuristics Solution cost for a subproblem Current node Goal node Original Problem SubProblem

Slide 7 Combining Heuristics: Example In 8-puzzle, solution cost for the 1,2,3,4 subproblem is substantially more accurate than sum of Manhattan distance of each tile from its goal position in some cases So…..

Slide 8 Admissible heuristic for Vacuum world? states? Where it is dirty and robot location actions? Left, Right, Suck Possible goal test? no dirt at all locations

Slide 9 Lecture Overview Recap Heuristic Function Best First Search A*

Slide 10 Best-First Search Idea: select the path whose end is closest to a goal according to the heuristic function. Best-First search selects a path on the frontier with minimal h-value (for the end node). It treats the frontier as a priority queue ordered by h. (similar to ?) This is a greedy approach: it always takes the path which appears locally best

Slide 11 Analysis of Best-First Search Not Complete : a low heuristic value can mean that a cycle gets followed forever. Optimal: no (why not?) Time complexity is O(b m ) Space complexity is O(b m )

Slide 12 Lecture Overview Recap Heuristic Function Best First Search A* Search Strategy

Slide 13 How can we effectively use h(n)

Slide 14 A * is a mix of: lowest-cost-first and best-first search A * treats the frontier as a priority queue ordered by f(p)= cost(p) + h(p) It always selects the node on the frontier with lowest estimated total distance. A * Search Algorithm

Computing f-values,i.e., f(p) Slide 15 Node is Name h(n)

Slide 16 Analysis of A*

Slide 17 Analysis of A * See how it works on the “misleading heuristic” problem in AIspace: Compare A* with best-first. Let's assume that arc costs are strictly positive. Time complexity is O(b m ) the heuristic could be completely uninformative and the edge costs could all be the same, meaning that A * does the same thing as BFS. Space complexity is O(b m ) Like BFS, A * maintains a frontier which grows with the size of the tree Completeness: yes. Optimality: ??

Slide 18 Optimality of A * If A * returns a solution, that solution is guaranteed to be optimal, as long the branching factor is finite arc costs are strictly positive h(n) is an underestimate of the length of the shortest path from n to a goal node, and is non-negative Theorem If A * selects a path p as the solution, p is the shortest (i.e., lowest-cost) path.

Slide 19 Why is A * optimal? A* returns p Assume for contradiction that some other path p' is actually the shortest path to a goal Consider the moment when p is chosen from the frontier. Some part of path p' will also be on the frontier; let's call this partial path p''. p p' p''

Slide 20 Why is A * optimal? (cont’) p p' p'' This contradicts our assumption that p' is the shortest path. (1) cost(p’) from (1) and (2) f(p)<=f(p’’)

Slide 21 Optimal efficiency of A * In fact, we can prove something even stronger about A * : in a sense (given the particular heuristic that is available) no search algorithm could do better! Optimal Efficiency: Among all optimal algorithms that start from the same start node and use the same heuristic h, A * expands the minimal number of paths. This is because any algorithm that does not expand every node with f(n) < f* risks missing the optimal solution.

Effect of Search Heuristic A search heuristic that is a better approximation to the actual cost reduces the number of nodes expanded by A* Example: 8-puzzle tiles can move (jump) anywhere: h 1 (n) : number of tiles that are out of place tiles can move to any adjacent square h 2 (n) : sum of number of squares that separate each tile from its correct position average #of paths expanded: (d = depth of the solution) d=12 BFS: 3,644,035 paths A * (h 1 ) : 227 paths expanded A * (h 2 ) : 73 paths expanded d=24 BFS = too many paths A * (h 1 ) : 39,135 paths expanded A * (h 2 ) : 1,641 paths expanded

Sample A* applications An Efficient A* Search Algorithm For Statistical Machine Translation The Generalized A* Architecture. Journal of Artificial Intelligence Research (2007) Machine Vision … Here we consider a new compositional model for finding salient curves. Factored A*search for models over sequences and trees International Conference on AI. 2003…. It starts saying… The primary challenge when using A* search is to find heuristic functions that simultaneously are admissible, close to actual completion costs, and efficient to calculate… applied to NLP and BioInformatics Slide 23

Sample A* applications (cont’) Aker, A., Cohn, T., Gaizauskas, R.: Multi-document summarization using A* search and discriminative training. Proceedings of the 2010 Conference on Empirical Methods in Natural Language Processing.. ACL (2010) Slide 24

Slide 25 The AI-Search animation system To examine Search strategies when they are applied to the 8puzzle Compare only DFS, BFS and A* (with only the two heuristics we saw in class ) DFS, BFS, A * Animation Example With default start state and goal DFS will find Solution at depth 32 BFS will find Optimal solution depth 6 A* will also find opt. sol. expanding much fewer nodes

Slide 26 nPuzzles are not always solvable Half of the starting positions for the n-puzzle are impossible to resolve (for more info on 8puzzle) So experiment with the AI-Search animation system with the default configurations. If you want to try new ones keep in mind that you may pick unsolvable problems

Slide 27 Learning Goals for today’s class Define/read/write/trace/debug & Compare different search algorithms With / Without cost Informed / Uninformed Formally prove A* optimality.

Slide 28 Next class Finish Search (finish Chapter 3) Branch-and-Bound A* enhancements Non-heuristic Pruning Dynamic Programming