Automatic representation changes in problem solving

Eugene Fink

Ph.D. Thesis, Computer Science Department, Carnegie Mellon University, 1999. Techcnical Report CMU-CS-99-150.


The purpose of our research is to enhance the efficiency of AI problem solvers by automating representation changes. We have developed a system that improves description of input problems and selects an appropriate search algorithm for each given problem.


Researchers have accumulated much evidence of the importance of appropriate representations for the efficiency of AI systems. The same problem may be easy or difficult, depending on the way we describe it and on the search algorithm we use. Previous work on automatic improvement of problem description has mostly been limited to the design of individual learning algorithms.  The user has traditionally been responsible for the choice of algorithms appropriate for a given problem.

We present a system that integrates multiple description-changing and problem-solving algorithms. The purpose of our work is to formalize the concept of representation, explore its role in problem solving, and confirm the following general hypothesis:
.      . An effective representation-changing system can be constructed out of three parts:
  • a library of problem-solving algorithms;
  • a library of algorithms that improve problem description by static analysis and learning;
  • a top-level control module that selects appropriate algorithms for each given problem.

Representation-changing system

We have supported this hypothesis by building a system that improves representations in the Prodigy problem-solving architecture.  The library of problem solvers consists of several search engines available in the Prodigy architecture. The library of description changers comprises novel algorithms for selecting primary effects, generating abstractions, and discarding irrelevant elements of a problem encoding. The control module chooses and applies appropriate description changers, stores and reuses new descriptions, and selects problem solvers.

Improving problem description

The implemented system includes seven static-analysis and learning algorithms for improving description of a given problem. First, we
formalize the notion of primary effects of operators, and give two algorithms for identifying primary effects.  Second, we extend the theory of abstraction search to the Prodigy domain language, and describe two techniques for abstracting preconditions and effects of operators.  Third, we present auxiliary algorithms that enhance the power of abstraction, by identifying relevant features of a problem and generating partial instantiations of operators.

Top-level control

We define a space of possible representations of a given problem, and view the task of changing representation as search in this space. The top-level control mechanism guides the search, using statistical analysis of previous results, user-coded control rules, and general heuristics.  First, we formalize the statistical problem involved in finding an effective representation and derive a solution to this problem.  Then, we describe control rules for selecting representations, and present a mechanism for the synergetic use of statistical techniques, control rules, and heuristics.