dual lookups in pattern databases
DESCRIPTION
Dual lookups in Pattern Databases. Ariel Felner, Ben-Gurion Univ. Israel Uzi Zahavi, Bar-Ilan Univ. Israel Jonathan Schaeffer, Univ. of Alberta, Canada Robert C. Holte, Univ. of Alberta, Canada. Overview. Heuristic search and A* Test domains Pattern databases - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/1.jpg)
1
Dual lookups in Pattern Databases
Ariel Felner, Ben-Gurion Univ. Israel
Uzi Zahavi, Bar-Ilan Univ. Israel
Jonathan Schaeffer, Univ. of Alberta, Canada
Robert C. Holte, Univ. of Alberta, Canada
![Page 2: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/2.jpg)
2
Overview
• Heuristic search and A*• Test domains• Pattern databases• Dual lookups in pattern databases• Experimental results
![Page 3: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/3.jpg)
3
A*• Best-first search with a cost function of f(n)=g(n)+h(n)• g(n): actual distance from the initial state to n • h(n): estimated remained distance from n to
the goal state. • h(n) is admissible if it is always underestimating
• Examples of h: Air distance, Manhattan Distance
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
![Page 4: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/4.jpg)
4
Attributes of A*
• If h(n) is admissible then A* is guaranteed to return an optimal (shortest) solution
• A* is admissible, complete and optimally effective. [Pearl & Dechter 84]
• IDA* is a linear space version of A* [Korf 85] which uses DFS iterations.
![Page 5: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/5.jpg)
5
Domains
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
15 puzzle• 10^13 states• First solved by [Korf 85] with
IDA* and Manhattan distance• Takes 53 seconds
24 puzzle• 10^24 states• First solved by [Korf 96]• Takes 2 days
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
![Page 6: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/6.jpg)
6
• Rubik’s cube• 10^19 states• First solved by [Korf 97]• Takes 2 days to solve
Domains
![Page 7: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/7.jpg)
7
)n,k( Top Spin Puzzle
• n tokens arranged in a ring• States: any possible permutation of the tokens• Operators: Any k consecutive tokens can be
reversed• The (17,4) version has 10^13 states• The (20,4) version has 10^18 states
![Page 8: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/8.jpg)
8
How to improve search?• Enhanced algorithms: • Perimeter-search [Delinberg and Nilson 95]• RBFS [Korf 93]• Frontier-search [Korf and Zang 2003] • Breadth-first heuristic search [Zhou and Hansen 04]
They all try to better explore the search tree.
• Better heuristics: more parts of the search tree will be pruned.
![Page 9: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/9.jpg)
9
Subproblems-Abstractions• Many problems can be abstracted into
subproblems that must be also solved. • A solution to the subproblem is a lower
bound on the entire problem.
• Example: Rubik’s cube [Korf 97]• Problem: 3x3x3 Rubik’s cube Subproblem: 2x2x2 Corner cubies.
![Page 10: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/10.jpg)
10
Pattern Databases heuristics• A pattern database [Culbreson & Schaeffer 96] is a
lookup table that stores solutions to all configurations of the subproblem / abstraction / pattern.
• This table is used as a heuristic during the search.• Example: Rubik’s cube. • Has 10^19 States.• The corner cubies subproblem has 88 Million states • A table with 88 Million entries fits in memory [Korf 97].
Patternspace
Search space
Mapping/Projection
![Page 11: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/11.jpg)
11
Example - 15 puzzle
2 3 6 7
2 3 6 7
• How many moves do we need to move tiles 2,3,6,7 from locations 8,12,13,14 to their goal locations
• The solution to this is located in
PDB[8][12][13][14]=18
![Page 12: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/12.jpg)
12
Disjoint Additive PDBs (DADB)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
• Values of disjoint databases can be added and are still admissible [Korf & Felner: AIJ-02,
Felner, Korf & Hanan: JAIR-04]
7-8
•If you have many PDBS, take their maximum
![Page 13: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/13.jpg)
13
DADB:Tile puzzles
PuzzleHeuristicValueNodes TimeMemory15Breadth-FS10^1328 days3-tera-bytes15Manhattan36.942401,189,63053.4240155-5-541.5623,090,4050.5413,145156-6-342.924617,5550.16333,554157-845.63236,7100.034576,575246-6-6-6360,892,479,6712 days242,000
5-5-5 6-6-3 7-8 6-6-6-6[Korf, AAAI 2005]
![Page 14: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/14.jpg)
14
Symmetries in PDBs• Symmetric lookups were already
performed by the first PDB paper of [Culberson & Schaeffer 96]
• examples – Tile puzzles: reflect the tiles about the main diagonal.– Rubik’s cube: rotate the cube
• We can take the maximum among the different lookups
• These are all geometrical symmetries• We suggest a new type of symmetry!!
8
8
7
7
![Page 15: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/15.jpg)
15
Regular and dual representation• Regular representation of a problem:• Variables – objects (tiles, cubies etc,)• Values – locations• Dual representation:• Variables – locations• Values – objects
![Page 16: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/16.jpg)
16
Regular vs. Dual lookups in PDBs
2 3 6 7
• Regular question: Where are tiles {2,3,6,7} and how
many moves are needed to gather them to their goal locations?
• Dual question: Who are the tiles in locations
{2,3,6,7} and how many moves are needed to distribute them to
their goal locations?
![Page 17: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/17.jpg)
17
Regular and dual lookups
• Regular lookup: PDB[8,12,13,14]• Dual lookup: PDB[9,5,12,15]
![Page 18: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/18.jpg)
18
Regular and dual in TopSpin
• Regular lookup for C : PDB[1,2,3,7,6]• Dual lookup for C: PDB[1,2,3,8,9]
![Page 19: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/19.jpg)
19
Dual lookups
• Dual lookups are possible when there is a symmetry between locations and objects:– Each object is in only one location
and each location occupies only one object.
• Good examples: TopSpin, Rubik’s cube• Bad example: Towers of Hanoi• Problematic example: Tile Puzzles
![Page 20: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/20.jpg)
20
Inconsistency of Dual lookups
Example: Top-Spin
c(b,c)=1
Consistency of heuristics: |h(a)-h(b)| <= c(a,b)
Regular Dual
b00c12
• Both lookups for B PDB[1,2,3,4,5]=0• Regular lookup for C
PDB[1,2,3,7,6]=1• Dual lookup for C
PDB[1,2,3,8,9]=2
![Page 21: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/21.jpg)
21
Traditional Pathmax• children inherit f-value from their parents if it
makes them larger
g=1h=4f=5
g=2h=2f=4
g=2h=3f=5
Inconsistency
Pathmax
![Page 22: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/22.jpg)
22
Bidirectional pathmax (BPMX)
• Bidirectional pathmax: h-values are propagated in both directions decreasing by 1 in each edge.– If the IDA* threshold is 2 then with BPMX
the right child will not even be generated!!
h-values
2
5 1
4
5 3
h-values
BPMX
![Page 23: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/23.jpg)
23
Results: (17,4) TopSpin puzzleregulardualBPMXnodestime
10----40,019,42967.7601no7,618,80515.7201yes1,397,6142.9344yes82,6060.94
1717yes27,5751.34
• Nodes improvement (17r+17d) : 1451• Time improvement (4r+4d) : 72• We also solved the (20,4) TopSpin version.
![Page 24: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/24.jpg)
24
Results: Rubik’s cube
regulardualBPMXnodestime10----90,930,66228.1801no19,653,3867.3801yes8,315,1163.2444yes615,5630.51
2424yes362,9270.90• Nodes improvement (24r+24d) : 250• Time improvement (4r+4d) : 55
• Data on 1000 states with 14 random moves• PDB of 7-edges cubies
![Page 25: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/25.jpg)
25
Results: Rubik’s cube
• With duals we improved Korf’s results on random instances by a factor of 1.5 using exactly the same PDBs.
![Page 26: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/26.jpg)
26
Results: tile puzzles
HeuristicBPMXValuenodestimeManhattan----36.94401,189,63053.424R----44.75136,2890.081R+R*----45.6336,7100.034R+R*+D+D*yes46.1218,6010.022
• With duals, the time for the 24 puzzle drops from 2 days to 1 day.
![Page 27: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/27.jpg)
27
Discussion• Results for the TopSpin and Rubik’s cube
are better than those of the tile puzzles
• Dual PDB lookups and BPMX cutoffs are more effective if each operators changes larger part of the states.
• This is because the identity of the objects being queried in consecutive states are dramatically changed
![Page 28: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/28.jpg)
28
Summary
• Dual PDB lookups• BPMX cutoffs for inconsistent heuristics• State of the art solvers.
![Page 29: Dual lookups in Pattern Databases](https://reader036.vdocuments.mx/reader036/viewer/2022081505/56815d99550346895dcbbb89/html5/thumbnails/29.jpg)
29
Future work• Duality in search spaces• Which and how many symmetries to use• Other sources of inconsistencies• Better ways for propagating inconsistencies