Title: Searching for Macro-operators with Automatically Generated Heuristics
1Searching for Macro-operators with Automatically
Generated Heuristics
- István T. Hernádvölgyi
- University of Ottawa
- istvan_at_site.uottawa.ca
2Motivation
Time
1 week
Korf 97
us
Korf 85
Sims 70, Osterlund 95
1 sec
85
50
455
18
Quality
3Subgoals and Macros
1
2
3
4
5
41
2
3
4
5
51
2
3
4
5
1
2
1
3
1
2
4
1
2
3
61
2
3
4
5
1
1
1
1
1
2
1
2
1
2
1
2
1
3
1
2
3
1
2
3
1
2
4
1
2
3
4
1
2
3
71
2
3
4
5
1
o1
1
o2
1
o3
1
o4
1
2
1
o2,o1,o2
2
1
o3,o2,o3
2
1
o4,o3,o4
2
1
3
1
2
o3,o1,o3
3
1
2
o4,o2,o4
3
1
2
4
1
2
3
o4,o1,o4
4
1
2
3
84
1
2
5
3
1
o1
1
o2
1
o3
1
o4
1
2
1
o2,o1,o2
2
1
o3,o2,o3
2
1
o4,o3,o4
2
1
3
1
2
o3,o1,o3
3
1
2
o4,o2,o4
3
1
2
4
1
2
3
o4,o1,o4
4
1
2
3
94
1
2
5
3
1
o1
1
o2
1
o3
1
o4
1
2
1
o2,o1,o2
2
1
o3,o2,o3
2
1
o4,o3,o4
2
1
3
1
2
o3,o1,o3
3
1
2
o4,o2,o4
3
1
2
4
1
2
3
o4,o1,o4
4
1
2
3
o1
101
4
2
5
3
1
o1
1
o2
1
o3
1
o4
1
2
1
o2,o1,o2
2
1
o3,o2,o3
2
1
o4,o3,o4
2
1
3
1
2
o3,o1,o3
3
1
2
o4,o2,o4
3
1
2
4
1
2
3
o4,o1,o4
4
1
2
3
o1,o2,o1,o2
111
2
4
5
3
1
o1
1
o2
1
o3
1
o4
1
2
1
o2,o1,o2
2
1
o3,o2,o3
2
1
o4,o3,o4
2
1
3
1
2
o3,o1,o3
3
1
2
o4,o2,o4
3
1
2
4
1
2
3
o4,o1,o4
4
1
2
3
o1,o2,o1,o2,o4,o2,o4
121
2
3
5
4
1
o1
1
o2
1
o3
1
o4
1
2
1
o2,o1,o2
2
1
o3,o2,o3
2
1
o4,o3,o4
2
1
3
1
2
o3,o1,o3
3
1
2
o4,o2,o4
3
1
2
4
1
2
3
o4,o1,o4
4
1
2
3
o1,o2,o1,o2,o4,o2,o1,o4
o1,o2,o1,o2,o4,o2,o4,o4,o1,o4
o2,o4,o3,o2
132
1
o2,o1,o2
2
1
o3,o2,o3
2
1
o4,o3,o4
2
1
3
1
2
o3,o1,o3
3
1
2
o4,o2,o4
3
1
2
142
3
1
o3,o1,o3
2
3
1
o4,o2,o4
2
3
1
o1,o2,o1
2
3
1
o1,o3,o2
2
3
1
o1,o4,o1,o3
2
3
1
o2,o3,o1
2
3
1
o3,o2,o3
2
3
1
o2,o4,o2
2
3
1
o3,o4,o1
2
3
1
o2,o3,o4,o2,o3
2
3
1
o4,o3,o4
2
3
1
15(No Transcript)
16Results
17The cost of merging subgoals
18Solution use heuristics to speed up search for
each macro
- For each subgoal, create a heuristic specifically
for that subgoal - Can combine this with the heuristic for the
previous subgoal (because that subgoal is a
subset of the current subgoal) - Need to create these automatically, they are
unintuitive spaces and the heuristics are throw
away
19Previous WorkAutomatically Generated Heuristics
- Absolver Prieditis90
- Pattern Database CulbersonSchaeffer96
- 15 Puzzle, dont care tiles, Rubiks Cube
Korf97 - Domain Abstraction HolteHernadvolgyi99
- Planning (Strips) Edelkamp2000
20Pattern Database
181,440
15,120
21Pattern Database
6
3
4
6
3
8
7
5
1
2
1
2
22Domain Abstraction
181,440
5,040
23Rubiks Cube
ULB
UB
URB
UL
UR
U
ULF
UF
URF
ULB
UL
UR
URB
UB
ULB
LF
RF
F
LB
L
RB
R
LB
B
DLF
DF
DRF
DLB
DL
DR
DRB
DB
DLB
DL
DR
D
DLB
DB
DRB
24State Representation
Goal state (subscripts indicate orientation)
Typical start state
25Macro Search Space
Goal state for the subgoal fix RF and RB
Typical start state for this subgoal
26Domain Abstraction
- dont care about a cubies orientation
- Make 2 (or more) cubies indistinguishable from
each other - Continue to add abstractions until the abstract
space is sufficiently small (2 million entries)
27Abstraction Example
Abstracted goal state (x orientation doesnt
matter)
Abstracted start state (typical)
28The cost of merging subgoals
29Contributions
- Automatically Generated Heuristics for Finding
Macro-operators - Merging Subgoals to Obtain Shorter Solutions
- 44 Improvement for Rubiks Cube
- Method is General and Mostly Automatic
30Using Symmetries
31Using Symmetries
URF, URB,ULB,ULF,UF,UL,UR,UB
LF,LB,DL
LF,RF,DR
RF,RB,DR
LB,RB,DL
LF, RF
RF,RB
LF,RB
LF,LB
DF,DB (gt DR)
DRF,DRB
DLF, DLB
DLF (gtDLB)
DRF (gt DRB)
32Kociembas Two-phase Algorithm
33Open Questions
- Do the improvements carry over to other spaces?
- Does the order of the subgoals matter?
34(No Transcript)
35(No Transcript)
36(No Transcript)
37(No Transcript)
38(No Transcript)
39(No Transcript)
40(No Transcript)
41(No Transcript)
42(No Transcript)
43(No Transcript)
44Motivation
45Motivation
Time
1 week
Korf 97
human
Kloosterman 90
Thistlethwaite 80
Korf 85
Sims 70, Osterlund 95
1 sec
Kociemba 92
85
50
455
18
Quality
46Merging Consecutive Subgoals
Serial Decomposability Korf83
Idea
47(No Transcript)
48(No Transcript)
49(No Transcript)
50Previous WorkMacro-Operators
- Stabilizer Chain Sims70, Osterlund95
- Bi-directional Partial-Match Korf85
51Domain Abstraction
- select two invariant cubies c1 and c2
- toss coin
- if (heads) // mask orientations
- if (both orientations masked)
- goto 1
- mask orientations of c1 and c2
- else // mask cubie identity
- if (mask(c1) mask(c2) goto 1
- select new mask A
- if (!masked(c1) !masked(c2))
- c1 A, c2 A
- else if (masked(c1) !masked(c2))
- all cubies with mask(c1) and c2 A
- else if (!masked(c1) masked(c2))
- all cubies with mask(c2) and c1 A
- else // both has a mask
- cubies with mask(c1) and mask(c2) A
- H expand(N)
- if (H 0) goto 1
52Search
- IDA Korf85
- Maximum of 3 pattern databases (5M entries)
- 18 subgoals
- 6 subgoals
- 10,000 random instances
53Statistics