CHAPTER 1:INTRODUCTION TO EXPERT SYSTEMS 1
1.1 Introduction 1
1.2 What Is an Expert System? 1
1.3 Advantages of Expert Systems 4
1.4 General Concepts of Expert Systems 5
1.5 Characteristics of an Expert System 8
1.6 The Development of Expert Systems Technology 10
1.7 Expert Systems Applications and Domains 15
1.8 Languages,Shells,and Tools 21
1.9 Elements of an Expert System 23
1.10 Production Systems 28
1.11 Procedural Paradigms 32
1.12 Nonprocedural Paradigms 38
1.13 Artificial Neural Systems 43
1.14 Connectionist Expert Systems and Inductive Learning 49
1.15 Summary 50
CHAPTER 2:THE REPRESENTATION OF KNOWLEDGE 57
2.1 Introduction 57
2.2 The Meaning of Knowledge 57
2.3 Productions 60
2.4 Semantic Nets 63
2.5 Object-Attribute-Value Triples 66
2.6 PROLOG and Semantic Nets 67
2.7 Difficulties with Semantic Nets 72
2.8 Schemata 73
2.9 Frames 74
2.10 Difficulties with Frames 77
2.11 Logic and Sets 78
2.12 Propositional Logic 81
2.13 The First Order Predicate Logic 86
2.14 The Universal Quantifier 87
2.15 The Existential Quantifier 88
2.16 Quantifiers and Sets 90
2.17 Limitations of Predicate Logic 91
2.18 Summary 91
CHAPTER 3:METHODS OF INFERENCE 97
3.1 Introduction 97
3.2 Trees,Lattices,and Graphs 97
3.3 State and Problem Spaces 101
3.4 And-Or Trees and Goals 106
3.5 Deductive Logic and Syllogisms 109
3.6 Rules of Inference 114
3.7 Limitations of Propositional Logic 122
3.8 First Order Predicate Logic 124
3.9 Logic Systems 125
3.10 Resolution 128
3.11 Resolution Systems and Deduction 131
3.12 Shallow and Causal Reasoning 133
3.13 Resolution and First Order Predicate Logic 137
3.14 Forward and Backward Chaining 143
3.16 Metaknowledge 156
3.17 Summary 157
4.1 Introduction 165
4.2 Uncertainty 165
CHAPTER 4:Reasoning Under Uncertainty 165
4.3 Types of Error 166
4.4 Errors and Induction 168
4.5 Classical Probability 169
4.6 Experimental and Subjective Probabilities 173
4.7 Compound Probabilities 175
4.8 Conditional Probabilities 178
4.9 Hypothetical Reasoning and Backward Induction 183
4.10 Temporal Reasoning and Markov Chains 186
4.11 The Odds of Belief 191
4.12 Sufficiency and Necessity 193
4.13 Uncertainty in Inference Chains 195
4.14 The Combination of Evidence 200
4.15 Inference Nets 207
4.16 The Propagation of Probabilities 216
4.17 Summary 220
CHAPTER 5:INEXACT REASONING 227
5.1 Introduction 227
5.2 Uncertainty and Rules 227
5.3 Certainty Factors 233
5.4 Dempster-Shafer Theory 243
5.5 Approximate Reasoning 256
5.6 The State of Uncertainty 300
5.7 Summary 301
CHAPTER 6:DESIGN OF EXPERT SYSTEMS 309
6.1 Introduction 309
6.2 Selecting the Appropriate Problem 309
6.3 Stages in the Development of an Expert System 311
6.4 Errors in Development Stages 313
6.5 Software Engineering and Expert Systems 315
6.6 The Expert System Life Cycle 317
6.7 A Detailed Life Cycle Model 320
6.8 Summary 325
7.1 Introduction 327
CHAPTER 7:INTRODUCTION TO CLIPS 327
7.2 CLIPS 328
7.3 Notation 328
7.4 Fields 330
7.5 Entering and Exiting CLIPS 333
7.6 Facts 334
7.7 Adding and Removing Facts 337
7.8 Modifying and Duplicating Facts 340
7.9 The Watch Command 341
7.10 The Deffacts Construct 342
7.11 The Components of a Rule 344
7.12 The Agenda and Execution 346
7.13 Commands for Manipulating Constructs 350
7.14 The Printout Command 353
7.15 Using Multiple Rules 353
7.16 The Set-Break Command 355
7.17 Loading and Saving Constructs 357
7.18 Commenting Constructs 358
7.19 Summary 359
8.1 Introduction 365
8.2 Variables 365
CHAPTER 8:PATTERN MATCHING 365
8.3 Multiple Use of Variables 366
8.4 Fact Addresses 367
8.5 Single-Field Wildcards 370
8.6 Blocks World 371
8.7 Multifield Wildcards and Variables 376
8.8 Field Constraints 382
8.9 Functions and Expressions 385
8.10 Summing Values Using Rules 389
8.11 The Bind Function 391
8.12 I/O Functions 392
8.13 Summary 398
CHAPTER 9:ADVANCED PATTERN MATCHING 405
9.1 Introduction 405
9.2 The Game of Sticks 405
9.3 Input Techniques 405
9.4 Predicate Functions 407
9.5 The Test Conditional Element 407
9.6 The Predicate Field Constraint 410
9.7 The Return Value Field Constraint 411
9.8 The Sticks Program 412
9.9 The OR Conditional Element 413
9.10 The AND Conditional Element 415
9.11 The NOT Conditional Element 417
9.12 The EXISTS Conditional Element 419
9.13 The FORALL Conditional Element 422
9.14 The LOGICAL Conditional Element 424
9.15 Utility Commands 428
9.16 Summary 430
CHAPTER 10:MODULAR DESIGN AND EXECUTION CONTROL 437
10.1 Introduction 437
10.2 Deftemplate Attributes 437
10.3 Salience 445
10.4 Phases and Control Facts 448
10.5 Misuse of Salience 453
10.6 The Defmodule Construct 456
10.7 Importing and Exporting Facts 459
10.8 Modules and Execution Control 463
10.9 Summary 471
CHAPTER 11:EFFICIENCY IN RULE-BASED LANGUAGES 477
11.1 Introduction 477
11.2 The Rete Pattern-Matching Algorithm 477
11.3 The Pattern Network 480
11.4 The Join Network 483
11.5 The Importance of Pattern Order 486
11.6 Ordering Patterns for Efficiency 492
11.8 The Test CE and Efficiency 493
11.7 Multifield Variables and Efficiency 493
11.9 Built-In Pattern-Matching Constraints 495
11.10 General Rules versus Specific Rules 496
11.11 Procedural Functions 498
11.12 Simple Rules versus Complex Rules 500
11.13 Loading and Saving Facts 503
11.14 Summary 504
12.1 Introduction 509
12.2 Certainty Factors 509
CHAPTER 12:EXPERT SYSTEM DESIGN EXAMPLES 509
12.3 Decision Trees 513
12.4 Backward Chaining 526
12.5 A Monitoring Problem 538
12.6 Summary 554
APPENDIX A:SOME USEFUL EQUIVALENCES 557
APPENDIX B:SOME ELEMENTARY QUANTIERS AND THEIR MEANINGS 559
APPENDIX C:SOME SET PROPERTIES 561
APPENDIX D:CLIPS SUPPORT INFORMATION 563
APPENDIX E:CLIPS COMMAND AND FUNCTION SUMMARY 565
APPENDIX F:CLIPS BNF 579
INDEX 585