Modularity and Learning Modules of PRODIGY

Modularity and the Learning Modules of PRODIGY

One of the chief design principles of PRODIGY is its modularity, inspired by the principles of software engineering. The architecture consists of a general problem solver and six learning modules: These learning modules interface to one another through a global, uniform knowledge representation and the general problem solver. The authors contend that this modularization is based on sound engineering principles and allows modules to function independently of one another and, in the case of a defective or malfunctioning module, the system to continue (sans the ability of the faulty module) while the module is repaired. Modularity is one of the primary issues addressed by this particular architecture.

Explanation-Based Learning (EBL) Module

The EBL module uses the results from the problem-solving trace generated by the central problem solver to acquire control rules. Explanations are constructed from an axiomatized theory that describes both the domain and the architecture of the problem solver. The results are then expressed as control rules and added to the knowledge base.

However, increasingly specific control rules may increase the match cost for rules so much that a brute-force search of the problem space would be less costly in some instances. This is known as the utility problem. PRODIGY addresses the utility problem in its ability to selectively forget rules whose cost exceed their utility.

Static Analysis of Control Rules for Learning

Before building a problem-solving trace to attempt EBL of control rules, the STATIC module may be invoked. STATIC is based on a predictive model of EBL and acts as a compiler for control rules in domains that support such analysis before any training examples are run. STATIC is faster and better than EBL but not appropriate for all domains. (See Issues for additional information.)

Learning Abstraction Hierarchies

The ALPINE module abstracts domain knowledge based on a detailed analysis of the domain knowledge PDL sentences. When problem solving, PRODIGY can find solutions in the abstraction space and then refine the solution to the entire problem space. Both EBL and ANALOGY can call on ALPINE to effect abstractions for their particular learning strategies. (Note: see Planning in PRODIGY for more information on the ALPINE module.)

Learning by Analogy

The ANALOGY module uses reasoning strategies and justifications saved from previous problem-solving traces to build strategies for a new problem. These strategies are evoked when the problem solver comes to a place where the new problem's justifications are similar to a previously-solved problem. ANALOGY then directs the problem-solving strategy in the direction that led to the previous solution.

Knowledge Acquisition by Experts ( Instructability)

The APPRENTICE module is a user-interface that allows a user to guide PRODIGY's problem-solving strategies and learning. Thus, both domain knowledge and control rules may be added to the system through APPRENTICE.

Deriving New Knowledge from Experimentation

The EXPERIMENT module is invoked when the system discovers a difference between internal expectations of plan execution and external observation. The module then tries to refine its domain knowledge in an effort to determine the cause for this difference. It is unclear if this module has actually been integrated into PRODIGY or how this affects the underlying assumption of complete domain knowledge. (See Issues for more discussion of this assumption.)


Press HOME to return to the top of PRODIGY.