Presentation is loading. Please wait.

Presentation is loading. Please wait.

Pattern Databases Robert Holte University of Alberta November 6, 2002.

Similar presentations


Presentation on theme: "Pattern Databases Robert Holte University of Alberta November 6, 2002."— Presentation transcript:

1 Pattern Databases Robert Holte University of Alberta November 6, 2002

2 Pattern Database Successes (1) Joe Culberson & Jonathan Schaeffer (1994). –15-puzzle (10 13 states). –2 hand-crafted patterns (“fringe” (FR) and “corner” (CO)) –Each PDB contains over 500 million entries (< 10 9 abstract states). –Used symmetries to compress and enhance the use of PDBs –Used in conjunction with Manhattan Distance (MD) Reduction in size of search tree: –MD = 346 * max(MD,FR) –MD = 437 * max(MD,CO) –MD = 1038 * max(MD, interleave(FR,CO))

3 Pattern Database Successes (2) Rich Korf (1997) –Rubik’s Cube (10 19 states). –3 hand-crafted patterns, all used together (max) –Each PDB contains over 42 million entries –took 1 hour to build all the PDBs Results: –First time random instances had been solved optimally –Hardest (solution length 18) took 17 days –Best known MD-like heuristic would have taken a century

4 Pattern Database Successes (3) Stefan Edelkamp (2001) –Planning benchmarks: e.g. logistics, Blocks world –Automatically generated PDBs (not domain abstraction) –Additive pattern databases (in some cases) Results: –PDB competitive with the best planners –logistics domain (weighted A*), PDB run-time 100 times smaller than FF heuristic

5 Pattern Database Successes (4) Istvan Hernadvolgyi (2001) –Macro-operators are concatenated to very quickly construct suboptimal solutions –For Rubik’s Cube hundreds of macro-operators are needed –Each macro is found by searching in the Rubik’s Cube state space with a macro-specific “subgoal” and start state –For every one of these searches, a PDB was generated automatically (domain abstraction) so that an optimal-length macro could be found quickly Results: –Optimal-length macros for all subgoals found for the first time –So quick that it permitted subgoals to be merged –This shortened solutions from 90 moves to 50 (optimal is ~18)

6 Fundamental Questions How to invent effective heuristics ? How to use memory to speed up search ? Create a simplified version of your problem. Use the exact distances in the simplified version as heuristic estimates in the original. Precompute all distances-to-goal in the simplified version of the problem and store them in a lookup table (pattern database).

7 Example: 8-puzzle 12 345 678 Domain = blank 1 2 3 4 5 6 7 8 181,440 states

8 “Patterns” created by domain mapping 12 345 678 This mapping produces 9 patterns Domain = blank 1 2 3 4 5 6 7 8 Abstract = blank corresponding patternoriginal state

9 Pattern Database Pattern Distance to goal 0 1 1 2 2 2 Pattern Distance to goal 3 3 4

10 Calculating h(s) Given a state in the original problem Compute the corresponding pattern and look up the abstract distance-to-goal 814 35 672 2 Heuristics defined by PDBs are consistent, not just admissible.

11 Abstract Space

12 Efficiency Time for the preprocessing to create a PDB is usually negligible compared to the time to solve one problem-instance with no heuristic. Memory is the limiting factor.

13 “Pattern” = leave some tiles unique 12 345 678 678 3024 patterns Domain = blank 1 2 3 4 5 6 7 8 Abstract = blank 6 7 8

14 Domain Abstraction 12 345 678 678 30,240 patterns Domain = blank 1 2 3 4 5 6 7 8 Abstract = blank 6 7 8

15 8-puzzle PDB sizes (with the blank left unique) 9 72 252 504 630 1512 2520 3024 3780 5040 7560 10080 15120 22680 30240 45360 60480 90720 181440

16 Automatic Creation of Domain Abstractions Easy to enumerate all possible domain abstractions They form a lattice, e.g. is “more abstract” than the domain abstraction above Domain = blank 1 2 3 4 5 6 7 8 Abstract = blank Domain = blank 1 2 3 4 5 6 7 8 Abstract = blank

