This book is aimed at the Prolog programmer interested in either building expert systems or experimenting with various expert system techniques. Dennis Merritt chooses a step-by-step approach to building systems, explaining the concepts and showing the Prolog code at each stage. The book builds on simple beginning systems and progresses up to relatively sophisticated expert system tools. It does not emphasize techniques of logic programming or the particularities of Prolog, but rather, emphasizes Prolog as an efficient software development tool, and teaches how to build expert systems and design the necessary tools. It is recommended (but not required) that the reader use a Prolog interpreter along with reading this book to experiment with the various Prolog examples given throughout the text.
Author(s): Dennis Merritt
Series: Springer Compass International
Edition: 1
Publisher: Springer
Year: 1989
Language: English
Pages: 308
Tags: Информатика и вычислительная техника;Искусственный интеллект;Базы знаний и экспертные системы;
Cover Page......Page 1
Preface......Page 3
Acknowledgements......Page 4
Table of Contents......Page 5
Expert Systems......Page 11
Goal-Driven Reasoning......Page 13
Data Driven Reasoning......Page 14
Data Representation......Page 15
User Interface......Page 16
Sample Applications......Page 17
Assumptions......Page 18
Rule formats......Page 19
Rules about birds......Page 20
Rules for other relationships......Page 21
Asking the user......Page 23
Remembering the answer......Page 24
Menus for the user......Page 25
A Simple Shell......Page 26
Command loop......Page 27
Exercises......Page 29
An Example......Page 31
Rule Uncertainty......Page 32
Properties of Certainty Factors......Page 33
Determining Premise CF......Page 34
Combining CFs......Page 35
Rule Format......Page 36
Find a Value for an Attribute......Page 37
Ask User for Attribute Value......Page 38
Deduce Attribute Value from Rules......Page 39
Negation......Page 40
Starting the Inference......Page 41
English-like Rules......Page 42
Exercises......Page 44
Value of Explanations to the User......Page 45
Explanation in Clam......Page 46
Tracing......Page 48
How Explanations......Page 49
Why Questions......Page 52
Native Prolog Systems......Page 53
Exercises......Page 56
Production Systems......Page 57
Using Oops......Page 59
Implementation......Page 62
Enhancements......Page 66
Generating the conflict set......Page 67
Time stamps......Page 68
Changes in the Rules......Page 69
Implementing LEX......Page 70
MEA......Page 72
Exercises......Page 73
Frames......Page 75
Data Structure......Page 76
The Manipulation Predicates......Page 78
Using Frames......Page 84
Exercises......Page 85
Instances......Page 87
Rules for frinsts......Page 89
Adding Prolog to Foops......Page 90
Room Configuration......Page 91
Furniture frames......Page 92
Frame Demons......Page 93
Initial Data......Page 94
Input Data......Page 95
The Rules......Page 96
Output Data......Page 99
A Sample Run......Page 100
Exercises......Page 101
Backward Chaining Indexes......Page 103
Rete Match Algorithm......Page 104
Network Nodes......Page 105
Network Propagation......Page 106
Example of Network Propagation......Page 107
Performance Improvements......Page 109
The Rete Graph Data Structures......Page 110
Propagating Tokens......Page 111
The Rule Compiler......Page 113
Integration with Foops......Page 118
Exercises......Page 119
Developer's Interface to Windows......Page 121
High-Level Window Implementation......Page 124
Inheritance......Page 125
Low-Level Window Implementation......Page 127
Exercises......Page 130
CVGEN......Page 131
Rule for parameters......Page 132
Rules for derived information......Page 133
Default rules......Page 134
Static information......Page 135
Inference Engine......Page 136
Explanations......Page 137
Environment......Page 138
AIJMP......Page 139
Exercises......Page 140
The Sales Advisor Knowledge Base......Page 141
Objectives - Benefits - Features......Page 142
Competitive Analysis......Page 143
User Queries......Page 144
The Inference Engine......Page 145
User Interface......Page 146
Exercises......Page 148
The Problem......Page 149
The Cube......Page 150
High Level Rules......Page 152
Improving the State......Page 153
The Search......Page 154
User Interface......Page 155
Exercises......Page 156
Appendices - Full Source Code......Page 157
Birds Knowledgebase (birds.nkb)......Page 159
Native Shell (native.pro)......Page 163
Car Knowledgebase (car.ckb)......Page 167
Birds Knowledgebase (birds.ckb)......Page 168
Clam Shell (clam.pro)......Page 173
Build Rules (bldrules.pro)......Page 186
Room Knowledgebase (room.okb)......Page 189
Animal Knowledgebase (animal.okb)......Page 194
Oops Interpreter (oops.pro)......Page 197
Room Knowledgebase (room.fkb)......Page 203
Foops (foops.pro)......Page 210
Room Knowledgebase (room.rkb)......Page 221
Rete Compiler (retepred.pro)......Page 228
Rete Runtime (retefoop.pro)......Page 235
Windows Demonstration (windemo.pro)......Page 249
Windows (windows.pro)......Page 253
Cube Solver (rubik.pro)......Page 283
Cube Display (rubdisp.pro)......Page 296
Cube Entry (rubedit.pro)......Page 299
Move History (rubhist.pro)......Page 301
Moves and Rotations (rubmov.pro)......Page 303
Rubik Help (rubhelp.pro)......Page 306
Rubik Data (rubdata.pro)......Page 307