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
-
EBL
generates control rules from problem solving traces.
-
STATIC
generates control rules from the initial domain knowledge.
-
ANALOGY maintains a library of past problem solving
expewrience.
-
ALPINE generates abstraction hierarchies for
problem spaces in order to facilitate abstract planning.
-
EXPERIMENT refines domain knowledge
by experimentation.
-
APPRENTICE
provides an interface with the user through which problem spaces can be
defined and edited.