17 Problem: Non-surjectivity 1 2 1 2 1 2

18 1 2 1 2 1 2 Domain = blank 1 2 Abstract = blank 1 blank

19 Problem: Non-surjectivity 1 2 1 2 1 2 1 Domain = blank 1 2 Abstract = blank 1 blank

20 Problem: Non-surjectivity 1 2 1 2 1 2 1 1 Domain = blank 1 2 Abstract = blank 1 blank

21 Problem: Non-surjectivity ?? 1 2 1 2 1 2 1 1 1 Domain = blank 1 2 Abstract = blank 1 blank

22 Pattern Database Experiments Aim: To understand how search performance using PDBs is related to easily measurable characteristics of the PDBs e.g. size, average value Basic Method: Choose a variety of state spaces. For each state space generate thousands of PDBs. For each PDB, measure its characteristics and the performance of A* (IDA* etc.) using it.

23 8-puzzle: A* vs. PDB size # nodes expanded (A*) pattern database size (# of abstract states)

24 Korf & Reid (1998) When the depth bound is d, node n at level j will be expanded by IDA* iff [a] parent(n) was expanded [b] g(n)+h(n)  d, in other words h(n)  d-j [b]  [a] if the heuristic is consistent Total nodes expanded =  N(j)*P(j,d-j) –N(j) = # nodes at level j in the brute-force tree –P(j,x) = percentage of nodes at level j with h()  x

25 Korf & Reid – experiment In their 8-puzzle experiment: –Use exact N(j) –Approximate P(j,x) by EQ(x) = limit (j  ) P(j,x) –IDA*, but complete enumeration of last level –Run all 181,400 start states to all depths

26 Korf & Reid – results Seems the ideal tool for choosing which of two PDBs is better… dpredictionavg. error (all states) 20 376.9 -0.3 21 631.3 -1.4 22 1146.1 -0.4 23 1918.8 -2.7

27 Korf & Reid – stopping at goal dpredictionavg. error (all states) avg. error (states  d ) 20 376.9 -0.3 406 21 631.3 -1.4 500 22 1146.1 -0.4 664 23 1918.8 -2.7 758 For choosing which of two PDBs is better in a practical setting, adaptations are needed.

28 Using Multiple Abstractions Given 2 consistent heuristics, max(h1(s),h2(s)) is also consistent. In some circumstances, can add them. How good is max ? –hope it is at least 2x because it takes 2x the space

29 Max of 2 random PDBs max(h1,h2) worse than h1

30 Instead of max - interleave use PDB 1 use PDB 1 use PDB 1 use PDB 1 use PDB 1 use PDB 1 use PDB 1 use PDB 1 use PDB 1 use PDB 1 use PDB 2 use PDB 2 use PDB 2 use PDB 2 use PDB 2 use PDB 2 use PDB 2 use PDB 2

31 Interleaved Pattern Databases The hope: almost as good as max, but only half the memory. Intuitively, strict alternation between PDBs expected to be almost as good as max. How to generalize this to any abstraction of any space ?

32 2 random PDBs interleaved 93 random pairs (with non-trivial LCA) 4 had Max(h1,h2) > h1 17 others had Interleave(h1,h2) > h1 The remaining 72 were “normal” Max Interleave h1

33 Relative Performance Max Interleave h1

34 Current Research Istvan Hernadvolgyi (Ph.D. student, U. Ottawa) –automatic creation of good pattern databases –adaptation to weighted graphs Project Students (U of A) Jack Newton –max of two pattern databases –interleaved pattern databases Daniel Neilson - additive abstractions Ajit Singh – predicting IDA* performance

35 Future Research compression of pattern databases understand & avoid non-surjectivity alternative methods of abstraction projection


Download ppt "Pattern Databases Robert Holte University of Alberta November 6, 2002."

Similar presentations


Ads by Google