Heuristic Search The search techniques we have seen so far...

Slides:



Advertisements
Similar presentations
Informed search algorithms
Advertisements

Heuristic Search Russell and Norvig: Chapter 4 Slides adapted from:
Chapter 4: Informed Heuristic Search
Informed Search CS 171/271 (Chapter 4)
Informed search algorithms
Heuristic Searches. Feedback: Tutorial 1 Describing a state. Entire state space vs. incremental development. Elimination of children. Closed and the solution.
Review: Search problem formulation
Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.
Informed Search Algorithms
Notes Dijstra’s Algorithm Corrected syllabus.
Heuristic Search Ref: Chapter 4.
Informed search strategies
Informed search algorithms
An Introduction to Artificial Intelligence
The A* Algorithm Héctor Muñoz-Avila. The Search Problem Starting from a node n find the shortest path to a goal node g ?
Problem Solving: Informed Search Algorithms Edmondo Trentin, DIISM.
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.
Heuristics Some further elaborations of the art of heuristics and examples.
Informed Search Methods Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 4 Spring 2004.
Informed Search Methods How can we improve searching strategy by using intelligence? Map example: Heuristic: Expand those nodes closest in “as the crow.
Solving Problem by Searching
1 Heuristic Search Chapter 4. 2 Outline Heuristic function Greedy Best-first search Admissible heuristic and A* Properties of A* Algorithm IDA*
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.
Review: Search problem formulation
Informed Search Strategies Tutorial. Heuristics for 8-puzzle These heuristics were obtained by relaxing constraints … (Explain !!!) h1: The number of.
Informed Search Methods How can we make use of other knowledge about the problem to improve searching strategy? Map example: Heuristic: Expand those nodes.
Problem Solving and Search in AI Heuristic Search
CSC344: AI for Games Lecture 4: Informed search
Vilalta&Eick: Informed Search Informed Search and Exploration Search Strategies Heuristic Functions Local Search Algorithms Vilalta&Eick: Informed Search.
Informed search algorithms Chapter 4. Outline Best-first search Greedy best-first search A * search Heuristics.
Some material adopted from notes by Charles R. Dyer, University of Wisconsin-Madison Informed Search Chapter 4 (a)
Informed search algorithms Chapter 4. Best-first search Idea: use an evaluation function f(n) for each node –estimate of "desirability"  Expand most.
Informed search strategies Idea: give the algorithm “hints” about the desirability of different states – Use an evaluation function to rank nodes and select.
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..
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.
Best-first search Idea: use an evaluation function f(n) for each node –estimate of "desirability"  Expand most desirable unexpanded node Implementation:
Informed Search II CIS 391 Fall CIS Intro to AI 2 Outline PART I  Informed = use problem-specific knowledge  Best-first search and its variants.
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.
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.
Search to Solve Word Ladders Before we consider Heuristic Search, let us review a little first We will begin by considering a new problem space, for Word.
For Monday Read chapter 4 exercise 1 No homework.
Romania. Romania Problem Initial state: Arad Goal state: Bucharest Operators: From any node, you can visit any connected node. Operator cost, the.
Chapter 3 Solving problems by searching. Search We will consider the problem of designing goal-based agents in observable, deterministic, discrete, known.
Chapter 3.5 Heuristic Search. Learning Objectives Heuristic search strategies –Best-first search –A* algorithm Heuristic functions.
Next time, Adversarial Search
Review: Tree search Initialize the frontier using the starting state
Last time: Problem-Solving
Heuristic Functions.
For Monday Chapter 6 Homework: Chapter 3, exercise 7.
Informed Search Chapter 4 (a)
Artificial Intelligence Problem solving by searching CSC 361
Informed Search Chapter 4 (a)
HW #1 Due 29/9/2008 Write Java Applet to solve Goats and Cabbage “Missionaries and cannibals” problem with the following search algorithms: Breadth first.
Discussion on Greedy Search and A*
Discussion on Greedy Search and A*
CS 4100 Artificial Intelligence
EA C461 – Artificial Intelligence
Artificial Intelligence
Informed search algorithms
Artificial Intelligence
Informed Search Chapter 4 (a)
Artificial Intelligence
Midterm Review.
Reading: Chapter 4.5 HW#2 out today, due Oct 5th
Informed Search.
Presentation transcript:

