Finding Search Heuristics Henry Kautz. if State[node] is not in closed OR g[node] < g[LookUp(State[node],closed)] then A* Graph Search for Any Admissible.

Slides:



Advertisements
Similar presentations
Informed search algorithms
Advertisements

Chapter 4: Informed Heuristic Search
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
Informed Search Algorithms
Informed search algorithms
Artificial Intelligence Presentation
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 ?
A* Search. 2 Tree search algorithms Basic idea: Exploration of state space by generating successors of already-explored states (a.k.a.~expanding states).
Problem Solving: Informed Search Algorithms Edmondo Trentin, DIISM.
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.
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
Optimality of A*(standard proof) Suppose suboptimal goal G 2 in the queue. Let n be an unexpanded node on a shortest path to optimal goal G. f(G 2 ) =
1 Heuristic Search Chapter 4. 2 Outline Heuristic function Greedy Best-first search Admissible heuristic and A* Properties of A* Algorithm IDA*
Heuristic State Space Seach Henry Kautz. Assignment.
CPSC 322, Lecture 9Slide 1 Search: Advanced Topics Computer Science cpsc322, Lecture 9 (Textbook Chpt 3.6) January, 23, 2009.
Review: Search problem formulation
MAE 552 – Heuristic Optimization Lecture 27 April 3, 2002
Informed Search Methods How can we make use of other knowledge about the problem to improve searching strategy? Map example: Heuristic: Expand those nodes.
5-Nov-2003 Heuristic Search Techniques What do you do when the search space is very large or infinite? We’ll study three more AI search algorithms: Backtracking.
9/10  Name plates for everyone!. Blog qn. on Dijkstra Algorithm.. What is the difference between Uniform Cost Search and Dijkstra algorithm? Given the.
Classical Planning Chapter 10.
Vilalta&Eick: Informed Search Informed Search and Exploration Search Strategies Heuristic Functions Local Search Algorithms Vilalta&Eick: Informed Search.
© J. Christopher Beck Lecture 5: Project Planning 2.
Computer Science CPSC 322 Lecture A* and Search Refinements (Ch 3.6.1, 3.7.1, 3.7.2) Slide 1.
P ROBLEM Write an algorithm that calculates the most efficient route between two points as quickly as possible.
Informed (Heuristic) Search
Li Wang Haorui Wu University of South Carolina 04/02/2015 A* with Pattern Databases.
Informed search algorithms Chapter 4. Outline Best-first search Greedy best-first search A * search Heuristics.
Informed search algorithms Chapter 4. Best-first search Idea: use an evaluation function f(n) for each node –estimate of "desirability"  Expand most.
Informed searching. Informed search Blind search algorithms do not consider any information about the states and the goals Often there is extra knowledge.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Artificial Intelligence for Games Informed Search (2) Patrick Olivier
Introduction to Artificial Intelligence Class 1 Planning & Search Henry Kautz Winter 2007.
A General Introduction to Artificial Intelligence.
Feng Zhiyong Tianjin University Fall  Best-first search  Greedy best-first search  A * search  Heuristics  Local search algorithms  Hill-climbing.
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.
A* optimality proof, cycle checking CPSC 322 – Search 5 Textbook § 3.6 and January 21, 2011 Taught by Mike Chiang.
Graph Search II GAM 376 Robin Burke. Outline Homework #3 Graph search review DFS, BFS A* search Iterative beam search IA* search Search in turn-based.
Heuristic Search Planners. 2 USC INFORMATION SCIENCES INSTITUTE Planning as heuristic search Use standard search techniques, e.g. A*, best-first, hill-climbing.
Chapter 3 Solving problems by searching. Search We will consider the problem of designing goal-based agents in observable, deterministic, discrete, known.
Eick: Informed Search Informed Search and Exploration Search Strategies Heuristic Functions Local Search Algorithms Vilalta&Eick: Informed Search.
Lecture 3: Uninformed Search
Informed Search Methods
Review: Tree search Initialize the frontier using the starting state
Graph Theory and Algorithm 02
Informed Search and Exploration
Heuristic Search Henry Kautz.
Artificial Intelligence Problem solving by searching CSC 361
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.
Finding Heuristics Using Abstraction
The A* Algorithm Héctor Muñoz-Avila.
Artificial Intelligence Informed Search Algorithms
EA C461 – Artificial Intelligence
Heuristic Search Thank you Michael L. Littman, Princeton University for sharing these slides.
Informed search algorithms
Heuristics Local Search
CSE 473 University of Washington
HW 1: Warmup Missionaries and Cannibals
More advanced aspects of search
Informed Search Idea: be smart about what paths to try.
Iterative Deepening and Branch & Bound
The Rich/Knight Implementation
HW 1: Warmup Missionaries and Cannibals
CS 416 Artificial Intelligence
Informed Search Idea: be smart about what paths to try.
The Rich/Knight Implementation
Presentation transcript:

