1 / 53

Searching for Macro-operators with Automatically Generated Heuristics

Searching for Macro-operators with Automatically Generated Heuristics. Istv á n T. Hern á dv ö lgyi University of Ottawa istvan@site.uottawa.ca. Motivation. Time. 1 week. Korf 97. us. Korf 85. Sims 70, Osterlund 95. 1 sec. 50. 85. 455. 18. Quality. Subgoals and Macros. 1. 2. 3.

Download Presentation

Searching for Macro-operators with Automatically Generated Heuristics

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Searching for Macro-operators with Automatically Generated Heuristics István T. Hernádvölgyi University of Ottawa istvan@site.uottawa.ca

  2. Motivation Time 1 week Korf 97 us Korf 85 Sims 70, Osterlund 95 1 sec 50 85 455 18 Quality

  3. Subgoals and Macros 1 2 3 4 5

  4. 1 2 3 4 5

  5. 1 2 3 4 5 1 1 2 1 2 3 1 2 3 4

  6. 1 2 3 4 5 1 1 1 1 1 1 2 1 2 1 2 1 2 1 2 3 1 2 3 1 2 3 1 2 3 4 1 2 3 4

  7. 1 2 3 4 5 {} 1 {o1} 1 {o2} 1 {o3} 1 {o4} 1 {} 1 2 {o2,o1,o2} 1 2 {o3,o2,o3} 1 2 {o4,o3,o4} 1 2 {} 1 2 3 {o3,o1,o3} 1 2 3 {o4,o2,o4} 1 2 3 {} 1 2 3 4 {o4,o1,o4} 1 2 3 4

  8. 4 1 2 5 3 {} 1 {o1} 1 {o2} 1 {o3} 1 {o4} 1 {} 1 2 {o2,o1,o2} 1 2 {o3,o2,o3} 1 2 {o4,o3,o4} 1 2 {} 1 2 3 {o3,o1,o3} 1 2 3 {o4,o2,o4} 1 2 3 {} 1 2 3 4 {o4,o1,o4} 1 2 3 4

  9. 4 1 2 5 3 {} 1 {o1} 1 {o2} 1 {o3} 1 {o4} 1 {} 1 2 {o2,o1,o2} 1 2 {o3,o2,o3} 1 2 {o4,o3,o4} 1 2 {} 1 2 3 {o3,o1,o3} 1 2 3 {o4,o2,o4} 1 2 3 {} 1 2 3 4 {o4,o1,o4} 1 2 3 4 {o1}

  10. 1 4 2 5 3 {} 1 {o1} 1 {o2} 1 {o3} 1 {o4} 1 {} 1 2 {o2,o1,o2} 1 2 {o3,o2,o3} 1 2 {o4,o3,o4} 1 2 {} 1 2 3 {o3,o1,o3} 1 2 3 {o4,o2,o4} 1 2 3 {} 1 2 3 4 {o4,o1,o4} 1 2 3 4 {o1,o2,o1,o2}

  11. 1 2 4 5 3 {} 1 {o1} 1 {o2} 1 {o3} 1 {o4} 1 {} 1 2 {o2,o1,o2} 1 2 {o3,o2,o3} 1 2 {o4,o3,o4} 1 2 {} 1 2 3 {o3,o1,o3} 1 2 3 {o4,o2,o4} 1 2 3 {} 1 2 3 4 {o4,o1,o4} 1 2 3 4 {o1,o2,o1,o2,o4,o2,o4}

  12. 1 2 3 5 4 {} 1 {o1} 1 {o2} 1 {o3} 1 {o4} 1 {} 1 2 {o2,o1,o2} 1 2 {o3,o2,o3} 1 2 {o4,o3,o4} 1 2 {} 1 2 3 {o3,o1,o3} 1 2 3 {o4,o2,o4} 1 2 3 {} 1 2 3 4 {o4,o1,o4} 1 2 3 4 {o1,o2,o1,o2,o4,o2,o1,o4} {o1,o2,o1,o2,o4,o2,o4,o4,o1,o4} {o2,o4,o3,o2}

  13. {} 1 2 {o2,o1,o2} 1 2 {o3,o2,o3} 1 2 {o4,o3,o4} 1 2 {} 1 2 3 {o3,o1,o3} 1 2 3 {o4,o2,o4} 1 2 3

  14. {} 1 2 3 {o3,o1,o3} 1 2 3 {o4,o2,o4} 1 2 3 {o1,o2,o1} 1 3 2 {o1,o3,o2} 1 2 3 {o1,o4,o1,o3} 1 2 3 {o2,o3,o1} 1 3 2 {o3,o2,o3} 1 3 2 {o2,o4,o2} 1 2 3 {o3,o4,o1} 1 3 2 {o2,o3,o4,o2,o3} 1 3 2 {o4,o3,o4} 1 3 2

  15. Results

  16. The cost of merging subgoals

  17. Solution: 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”

  18. Previous WorkAutomatically Generated Heuristics • Absolver [Prieditis90] • Pattern Database [CulbersonSchaeffer96] • 15 Puzzle, “don’t care tiles”, Rubik’s Cube [Korf97] • Domain Abstraction [HolteHernadvolgyi99] • Planning (Strips) [Edelkamp2000]

  19. 1 2 3 1 2 3 4 5 6 6 7 8 Pattern Database 181,440 15,120

  20. Pattern Database 6 3 4 6 3 8 7 5 2 1 2 1

  21. 1 2 3 4 5 6 7 8 Domain Abstraction 181,440 5,040

  22. Rubik’s Cube ULB UB URB UL U UR ULB UL ULF UF URF UR URB UB ULB LB L LF F RF R RB B LB DLB DL DLF DF DRF DR DRB DB DLB DL D DR DLB DB DRB

  23. State Representation Goal state (subscripts indicate orientation) Typical start state

  24. Macro Search Space Goal state for the subgoal “fix RF and RB” Typical start state for this subgoal

  25. Domain Abstraction • “don’t care” about a cubie’s orientation • Make 2 (or more) cubies indistinguishable from each other • Continue to add abstractions until the abstract space is sufficiently small (2 million entries)

  26. Abstraction Example Abstracted goal state (x = orientation doesn’t matter) Abstracted start state (typical)

  27. The cost of merging subgoals

  28. Contributions • Automatically Generated Heuristics for Finding Macro-operators • Merging Subgoals to Obtain Shorter Solutions • 44% Improvement for Rubik’s Cube • Method is General and Mostly Automatic

  29. Using Symmetries

  30. Using 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 (> DR) DRF,DRB DLF, DLB DLF (>DLB) DRF (> DRB)

  31. Kociemba’s Two-phase Algorithm

  32. Open Questions • Do the improvements carry over to other spaces? • Does the order of the subgoals matter?

  33. Motivation

  34. Motivation Time 1 week Korf 97 human Kloosterman 90 Thistlethwaite 80 Korf 85 Sims 70, Osterlund 95 1 sec Kociemba 92 50 85 455 18 Quality

  35. Merging Consecutive Subgoals Serial Decomposability [Korf83] Idea:

  36. Previous WorkMacro-Operators • Stabilizer Chain [Sims70, Osterlund95] • Bi-directional Partial-Match [Korf85]

More Related