Using Abstraction to Speed Up Search Robert Holte University of Ottawa.

Slides:



Advertisements
Similar presentations
BEST FIRST SEARCH - BeFS
Advertisements

Heuristic Functions By Peter Lane
Review: Search problem formulation
Informed Search Algorithms
Informed search strategies
Informed search algorithms
AI Pathfinding Representing the Search Space
An Introduction to Artificial Intelligence
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.
Solving Problem by Searching
Artificial Intelligence Chapter 9 Heuristic Search Biointelligence Lab School of Computer Sci. & Eng. Seoul National University.
Recent Progress in the Design and Analysis of Admissible Heuristic Functions Richard E. Korf Computer Science Department University of California, Los.
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.
Search Techniques MSc AI module. Search In order to build a system to solve a problem we need to: Define and analyse the problem Acquire the knowledge.
CS171 Introduction to Computer Science II Graphs Strike Back.
Heuristic State Space Seach Henry Kautz. Assignment.
Review: Search problem formulation
Research Related to Real-Time Strategy Games Robert Holte November 8, 2002.
Spring 2010CS 2251 Graphs Chapter 10. Spring 2010CS 2252 Chapter Objectives To become familiar with graph terminology and the different types of graphs.
Pattern Databases Robert Holte University of Alberta November 6, 2002.
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.
Non-Conservative Cost Bound Increases in IDA* Doug Demyen.
Heuristics CSE 473 University of Washington. © Daniel S. Weld Topics Agency Problem Spaces SearchKnowledge Representation Planning PerceptionNLPMulti-agentRobotics.
State-Space Searches. 2 State spaces A state space consists of –A (possibly infinite) set of states The start state represents the initial problem Each.
Informed Search Idea: be smart about what paths to try.
1 Game AI Path Finding. A Common Situation of Game AI A Common Situation of Game AI Path Planning Path Planning –From a start position to a destination.
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 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 Strategies Lecture # 8 & 9. Outline 2 Best-first search Greedy best-first search A * search Heuristics.
MA/CSSE 473 Day 28 Dynamic Programming Binomial Coefficients Warshall's algorithm Student questions?
Chapter 4 Informed/Heuristic Search
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.
Heuristic Search Andrea Danyluk September 16, 2013.
For Wednesday Read chapter 6, sections 1-3 Homework: –Chapter 4, exercise 1.
For Wednesday Read chapter 5, sections 1-4 Homework: –Chapter 3, exercise 23. Then do the exercise again, but use greedy heuristic search instead of A*
Informed Search and Heuristics Chapter 3.5~7. Outline Best-first search Greedy best-first search A * search Heuristics.
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.
Informed Search CSE 473 University of Washington.
Heuristic Functions.
Artificial Intelligence Lecture No. 8 Dr. Asad Ali Safi ​ Assistant Professor, Department of Computer Science, COMSATS Institute of Information Technology.
Biointelligence Lab School of Computer Sci. & Eng. Seoul National University Artificial Intelligence Chapter 8 Uninformed Search.
Reading Material Sections 3.3 – 3.5 Sections 4.1 – 4.2 “Optimal Rectangle Packing: New Results” By R. Korf (optional) “Optimal Rectangle Packing: A Meta-CSP.
CMPT 463. What will be covered A* search Local search Game tree Constraint satisfaction problems (CSP)
Artificial Intelligence Solving problems by searching.
Review: Tree search Initialize the frontier using the starting state
Abstraction Transformation & Heuristics
Heuristic Search Henry Kautz.
Artificial Intelligence Problem solving by searching CSC 361
Motion Planning for a Point Robot (2/2)
Finding Heuristics Using Abstraction
The A* Algorithm Héctor Muñoz-Avila.
Discussion on Greedy Search and A*
Discussion on Greedy Search and A*
Graphs & Graph Algorithms 2
CS 4100 Artificial Intelligence
EA C461 – Artificial Intelligence
Informed search algorithms
HW 1: Warmup Missionaries and Cannibals
Informed Search Idea: be smart about what paths to try.
The Rich/Knight Implementation
HW 1: Warmup Missionaries and Cannibals
CS 416 Artificial Intelligence
Informed Search Idea: be smart about what paths to try.
Informed Search.
The Rich/Knight Implementation
Presentation transcript:

Using Abstraction to Speed Up Search Robert Holte University of Ottawa

Textbook Computer Science Problem: in a given graph find a shortest path between two nodes (start, goal) (explicit) Graph Representations adjacency matrix – O(N 2 ) adjacency list – O(N+E) Algorithms Dijkstra (if all edge weights are non-negative) Bellman-Ford (all shortest paths from start) time and space – low-order polynomials of N and E

Portion of the London Underground Graph

