PREFACE
FOREWORD TO THE FIRST EDITION
CRAPTER 1: INTRODCION TO EXPERT SYSTEMS
1.1 Introduction
1.2 What Is an Expert System?
1.3 Advantages of Expert Systems
1.4 General Concepts of Expert Systems
1.5 Characteristics of an Expert System
1.6 The Development of Expert Systems Technology
1.7 Expert Systems Applications and Domains
1.8 Languages, Shells, and Tools
1.9 Elements of an Expert System
1.10 Production Systems
1.11 Procedural Paradigms
1.12 Nonprocedural Paradigms
1.13 Artificial Neural Systems
1.14 Connectionist Expert Systems and Inductive Learning
1.15 Summary
CHAPTER 2: THE REPRESENTATION OF KNOWLEDGE
2.1 Introduction
2.2 The Meaning of Knowledge
2.3 Productions
2.4 Semantic Nets
2.5 Object-Attribute-Value Triples
2.6 PROLOG and Semantic Nets
2.7 Difficulties with Semantic Nets
2.8 Schemata
2.9 Frames
2.10 Difficulties with Frames
2.11 Logic and Sets
2.12 Propositional Logic
2.13 The First Order Predicate Logic
2.14 The Universal Quantifier
2.15 The Existential Quantifier
2.16 Quantifiers and Sets
2.17 Limitations of Predicate Logic
2.18 Summary
CHAPTER 3: METHODS OF INFERENCE
3.1 Introduction
3.2 Tress, Lattices, and Graphs
3.3 State and Problem Spaces
3.4 And-Or Trees and Goals
3.5 Deductive Logic and Syllogisms
3.6 Rules of Inference
3.7 Limitations of Propositional Logic
3.8 First Order Predicate Logic
3.9 Logic Systems
3.10 Resolution
3.11 Resolution Systems and Deduction
3.12 Shallow and Causal Reasoning
3.13 Resolution and First Order Predicate Logic
3.14 Forward and Backward Chaining
3.16 Metaknowledge
3.17 summary
CHAPTER 4: Reasoning Under Uncertainty
4.1 Introduction
4.2 Uncertainty
4.3 Types of Error
4.4 Errors and Induction
4.5 Classical Probability
4.6 Experimental and Subjective Probabilities
4.7 Compound Probabilities
4.8 Conditional Probabilities
4.9 Hypothetical Reasoning and Backward Induction
4.10 Temporal Reasoning and Markov Chains
4.11 The Odds of Belief
4.12 Sufficiency and Necessity
4.13 Uncertainty in Inference Chains
4.14 The Combination of Evidence
4.15 Inference Nets
4.16 The Propagation of Probabilities
4.17 Summary
CHAPTER 5: INEXACT REASONING
5.1 Introduction
5.2 Uncertainty and Rules
5.3 Certainty Factors
5.4 Dempster-Shafer Theory
5.5 Approximate Reasoning
5.6 The State of Uncertainty
5.7 Summary
CHAPTER 6: DESIGN OF EXPERT SYSTEMS
6.1 Introduction
6.2 Selecting the Appropriate Problem
6.3 Stages in the Development of an Expert System
6.4 Errors in Development Stages
6.5 Software Engineering and Expert Systems
6.6 The Expert System Life Cycle
6.7 A Detailed Life Cycle Model
6.8 Summary
CHAPTER 7: INTRODUCTION TO CLIPS
7.1 Introduction
7.2 CLIPS
7.3 Notation
7.4 Fields
7.5 Entering and Exiting CLIPS
7.6 Facts
7.7 Adding and Removing Facts
7.8 Modifying and Duplicating Facts
7.9 The Watch Command
7.10 The Deffacts Construct
7.11 The Components of a Rule
7.12 The Agenda and Execution
7.13 Commands for Manipulating Constructs
7.14 The Printout Command
7.15 Using Multiple Rules
7.16 The Set-Break Command
7.17 Loading and Saving Constructs
7.18 Commenting Constructs
7.19 Summary
CHAPTER 8: PATTERN MATCHING
8.1 Introduction
8.2 Variables
8.3 Multiple Use of Variables
8.4 Fact Addresses
8.5 Single-Field Wildcards
8.6 Blocks World
8.7 Multifield Wildcards and Variables
8.8 Field Constraints
8.9 Functions and Expressions
8.10 Summing Values Using Rules
8.11 The Bind Function
8.12 I/O Functions
8.13 Summary
CHAPTER 9: ADVANCED PATTERN MATCHING
9.1 Introduction
9.2 The Game of Sticks
9.3 Input Techniques
9.4 Predicate Functions
9.5 The Test Conditional Element
9.6 The Predicate Field Constraint
9.7 The Return Value Field Constraint
9.8 The Sticks Program
9.9 The OR Conditional Element
9.10 The AND Conditional Element
9.11 The NOT Conditional Element
9.12 The EXISTS Conditional Element
9.13 The FORALL Conditional Element
9.14 The LOGICAL Conditional Element
9.15 Utility Commands
9.16 Summary
CHAPTER 10: MODULAR DESIGN AND EXECUTION CONTROL
10.1 Introduction
10.2 Deftemplate Attributes
10.3 Salience
10.4 Phases and Control Facts
10.5 Misuse of Salience
10.6 The Defmodule Construct
10.7 Importing and Exporting Facts
10.8 Modules and Execution Control
10.9 Summary
CHAPTER 11: EFFICIENLCY IN RULE-BASED LANGUAGES
11.1 Introduction
11.2 The Rete Pattern-Matching Algorithm
11.3 The Pattern Network
11.4 The Join Network
11.5 The Importance of Pattern Order
11.6 Ordering Patterns for Efficiency
11.7 Multifield Variables and Efficiency
11.8 The Test CE and Efficiency
11.9 Built-In Pattern-Matching Constraints
11.10 General Rules versus Specific Rules
11.11 Procedural Functions
11.12 Simple Rules versus Complex Rules
11.13 Loading and Saving Farts
11.14 Summary
CHAPTER 12: EXPERT SYSTEM DESIGN EXAMPLES
12.1 Introduction
12.2 Certainty Factors
12.3 Decision Trees
12.4 Backward Chaining
12.5 A Monitoring Problem
12.6 Summary
APPENDIX A: SOME USEFUL EQUIVALENCES
APPENDIX B: SOME ELEMENTARY QUANTIFIERS
AND THEIR MEANINGS
APPENDIX C: SOME SET PROPERTIES
APPENDIX D: CLIPS SUPPORT INFORMATION
APPENDIX E: CLIPS COMMAND AND FUNCTION SUMMARY
APPENDIX F: CLIPS BNF
INDEX