Automatic representation changes in problem solving
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
a top-level control module that selects appropriate algorithms for each
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
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
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.