Using Integrity Constraints to Control Search in Knowledge Base Systems

Terry Gaasterland, Mark Giuliano, Anne Litcher, Yuan Liu, and Jack Minker

Computer Science Department,
	 University of Maryland
	 College Park

The complete paper is available in:

Abstract

A knowledge base system stores and manipulates a body of knowledge which consists of a set of rules and facts. An expert system may be defined as a metainterpreter over a knowledge base that provides a variety of facilities including answer generation, explanation, and interactive browsing. The rules and facts in a knowledge base capture syntactic information. In contrast, integrity constraints contribute semantic information about the represented knowledge. They impose restrictions on the states of the world that a knowledge base can model. Typically, integrity constraints are used to update and maintain the knowledge base, but they can also be a powerful tool for answering queries.

A logic programming system augmented with constraint processing, data storage, and data manipulation capabilities forms the basis for a knowledge base system. Both a run-time and a compile-time approach to using integrity constraints in logic programming systems to identify and eliminate unproductive search activity have been implemented within an existing parallel logic programming system, PRISM. The extended system provides the basis for a series of experiments which demonstrate that significant classes of knowledge representation domains can use integrity constraints effectively. We show that using constraints to process a query can reduce search space and response time. Furthermore, we show that in certain cases the compile-time approach reduces response time much more than the run-time approach. ^L

Bibliography