Logic Programming Languages for Expert Systems

Author(s):  
James D. Jones

“Expert systems” are a significant subset of what is known as “decision support systems” (DSS). This article suggests a different paradigm for expert systems than what is commonly used. Most often, expert systems are developed with a tool called an “expert system shell.” For the more adventurous, an expert system might be developed with Prolog, a language for artificial intelligence. Both Prolog and expert system shells stem from technology that is approximately 30 years old.1 There have been updates to these platforms, such as GUI interfaces, XML interfaces, and other “bells and whistles.” However, the technology is still fundamentally old. As an analogy, the current technology is akin to updating a 30-year-old car with new paint (a gooey interface), new upholstery, GPS, and so forth. However, the car is fundamentally still a 30-year-old car. It may be in far better shape than another 30-year-old car without the updates, but it cannot compete from an engineering perspective with current models.2 Similarly, the reasoning power of current expert system technology cannot compete with the reasoning power of the state of the art in logic programming. These advances that have taken place in the logic programming community since the advent of Prolog and expert system shells include: a well developed theory of multiple forms of negation, an understanding of open domains, and the closed world assumption, default reasoning with exceptions, reasoning with respect to time (i.e., a solution to the frame problem and introspection with regard to previous beliefs), reasoning about actions, introspection, and maintaining multiple views of the world simultaneously (i.e., reasoning with uncertainty). This article examines a family of logic programming languages. This article in conjunction with a companion article this volume, Knowledge Representation That Can Empower Expert Systems, suggest that logic programs employing recent advances in semantics and in knowledge representation provide a more robust framework in which to develop expert systems. The author has successfully applied this paradigm and these ideas to financial applications, security applications, and enterprise information systems.

Author(s):  
James D. Jones

Knowledge representation is a field of artificial intelligence that has been actively pursued since the 1940s.1 The issues at stake are that given a specific domain, how do we represent knowledge in that domain, and how do we reason about that domain? This issue of knowledge representation is of paramount importance, since the knowledge representation scheme may foster or hinder reasoning. The representation scheme can enable reasoning to take place, or it may make the desired reasoning impossible. To some extent, the knowledge representation depends upon the underlying technology. For instance, in order to perform default reasoning with exceptions, one needs weak negation (aka negation as failure. In fact, most complex forms of reasoning will require weak negation. This is a facility that is an integral part of logic programs but is lacking from expert system shells. Many Prolog implementations provide negation as failure, however, they do not understand nor implement the proper semantics. The companion article to this article in this volume, “Logic Programming Languages for Expert Systems,” discusses logic programming and negation as failure.


Robotica ◽  
2001 ◽  
Vol 19 (6) ◽  
pp. 669-674 ◽  
Author(s):  
Jie Yang ◽  
Chenzhou Ye ◽  
Xiaoli Zhang

Traditional expert systems for fault diagnosis have a bottleneck in knowledge acquisition, and have limitations in knowledge representation and reasoning. A new expert system shell for fault diagnosis is presented in this paper to develop multiple knowledge models (object model, rules, neural network, case-base and diagnose models) hierarchically based on multiple knowledge. The structure of the expert system shell and the knowledge representation of multiple models are described. Diagnostic algorithms are presented for automatic modeling and hierarchical reasoning. It will be shown that the expert system shell is very effective in building diagnostic expert systems.


1986 ◽  
Vol 21 (11) ◽  
pp. 242-257 ◽  
Author(s):  
Kenneth Kahn ◽  
Eric Dean Tribble ◽  
Mark S. Miller ◽  
Daniel G. Bobrow

1992 ◽  
Vol 8 (03) ◽  
pp. 163-183
Author(s):  
Mark Spicknall

This paper presents an example of how expert systems can be developed and used for planning structural piece-part production. First, expert systems are briefly and generically described. Then the production processes within a shipyard-like structural piece-part production facility are defined within an expert system "shell"; that is, the "objects," "attributes," and "rules" describing the production process are established and explained. Then various structural piece-parts are described to the system and the system identifies the required production processes for each described part. The inference process underlying the identification of these processes is described for each of these parts. Finally, potential applications of expert systems to other areas of shipbuilding operations are discussed.


Sign in / Sign up

Export Citation Format

Share Document