Upload
braima
View
37
Download
1
Embed Size (px)
DESCRIPTION
Pattern Databases. Robert Holte University of Alberta. November 6, 2002. Pattern Database Successes (1). Joe Culberson & Jonathan Schaeffer (1994). 15-puzzle (10 13 states). 2 hand-crafted patterns (“fringe” (FR) and “corner” (CO)) - PowerPoint PPT Presentation
Citation preview
Pattern Databases
Robert Holte
University of Alberta
November 6, 2002
Pattern Database Successes (1)Joe Culberson & Jonathan Schaeffer (1994).
– 15-puzzle (1013 states).
– 2 hand-crafted patterns (“fringe” (FR) and “corner” (CO))
– Each PDB contains over 500 million entries (< 109 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))
Pattern Database Successes (2)
Rich Korf (1997)– Rubik’s Cube (1019 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
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
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)
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 simplifiedversion of the problem and store them in alookup table (pattern database).
Example: 8-puzzle
1 2
3 4 5
6 7 8
Domain = blank 1 2 3 4 5 6 7 8
181,440 states
“Patterns”created by domain mapping
1 2
3 4 5
6 7 8
This mapping produces9 patterns
Domain = blank 1 2 3 4 5 6 7 8Abstract = blank
corresponding patternoriginal state
Pattern Database
Pattern
Distance to goal 0 1 1 2 2 2
Pattern
Distance to goal 3 3 4
Calculating h(s)
Given a state in the original problem
Compute the corresponding pattern
and look up the abstract distance-to-goal
8 1 4
3 5
6 7 2
2
Heuristics defined by PDBs are consistent, not just admissible.
Abstract Space
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.
“Pattern” = leave some tiles unique
1 2
3 4 5
6 7 8 6 7 8
3024 patternsDomain = blank 1 2 3 4 5 6 7 8Abstract = blank 6 7 8
Domain Abstraction
1 2
3 4 5
6 7 8 6 7 8
30,240 patternsDomain = blank 1 2 3 4 5 6 7 8Abstract = blank 6 7 8
8-puzzle PDB sizes(with the blank left unique)
9 72 252 504 630 1512 2520 3024 3780 5040 75601008015120
15120 22680 30240 45360 60480 90720181440
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 8Abstract = blank
Domain = blank 1 2 3 4 5 6 7 8Abstract = blank
Problem: Non-surjectivity
1 2
1 2
1 2
Problem: Non-surjectivity
1 2
1 2
1 2
Domain = blank 1 2 Abstract = blank 1 blank
Problem: Non-surjectivity
1 2
1 2
1 2
1
Domain = blank 1 2 Abstract = blank 1 blank
Problem: Non-surjectivity
1 2
1 2
1 2
1
1
Domain = blank 1 2 Abstract = blank 1 blank
Problem: Non-surjectivity
??
1 2
1 2
1 2
1
1
1
Domain = blank 1 2 Abstract = blank 1 blank
Pattern Database ExperimentsAim:
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.
8-puzzle: A* vs. PDB size#
node
s ex
pand
ed (
A*)
pattern database size (# of abstract states)
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
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
Korf & Reid – results
Seems the ideal tool for choosing which of two PDBs is better…
d prediction avg. error
(all states)
20 376.9 -0.3
21 631.3 -1.4
22 1146.1 -0.4
23 1918.8 -2.7
Korf & Reid – stopping at goald prediction avg. 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.
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
Max of 2 random PDBs
max(h1,h2) worse than h1
Instead of max - interleaveuse
PDB1
usePDB
1
usePDB
1
usePDB
1
usePDB
1
usePDB
1
usePDB
1
usePDB
1
usePDB
1
usePDB
1
usePDB
2
usePDB
2
usePDB
2
usePDB
2
usePDB
2
usePDB
2
usePDB
2
usePDB
2
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 ?
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
Relative Performance
Max Interleave h1
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
Future Research
• compression of pattern databases
• understand & avoid non-surjectivity
• alternative methods of abstraction• projection