Expert Systems Lab Course, Softcover reprint of the original 1st ed. 1989
Coll. Springer Compass International

Authors:

Language: French
Publication date:
374 p. · 15.5x23.5 cm · Paperback
Based on a number of sample systems of varying complexity, this book illustrates the practical aspects of developing expert systems and knowledge-based applications software. The programming language used is Prolog (Clocksin-Mellish standard). The examples deal with such topics as techniques for heuristic optimization, the implementation of "frames", the construction of explanatory components, etc. The complete, functional code for the sample systems is provided in the appendix and can be used as a basis for further development. This book is not only suitable for self-study, seminars or lectures, but also as a valuable reference and guide for software developers in both commercial and academic environments.
1 Introduction.- 1.1 What Do We Mean by Expert System?.- 1.2 What Is Prolog?.- 1.3 Which Implementation of Prolog Are We Using?.- 1.4 How Is This Lab Structured?.- 2 Characteristics and Components of an Expert System.- 2.1 The Concept and Areas of Application.- 2.2 Human Versus Machine Knowledge.- 2.3 Knowledge Base and Knowledge Bank.- 2.4 Rule Knowledge.- 2.5 The Inference Engine.- 2.6 Instantiation of Variables.- 2.7 Applications Problems.- 2.8 Classification of Typical Expert Systems.- 3 A Model System for Transit Fare Information.- 3.1 The Problem.- 3.2 Transit Fare Rules.- 3.3 Conducting a Dialog.- 3.4 Control Structure and the Rule Interpreter.- 3.5 Gathering Case Data.- 3.6 The Inference Tree and Protocolling.- 3.7 Explanations.- 3.8 Equivalent Answers.- 3.9 Weaknesses and Possible Improvements.- 4 The Representation and Processing of Knowledge.- 4.1 System Architecture.- 4.2 System Development.- 4.3 Modularization.- 4.4 Knowledge Structures and Deductive Mechanisms.- 4.5 Production Systems.- 4.6 The Direction of Chaining.- 4.7 Inference Trees.- 4.8 Rule Modification and Non-monotonic Logic.- 4.9 Control of Flow.- 5 Dialog and Explanatory Components.- 5.1 Implicit Dialog Texts.- 5.2 The Structure and Processing of Rules.- 5.3 Facts and Degrees of Certainty.- 5.4 The Inference Engine.- 5.5 Gathering Case Data.- 5.6 Vague Knowledge.- 5.7 Instructing the User to Perform a Test.- 5.8 Explaining the Reason for a Question.- 5.9 Presenting and Explaining the Results.- 5.10 “Why Not” Explanations.- 5.11 Listing the Current Contents of the Fact Base.- 5.12 Shortcomings and Possible Improvements.- 6 “Experience” and “Learning”.- 6.1 User Hunches.- 6.2 Diagnostic Phases.- 6.3 Heuristics.- 6.4 Diagnostic Statistics.- 6.5 Learning from Experience.- 6.6Shortcomings and Possible Improvements.- 7 Object-Oriented Knowledge Management.- 7.1 Objects, Instances and Classes.- 7.2 Representing Objects with Frames.- 7.3 The Organization of an Object Base.- 7.4 Primitive Operations for Managing Objects.- 7.5 The Knowledge Base for Software License Administration.- 7.6 The Primitives for Accessing Objects.- 7.7 Displaying Complex Structures.- 7.8 The “System” as an Object.- 7.9 Shortcomings and Possible Improvements.- 8 Frames and Procedures.- 8.1 Interactive Definition of New Objects.- 8.2 The Dialog for Constructing a New Object.- 8.3 Acquiring and Evaluating User Input.- 8.4 Procedural Components.- 8.5 Managing Free Format Text in External Memory.- 8.6 Assistance Systems for Information Preparation.- 8.7 Building an “Intelligent” Index Manager.- 8.8 Shortcomings and Possible Improvements.- 9 The Representation and Use of Constraints.- 9.1 Configuration and Selection Systems.- 9.2 The “Coupling Expert”.- 9.3 Functions and the Structure of Knowledge.- 9.4 Characteristic Object Data.- 9.5 Entering and Displaying Objects.- 9.6 Primitive Access Predicates.- 9.7 Represention of the Computational Formulas.- 9.8 Constraints on the Coupling Selection.- 9.9 The Complete Analysis of a Coupling.- 10 Embedding the System.- 10.1 Dialog Flow.- 10.2 The Menu Interface.- 10.3 Displaying Objects.- 10.4 The Selection of Objects.- 10.5 Maintaining a Protocol.- 10.6 Applying Metaknowledge.- 10.7 Preparing a Suggestion for Coupling Construction.- 10.8 Shortcomings and Possible Improvements.- 11 Software Development Methodology.- 11.1 “Knowledge-Based” Software Technology.- 11.2 Project Flow.- 11.3 Problem Specification.- 11.4 The Prototype.- 11.5 The Organization of Knowledge.- 11.6 Inference Strategies.- 11.7 Modularization ofthe Knowledge Base.- 11.8 Knowledge Representation.- 11.9 Representing Metaknowledge.- 11.10 Metasystems.- 11.11 Project Execution.- A The “MTA Expert”.- A.1 Start-up Procedure.- A.2 Module “mta”.- A3 Module “controlling”.- A.4 Module “dialog”.- A.5 Module “explanation”.- A.6 Module “aux-programs”.- A.7 Module “rule-base”.- B The System for Finding Defects in Automobile Heaters.- B.1 Start-up Procedure.- B.2 Module “main_prog”.- B.3 Module “knowledge-base”.- B.4 Module “test-aids”.- B.5 Module “dialog”.- B.6 Module “aux-predicates”.- B.7 Module “init”.- B.8 Module “explanation”.- B.9 Module “hypotheses”.- B.10 Module “learn”.- B.11 Module “endless”.- C The License and Memo Manager.- C.1 Initialization Procedure.- C.2 Start-up Procedure.- C.3 Module “primitives”.- C.4 Module “frames”.- C.5 Module “attachments”.- C.6 Module “help”.- C.7 Module “memos”.- C.8 Module “input-output”.- D The “Coupling Expert”.- D.1 Start-up Procedure.- D.2 Module “drive”.- D.3 Module “load”.- D.4 Module “assembly”.- D.5 Module “coupling”.- D.6 Module “frame”.- D.7 Module “gen_frames”.- D.8 Module “reading”.- D.9 Module “show”.- D.10 Module “fillout”.- D.11 Module “constraints”.- D.12 Module “procedures”.- D.13 Module “requirement”.- D.14 Module “controlling”.- D.15 Module “auxiliary_pred”.- D.16 Module “explanation”.- D.17 Module “metaknowledge”.- Further Reading.