CMPUT 651: Front to Front Perimeter Search & Pattern Databases Johnny Huynh.

Slides:



Advertisements
Similar presentations
BEST FIRST SEARCH - BeFS
Advertisements

Informed search algorithms
Finding Optimal Solution of 15 puzzle B NTUCSIE Kai-Yung Chiang.
Lights Out Issues Questions? Comment from me.
Informed search algorithms
Review: Search problem formulation
Informed Search Algorithms
Informed search strategies
Informed search algorithms
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.
Inconsistent Heuristics
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.
Informed search algorithms
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*
PATHFINDING WITH A* Presented by Joseph Siefers February 19 th, 2008.
Dave Lattanzi’s RRT Algorithm. General Concept Use dictionaries for trees Create a randomized stack of nodes Iterate through stack “Extend” each tree.
Review: Search problem formulation
Informed Search (no corresponding text chapter). Recall: Wanted " An algorithm and associated data structure(s) that can: 1) Solve an arbitrary 8-puzzle.
Research Related to Real-Time Strategy Games Robert Holte November 8, 2002.
Problem Solving and Search in AI Heuristic Search
Compressing a Single PDB Presented by: Danielle Sauer CMPUT 652 Project December 1, 2004.
Pattern Databases Robert Holte University of Alberta November 6, 2002.
Dovetail Killer? Implementing Jonathan’s New Idea Tarek Sherif.
Combining Front-to-End Perimeter Search and Pattern Databases CMPUT 652 Eddie Rafols.
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.
Using Abstraction to Speed Up Search Robert Holte University of Ottawa.
Dijkstra’s Algorithm and Heuristic Graph Search David Johnson.
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.
Dijkstra’s algorithm N: set of nodes for which shortest path already found Initialization: (Start with source node s) n N = {s}, D s = 0, “s is distance.
More advanced aspects of search Extensions of A*.
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.
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.
Informed Search and Heuristics Chapter 3.5~7. Outline Best-first search Greedy best-first search A * search Heuristics.
Feng Zhiyong Tianjin University Fall  Best-first search  Greedy best-first search  A * search  Heuristics  Local search algorithms  Hill-climbing.
Best-first search Idea: use an evaluation function f(n) for each node –estimate of "desirability"  Expand most desirable unexpanded node Implementation:
A* optimality proof, cycle checking CPSC 322 – Search 5 Textbook § 3.6 and January 21, 2011 Taught by Mike Chiang.
Circles Review 3 rd Grade Geometry. What is the diameter of a circle?
Anonymous communication over social networks Shishir Nagaraja and Ross Anderson Security Group Computer Laboratory.
Chapter 3.5 and 3.6 Heuristic Search Continued. Review:Learning Objectives Heuristic search strategies –Best-first search –A* algorithm Heuristic functions.
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.
Construction of Optimal Data Aggregation Trees for Wireless Sensor Networks Deying Li, Jiannong Cao, Ming Liu, and Yuan Zheng Computer Communications and.
Shortest Path Algorithms By: Nick Bielik Aaron Staranowicz Mike Knadle.
Review: Tree search Initialize the frontier using the starting state
Department of Computer Science
CSE (c) S. Tanimoto, 2002 Search Algorithms
Informed Search and Exploration
Limitations of Front-to-End Bidirectional Heuristic Search
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
Discussion on Greedy Search and A*
Discussion on Greedy Search and A*
CS 4100 Artificial Intelligence
A* Path Finding Ref: A-star tutorial.
Heuristics Local Search
Review session covering text book pages and
Artificial Intelligence
Informed search algorithms
Heuristics Local Search
More advanced aspects of search
Implementation of Dijkstra’s Algorithm
Artificial Intelligence
CSE (c) S. Tanimoto, 2004 Search Algorithms
Heuristic Search Viewed as path Finding in a Graph
Informed Search.
Presentation transcript:

CMPUT 651: Front to Front Perimeter Search & Pattern Databases Johnny Huynh

Outline Introduction to FFPS Problems Improving FFPS itself Perimeters and PDB’s Results Conclusion

Front-to-Front Perimeter Search (FFPS) Build a perimeter around goal Find shortest path a perimeter state Use a heuristic to find a perimeter state Heuristic can be a pattern database (PDB) G S P

Problems with FFPS Taking the MIN of estimates Checking for |P| Perimeter States Each node expansion requires |P| estimates Perimeter states and PDBs requires memory G S P

Problems with FFPS Taking the MIN of estimates Checking for |P| Perimeter States Each node expansion requires |P| estimates Perimeter states and PDBs requires memory G S P

Improving FFPS Reducing Perimeter Checks given a perimeter state, p, if h(p) = 0 then state, s, needs to be checked only when h(s) = 0. In the 9-puzzle (2x5), reduced number of goal comparisons by 92.5%

Problems with FFPS Taking the MIN of estimates Checking for |P| Perimeter States Each node expansion requires |P| estimates Perimeter states and PDBs requires memory G S P

Improving FFPS Reducing Heuristic Evaluations Fraction of Node expansion time required to evaluate heuristic determines speedup. [Dillenburg ’93] fractionOptimal RadiusSpeedup

Improving FFPS Reducing Heuristic Evaluations If heuristic is monotonically non- decreasing. Estimate distance to all perimeter states Decrease estimate by edge cost Re-compute only the minimum estimates

Improving FFPS Reducing Heuristic Evaluations RadiusTotal PDB LookupsReduced PDB Lookups% 19, ,43246, ,556,360129, ,615,490256, ,644,070405, ,529,750168,

Problems with FFPS Taking the MIN of estimates Checking for |P| Perimeter States Each node expansion requires |P| estimates Perimeter states and PDBs requires memory G S P

Memory for Perimeter or PDB? Distance to each P estimated by a PDB Fixing number of states in memory, How many Perimeter states? How many PDB entries? |P| + |P| * |PDB| = c Must remember that |PDB| determined by level of abstraction

Initial (Poor) Results

Mixing Levels of Abstraction c = |P| + |P| * |PDB| What if |P| > |PDB|? Each Perimeter’s PDB doesn’t have to be the same c = |P| + ∑(|P i | * |PDB i |), P i є P, PDB i є PDB Abstraction|PDB i | P0P k P1P k P2P k P2P k

Mixing Levels of Abstraction AveragesSame Level of Abstraction (|PDB| = 90k) Different Levels of Abstraction (avg |PDB| = 90k) Abstraction0 Look-ups17021 Abstraction1 Look-ups Abstraction2 Look-ups Abstraction3 Look-ups Nodes Expanded [8-puzzle with 8 perimeter nodes and ~360K states in memory]

Combining Perimeter PDBs If each PDB uses same abstraction, then will look up the same key in each PDB. h(s) = min {PDB 1 [Φ(s)] … PDB N [Φ(s)] } Create one PDB with the same keys, and save only the MIN from each perimeter PDB. h(s) = PDB c [Φ(s)] Reduce memory from: |P| + |P| * |PDB|to |P| + |PDB|

Combining Perimeter PDBs

10-pancake results RadiusNodes ExpandedElapsed Time (s)

Conclusion FFPS performance affected by: Number of goal comparisons Number of heuristic evaluations (PDB lookups) FFPS Perimeter vs PDB: Without combining PDB’s, radius should be kept small. Combining PDB’s, memory should be allocated for radius… (up to a certain point?)

Questions?