A hierarchical representation of control knowledge for a heuristic classification shell

A central component of expertise is control knowledge which describes the approach to solving a problem. Human experts are capable of utilizing their control knowledge in different contexts. For example, an expert can utilize her diagnostic expertise in solving a problem, explaining the solution, or understanding how another expert is solving a problem (critiquing), etc. The objective of this thesis is a representation of control in a Heuristic Classification shell that can be used in problem solving and critiquing. There are two components for control: $Strategy~knowledge$ defines the space of permissible operations at any instance during problem solving. $Scheduling~knowledge$ defines the selection criteria used by the system to select the next action to do. Critiquing is facilitated by having these two bodies of knowledge represented separately. Part of critiquing is to identify the problem-solving intentions behind the agent''s observed actions. The use of control knowledge of an expert system during this step is facilitated by having the system stateless. A system is said to be $stateless$ if its problem-solving operation is independent of any side effects produced while problem solving. The major contribution of this thesis is the MINERVA architecture for control knowledge. MINERVA fully separates strategies from scheduling. The strategy layer is represented using declarative, abstract, and modular entities. The operation of the strategy layer is independent of any internal state. Thus, the MINERVA architecture can be utilized in both problem solving and critiquing. The control cycle of MINERVA is deliberate-schedule-act. The strategy layer is fully deliberated to identify the list of all possible actions. Deliberation always starts from the given state of the problem. This ensures that the state of control is consistent with the problem and that control knowledge can be used for critiquing. However, full deliberation is computationally expensive when implemented using a regular PROLOG interpreter. An additional contribution of this thesis is PROTMS which is a new way of implementing PROLOG interpreters. PROTMS integrates a truth-maintenance system and a forward-reasoning system in addition to the regular PROLOG query-interpreter. PROTMS eliminates any unnecessary recomputation when a PROLOG query is reevaluated.