Jump to the Overview of PRODIGY page.
Jump to the Architectural Details Menu page.
Jump to the Home page.

Architectural Details

The architecture consists of a problem solver and several learning modules. The learning modules provide the problem solver with knowledge to aid it in its search for a plan. The complete problem-solving trace generated to find a plan can then be examined by learning modules.

Knowledge used by the various components is represented in a form of predicate logic called PDL. Axiomatic domain knowledge consists of a set of operators and inference rules. Each Operator has preconditions, an addlist, and a deletelist as in STRIPS. Inference rules are just operators that lack a deletelist. Control rules consist of a LHS and a RHS. The LHS specifies when the rule can be applied. The RHS gives an operator to select, reject, or prefer if the LHS is satisfied. Control rules are intended to prune the search tree generated by the planner.

The Planner/Problem Solver

Beginning with a set of operators and inference rules, the problem solver produces a search tree for a given problem. Each node in the tree records the effects of applying a specific operator. The solution to a problem is the sequence of operators that reach a goal node from the initial state. The complete trace of the search is then retained for inspection by the learning modules.

PRODIGY employs a casual commitment strategy when generating plans. The planner uses depth-first search in the absence of control rules. No attempt is made to prune the search tree unless the planner has knowledge to guide it. If there are applicable control rules, the planner may use another type of search, or it may use a stored plan.

The Learning Modules

  1. EBL generates control rules from problem solving traces.
  2. STATIC generates control rules from the initial domain knowledge.
  3. ANALOGY maintains a library of past problem solving expewrience.
  4. ALPINE generates abstraction hierarchies for problem spaces in order to facilitate abstract planning.
  5. EXPERIMENT refines domain knowledge by experimentation.
  6. APPRENTICE provides an interface with the user through which problem spaces can be defined and edited.