Heuristic Search The search techniques we have seen so far... Breadth first search Uniform cost search Depth first search Depth limited search Iterative Deepening Bi-directional Search ...are all too slow for most real world problems uninformed search blind search

Sometimes we can tell that some states appear better that others... 7 8 4 3 5 1 6 2 1 2 3 4 5 6 7 8 FWD C FW C D

Heuristic Search (informed search) ...we can use this knowledge of the relative merit of states to guide search Heuristic Search (informed search) 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 to the goal. In other words, the heuristic tells us approximately how far the state is from the goal state*. Note we said “approximately”. Heuristics might underestimate or overestimate the merit of a state. But for reasons which we will see, heuristics that only underestimate are very desirable, and are called admissible. *I.e Smaller numbers are better

Heuristics for 8-puzzle I 1 2 3 4 5 6 7 8 Current State 1 2 3 4 5 6 7 8 The number of misplaced tiles (not including the blank) 1 2 3 4 5 6 7 8 Goal State N Y In this case, only “8” is misplaced, so the heuristic function evaluates to 1. In other words, the heuristic is telling us, that it thinks a solution might be available in just 1 more move. Notation: h(n) h(current state) = 1

Heuristics for 8-puzzle II 3 2 8 4 5 6 7 1 3 3 Current State 2 spaces The Manhattan Distance (not including the blank) 8 1 2 3 4 5 6 7 8 Goal State 3 spaces 8 1 In this case, only the “3”, “8” and “1” tiles are misplaced, by 2, 3, and 3 squares respectively, so the heuristic function evaluates to 8. In other words, the heuristic is telling us, that it thinks a solution is available in just 8 more moves. 3 spaces 1 Total 8 Notation: h(n) h(current state) = 8

h(n) 5 6 4 3 2 1 We can use heuristics to guide “hill climbing” search. In this example, the Manhattan Distance heuristic helps us quickly find a solution to the 8-puzzle. But “hill climbing has a problem...”

h(n) 1 2 3 4 5 8 6 7 In this example, hill climbing does not work! All the nodes on the fringe are taking a step “backwards” (local minima) Note that this puzzle is solvable in just 12 more steps.

We have seen two interesting algorithms. Uniform Cost Measures the cost to each node. Is optimal and complete! Can be very slow. Hill Climbing Estimates how far away the goal is. Is neither optimal nor complete. Can be very fast. Can we combine them to create an optimal and complete algorithm that is also very fast?

Uniform Cost Search Enqueue nodes in order of cost 5 2 5 2 5 2 1 7 1 7 4 5 Intuition: Expand the cheapest node. Where the cost is the path cost g(n) Hill Climbing Search Enqueue nodes in order of estimated distance to goal 17 19 13 15 19 17 16 14 19 17 16 14 Intuition: Expand the node you think is nearest to goal. Where the estimate of distance to goal is h(n)

The A* Algorithm (“A-Star”) Enqueue nodes in order of estimate cost to goal, f(n) g(n) is the cost to get to a node. h(n) is the estimated distance to the goal. f(n) = g(n) + h(n) We can think of f(n) as the estimated cost of the cheapest solution that goes through node n Note that we can use the general search algorithm we used before. All that we have changed is the queuing strategy. If the heuristic is optimistic, that is to say, it never overestimates the distance to the goal, then… A* is optimal and complete!