“Implicit” Graphs Instead of an adjacency list/matrix, Define a graph by a successor function, succ, and one or more “seed” nodes. Nodes of the graph = transitive closure of succ applied to the seed nodes An edge exists from n 1 to n 2 iff n 2  succ(n 1 ) A graph can be exponentially larger than its description.

Towers of Hanoi puzzle for D disks: –graph has 3 D nodes –description is O(D 2 )

3-disk State Space

Speed up Search by Using Extra Information Solution “skeleton” = chain of subgraphs leading from start to goal –Refinement: search in the first subgraph until you reach the second, then search in the second until you reach the third, etc. –very fast but path found not guaranteed to be optimal Heuristic = h(n) = estimate of the distance from node n to the goal node. –if it never overestimates, it can eliminate (prune) parts of the graph and still guarantee finding an optimal path

Transform the edge weights to account for h(n): becomes Use Dijkstra (if h(n 1 )  e + h(n 2 )) or Bellman-Ford (all shortest paths) Distance to n increases by h(n), so a more accurate heuristic prunes more nodes. How to Search with a Heuristic e n1n1 n2n2 e – h(n 1 )+h(n 2 ) n1n1 n2n2

My Research Aim: to generate heuristics or skeletal solutions automatically (from an explicit or implicit graph) Method: 1.Create an abstraction of the given graph 2.Find a solution path in the abstract graph 3.Use the abstract solution as a skeletal solution, or use its length as a heuristic

Example: Towers of Hanoi start goal

Abstraction: “Ignore the smallest disk” start goal

Abstract Solution start goal

My Research Contributions (1) Methods of Abstraction –explicit graphs: STAR abstraction –implicit graphs: domain abstraction –select among abstractions using Korf & Reid’s method for predicting search time Search Methods –refinement: AltO –heuristic: Hierarchical A*

My Research Contributions (2) Conceptual Advances –Unified view of refinement and heuristic search, enabling a continuous tradeoff between solution quality and search time. –Demonstrate, and analyze, failures of abstraction techniques on implicit graphs. –Demonstrate viability of hierarchical heuristic search. –Investigate the relation between a heuristic’s search time and its size as a lookup table. –Transfer techniques between AI and CS.

STAR abstraction Abstract state = connected subgraph (all nodes within distance R of a given node) Fully automatic (but need to amortize cost) Fine control over granularity (R) Can be applied recursively (abstraction hierarchy) Guarantees refinement will succeed Produces a consistent heuristic

AltO Refinement Technique Conduct abstract search in the opposite direction to the base-level search; Use the whole abstract search graph for refinement. 12% faster than standard refinement and produces better solutions (20% shorter) Robust – not sensitive to the abstract solution found, and not very sensitive to the radius of abstraction times faster than A* (same abstraction) and solutions usually within 30% of optimal

Hierarchical A* Heuristic search: h(n) is needed for every node reached during search. Hierarchical A*: Compute h(n) on demand. If h(n) is not already known compute it by searching at the abstract level. The search at an abstract level can be informed by a heuristic defined by a higher abstract level.  many abstract searches for one base-level search  naïve implementation is 10 times slower than blind base-level search.

Making Hierarchical A* Efficient Key Observation: For one base-level search all the abstract searches have the same goal so distance-to-goal information from one abstract search can used to speedup subsequent abstract searches. Example: “P-g caching” Suppose an abstract search finds an optimal path of length P, and during search it reaches node n at distance g(n) from the abstract start node. Then P-g(n) is a consistent heuristic (at the abstract level) and is often more accurate than the h(n) value used during this search.

Pattern Databases Instead of computing h(n) on demand, precompute distance-to-goal for all abstract states, and store them in a lookup table. Joe Culberson & Jonathan Schaeffer (1994) 1000-times speedup over best hand-crafted heuristics for the 15-puzzle (10 13 states). Rich Korf (1997): first optimal solutions of random instances of Rubik’s cube (10 19 states).

My Pattern Database Research Pattern databases generated semi-automatically, not hand-crafted Identify obstacles to fully automatic generation Large-scale studies involving thousands of pattern databases Study pattern databases in isolation, not in conjunction with a hand-crafted heuristic Evaluate Korf & Reid’s method for predicting search time

Domain Abstraction puzzle 181,440 nodes

Domain Abstraction puzzle 181,440 nodes 678 abstraction 3024 nodes

Domain Abstraction puzzle 181,440 nodes abstraction 5040 nodes

Performance versus Size pattern database size (# abstract states) # nodes expanded

Performance of Pattern Databases # nodes expanded pattern database size (# of abstract states)

Prediction of Search Time actual # nodes expanded Korf & Reid’s prediction

Future Research weighted, directed graphs multiple abstractions, blended abstractions compression of pattern databases understand & avoid failure modes alternative methods of abstraction how best to use limited memory