Finding Search Heuristics Henry Kautz

if State[node] is not in closed OR g[node] < g[LookUp(State[node],closed)] then A* Graph Search for Any Admissible Heuristic

Inconsistent but Admissible

Memory Efficient Versions of A* Iterative Deepening A* (IDA*) –Just like IDS, except that: Stopping condition: g(n)+h(n)=f(n) > Cutoff Increment: Min{ f(n) | n was cutoff last iteration} –Optimal –Memory linear in cheapest path –Will re-expand nodes frequently

Memory-Bounded A* Throw nodes out of Closed and/or Fringe when memory gets low –Dropping nodes from Closed can make extra work, but doesn’t hurt optimality Dropping nodes from Fringe: –Choose worst node n from Fringe –Set f(Parent(n)) = Max { f(Parent(n)), Min{ f(n’) | n=Parent(n’) } –If Parent is not in Fringe, put it in Fringe Many variations – MA*, SMA*, SMAG*, …

Properties of Heuristics Let h1 and h2 be admissible heuristics if for all s, h1(s)  h2(s), then –h1 dominates h2 –h1 is better than h2 h3(s) = max(h1(s), h2(s)) is admissible –h3 dominates h1 and h2

Exercise: Rubik’s Cube State: position and orientation of each cubie –Corner cubie: 8 positions, 3 orientations –Edge cubie: 8 positions, 2 orientations –Center cubie: 1 position – fixed Move: Turn one face –Center cubits never move! Devise an admissible heuristic

Heuristics # cubies out of place / 8 –Must divide up 8 so is admissible –Too optimistic / weak Better: Korf 1997 – Solves Rubik’s cube optimally

Automatically Deriving Heuristics for STRIPS planning Goal: quickly compute upper bound on distance from S to a state containing Goals Consider: |Goals – S|/m where m is the maximum number of goals added by any one action Admissible? Accurate? Yes! No, ignores preconditions!

Another Attempt Create relaxed planning problem: Solve –Initial = S –Same Goals –Eliminate negative effects from all operators Use length of shortest solution to relaxed problem as h –Admissible? –Accurate? –Easy to compute? Yes! No, hard as set covering! Pretty good

Plan Graph Heuristic Idea: Quickly estimate the minimum length of solution of relaxed problem Method: 1.For each literal, create a dummy “persistence” action with that literal as precondition and effect 2.Compute a Plan Graph: S0: initial literals A0: actions whose preconditions are in S0 S1: add effects of actions in A0 A1: actions whose preconditions are in S1 …

Plan Graph Heuristic Method (continued): 3. Propagate mutual exclusions (mutexes): Two non-persistence actions at the same level are mutex A persistence action is mutex with an action that whose effect negates it Two literals A and B are mutex at level i if all the actions that add A are mutex with those that add B 4. Estimated length = lowest level containing all goals with no mutexes between them

Example Plan Graph

Is Planning Solved? A* with plan graph heuristic works well for domains with relatively few bad interactions between actions For “harder” domains: –Solve non-optimally using non-admissible heuristics –Solve optimally using other approaches – such as satisfiability testing More later in the course!