Informal proof outline of A* completeness Assume that every operator has some minimum positive cost, epsilon . Assume that a goal state exists, therefore some finite set of operators lead to it. Expanding nodes produces paths whose actual costs increase by at least epsilon each time. Since the algorithm will not terminate until it finds a goal state, it must expand a goal state in finite time. Informal proof outline of A* optimality When A* terminates, it has found a goal state All remaining nodes have an estimate cost to goal (f(n)) greater than or equal to that of goal we have found. Since the heuristic function was optimistic, the actual cost to goal for these other paths can be no better than the cost of the one we have already found.

How fast is A*? A* is the fastest search algorithm. That is, for any given heuristic, no algorithm can expand fewer nodes than A*. How fast is it? Depends of the quality of the heuristic. If the heuristic is useless (ie h(n) is hardcoded to equal 0 ), the algorithm degenerates to uniform cost. If the heuristic is perfect, there is no real search, we just march down the tree to the goal. Generally we are somewhere in between the two situations above. The time taken depends on the quality of the heuristic.

What is A*’s space complexity? A* has worst case O(bd) space complexity, but an iterative deepening version is possible ( IDA* )

A Worked Example: Maze Traversal Problem: To get from square A3 to square E2, one step at a time, avoiding obstacles (black squares). Operators: (in order) go_left(n) go_down(n) go_right(n) each operator costs 1. Heuristic: Manhattan distance A B C D E 1 2 3 4 5

A3 A A2 A4 B3 B A2 B3 A4 C D E 1 2 3 4 5 Operators: (in order) g(A2) = 1 h(A2) = 4 g(B3) = 1 h(B3) = 4 g(A4) = 1 h(A4) = 6 B A2 B3 A4 C D E 1 2 3 4 5 Operators: (in order) go_left(n) go_down(n) go_right(n) each operator costs 1.

A3 A A1 A2 A4 B3 B A2 B3 A4 C D A1 E 1 2 3 4 5 Operators: (in order) g(A2) = 1 h(A2) = 4 g(B3) = 1 h(B3) = 4 g(A4) = 1 h(A4) = 6 B A2 B3 A4 C D g(A1) = 2 h(A1) = 5 A1 E 1 2 3 4 5 Operators: (in order) go_left(n) go_down(n) go_right(n) each operator costs 1.

A3 A A1 A2 A4 B3 B4 g(A2) = 1 h(A2) = 4 g(B3) = 1 h(B3) = 4 g(A4) = 1 h(A4) = 6 B A2 B3 A4 C C3 D g(A1) = 2 h(A1) = 5 A1 E g(C3) = 2 h(C3) = 3 g(B4) = 2 h(B4) = 5 C3 B4 1 2 3 4 5 Operators: (in order) go_left(n) go_down(n) go_right(n) each operator costs 1.

A3 A A1 A2 A4 B B1 B3 B4 A2 B3 A4 C C3 D A1 E C3 B4 1 2 3 4 5 B1 g(A2) = 1 h(A2) = 4 g(B3) = 1 h(B3) = 4 g(A4) = 1 h(A4) = 6 B B1 B3 B4 A2 B3 A4 C C3 D g(A1) = 2 h(A1) = 5 A1 E g(C3) = 2 h(C3) = 3 g(B4) = 2 h(B4) = 5 C3 B4 1 2 3 4 5 g(B1) = 3 h(B1) = 4 B1 Operators: (in order) go_left(n) go_down(n) go_right(n) each operator costs 1.

A3 A A1 A2 A4 B B1 B3 B4 B5 A2 B3 A4 C C3 D A1 E C3 B4 1 2 3 4 5 B1 g(A2) = 1 h(A2) = 4 g(B3) = 1 h(B3) = 4 g(A4) = 1 h(A4) = 6 B B1 B3 B4 B5 A2 B3 A4 C C3 D g(A1) = 2 h(A1) = 5 A1 E g(C3) = 2 h(C3) = 3 g(B4) = 2 h(B4) = 5 C3 B4 1 2 3 4 5 g(B1) = 3 h(B1) = 4 B1 Operators: (in order) go_left(n) go_down(n) go_right(n) each operator costs 1. g(B5) = 3 h(B5) = 6 B5