Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "CMPUT 651: Front to Front Perimeter Search & Pattern Databases Johnny Huynh."— Presentation transcript:

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

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

3 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

4 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

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

6 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%

7 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

8 Improving FFPS Reducing Heuristic Evaluations Fraction of Node expansion time required to evaluate heuristic determines speedup. [Dillenburg ’93] fractionOptimal RadiusSpeedup 0.0164.6 0.0253.3 0.0542.2 0.131.6 0.221.2 0.311.1

9 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

10 Improving FFPS Reducing Heuristic Evaluations RadiusTotal PDB LookupsReduced PDB Lookups% 19,91042795.7 2743,43246,17593.8 31,556,360129,77091.7 42,615,490256,37590.2 53,644,070405,56088.9 61,529,750168,84588.9

11 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

12 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

13 Initial (Poor) Results

14

15 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 | P0P0 011234567180k P1P1 01122345690k P2P2 01112345660k P2P2 01112234530k

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

17 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|

18 Combining Perimeter PDBs

19

20 10-pancake results RadiusNodes ExpandedElapsed Time (s) 06956512.664 1536759.936 2377516.994 3241524.476 4128222.485 552901.051

21 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?)

22 Questions?


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

Similar presentations


Ads by Google