Using Pattern Databases to Find Macro Operators

Abstract

In this work we employ heuristic search to obtain macro operators for spaces defined in our production system. A macro operator is a sequence of original operators which reaches a subgoal from a state without search. A macro table has operators for each subgoal. Korf (Korf 1985) used macro operators to find suboptimal solutions for the Rubik's Cube and the 15-Puzzle. While the paths found by the macro method are not guaranteed to be optimal, once the macro table is calculated the search effort is negligible. Traditionally macro operators were found by uninformed search methods, because there were no obvious heuristics. We have devised a simple notation, PSVN (Hernadvolgyi & Holte 1999), to represent state spaces. In PSVN, states are vectors of labels and the operators are simple rewriting rules. For this notation we invented a technique to automatically generate admissible and monotonic heuristics to guide the A* family of algorithms. We apply a simple transformation – domain abstraction – on the description of the original space to obtain the abstract space where the distance between two states in the original space is never shorter than the distance between their images in the abstract space. The heuristic values are the lengths of shortest paths in the abstract space. We calculate the distance between the image of the goal state and the rest of the abstract states and store them in a look-up table indexed by the abstract states. This look-up table is also called a pattern database and the method was first used by Culberson and Schaeffer to solve the 15-Puzzle (Culberson & Schaeffer 1994). Korf used pattern databases to solve random instances of the Rubik's Cube for the first time. So far pattern databases have only been used to obtain shortest paths. In this work we use them to find macro operators. A macro operator reaches a subgoal state without search. To solve for a goal state, each macro brings one (or a few) of the labels in the vector representing the state to the index where they occur in the goal state. Subsequent application of the macros in the order of the subgoals fixes all labels and the goal state is reached. The subgoals are patterns where labels at specific indices are identical to the labels of the goal state at those indices. The first subgoal is to fix the label at index i1, the next subgoal is to fix the label at index i2 such that the label at index i1 remains intact and the last subgoal is to fix the last label leaving already fixed labels undisturbed. It

Cite

Text

Hernádvölgyi. "Using Pattern Databases to Find Macro Operators." AAAI Conference on Artificial Intelligence, 2000.

Markdown

[Hernádvölgyi. "Using Pattern Databases to Find Macro Operators." AAAI Conference on Artificial Intelligence, 2000.](https://mlanthology.org/aaai/2000/hernadvolgyi2000aaai-using/)

BibTeX

@inproceedings{hernadvolgyi2000aaai-using,
  title     = {{Using Pattern Databases to Find Macro Operators}},
  author    = {Hernádvölgyi, István T.},
  booktitle = {AAAI Conference on Artificial Intelligence},
  year      = {2000},
  pages     = {1075},
  url       = {https://mlanthology.org/aaai/2000/hernadvolgyi2000aaai-using/}
}