专家系统原理与编程:英文版

专家系统原理与编程:英文版
作 者: Joseph Giarratano Gary Riley
出版社: 机械工业出版社
丛编项: 经典原版书库
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 专家系统
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  JosephC.Giarratano,美国休斯顿大学明湖分校计算机科学系教授。作为NASA的顾问,他参与了专家系统工具CLIPS的开发。另外,他发表了超过30篇研究论文并著有超过10本书。GarryD.Riley,于1984年在美国得克萨斯A&M大学获计算机科学硕士学位。他在NASA工作了11年,并为CLIPS专家系统语言开发了基于规则的特性部分。目前他居住在得克萨斯州,任职于Peoplesoft有限公司。

内容简介

本版在融合了前几个版本的理论知识和实际应用的基础上进行了改进。本书分两部分,第一部分介绍专家系统的基本理论,并对人工智能及其与专家系统的关系做了总体论述。第二部分集中介绍应用技术,包括CLIPS专家系统工具和新的面向对象语言COOL。读者将学习如何应用COOL语言通过定义规则和对象,开发一个完整的专家系统。书中每一章的最后都设计了有针对性的习题,帮助读者加强对知识的理解。 本书可作为计算机科学、管理信息系统或软件工程专业高年级本科生或研究生的教材和参考书。本书特点 覆盖面广,包括专家系统的理论知识和基于规则的应用。 内容全面更新,反映了快速发展的专家系统领域的最新趋势。 附送一个包括CLIPS程序、源代码以及其他相关文档的光盘。

图书目录

PREFACE vii

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 8

1.4 General Concepts of Expert Systems 9

1.5 Characteristics of an Expert System 12

1.6 The Development of Expert Systems Technology 14

1.7 Expert Systems Applications and Domains 20

1.8 Languages, Shells, and Tools 26

1.9 Elements of an Expert System 28

1.10 Production Systems 34

1.11 Procedural Paradigms 38

1.12 Nonprocedural Paradigms 45

1.13 Artificial Neural Systems 51

1.14 Connectionist Expert Systems and Inductive

Learning 58

1.15 The State of the Art in Artificial Intelligence 58

1.16 Summary 63

Problems 63

Bibliography 64

CHAPTER 2: The Representation of Knowledge 67

2.1 Introduction 67

2.2 The Meaning of Knowledge 69

2.3 Productions 74

2.4 Semantic Nets 78

2.5 Object-Attribute-Value Triples 82

2.6 PROLOG and Semantic Nets 83

2.7 Difficulties with Semantic Nets 88

2.8 Schemata 90

2.9 Frames 91

2.10 Difficulties with Frames 95

2.11 Logic and Sets 96

2.12 Propositional Logic 99

2.13 The First Order Predicate Logic 105

2.14 The Universal Quantifier 106

2.15 The Existential Quantifier 108

2.16 Quantifiers and Sets 109

2.17 Limitations of Predicate Logic 110

2.18 Summary 111

Problems 111

Bibliography 114

CHAPTER 3: Methods of Inference 115

3.1 Introduction 115

3.2 Trees, Lattices, and Graphs 116

3.3 State and Problem Spaces 120

3.4 AND-OR Trees and Goals 125

3.5 Deductive Logic and Syllogisms 129

3.6 Rules of Inference 136

3.7 Limitations of Propositional Logic 144

3.8 First-Order Predicate Logic 146

3.9 Logic Systems 148

3.10 Resolution 152

3.11 Resolution Systems and Deduction 154

3.12 Shallow and Causal Reasoning 157

3.13 Resolution and First-Order Predicate Logic 1(;1

3.14 Forward and Backward Chaining 167

3.15 Other Methods of Inference 173

3.16 Metaknowledge 182

3.17 Hidden Markov Models 183

3.18 Summary 184

Problems 185

Bibliography 188

CHAPTER 4: Reasoning under Uncertainty 189

4.1 Introduction 189

4.2 Uncertainty 190

4.3 Types of Error 192

4.4 Errors and Induction 194

4.5 Classical Probability 197

4.6 Experimental and Subjective Probabilities 202

4.7 Compound Probabilities 204

4.8 Conditional Probabilities 207

4.9 Hypothetical Reasoning and Backward Induction 212

4.10 Temporal Reasoning and Markov Chains 217

4.11 The Odds of Belief 222

4.12 Sufficiency and Necessity 224

4.13 Uncertainty in Inference Chains 227

4.14 The Combination of Evidence 232

4.15 Inference Nets 240

4.16 The Propagation of Probabilities 250

4.17 Summary 255

Problems 256

Bibliography 260

CHAPTER 5: Inexact Reasoning 261

5.1 Introduction 261

5.2 Uncertainty and Rules 262

5.3 Certainty Factors 268

5.4 Dempster-Shafer Theory 279

5.5 Approximate Reasoning 294

5.6 The State of Uncertainty 342

5.7 Some Commercial Applications of Fuzzy logic 344

5.8 Summary 346

Problems 346

Bibliography 350

CHAPTER 6: Design of Expert Systems 353

6.1 Introduction 353

6.2 Selecting the Appropriate Problem 354

6.3 Stages in the Development of an Expert System 358

6.4 Errors in Development Stages 362

6.5 Software Engineering and Expert Systems 367

6.6 The Expert System Life Cycle 370

6.7 A Detailed Life Cycle Model 373

6.8 Summary 379

Problems 380

Bibliography 380

CHAPTER 7: Introduction to CLIPS 383

7.1 introduction 383

7.2 CLIPS 384

7.3 Notation 385

7.4 Fields 387

7.5 Entering and Exiting CLIPS 390

7.6 Facts 392

7.7 Adding and Removing Facts 395

7.8 Modifying and Duplicating Facts 398

7.9 The Watch Command 399

7.10 The Deffacts ConstFuct 400

7.11 The Components of a Rule 401

7.12 The Agenda and Execution 404

7.13 Commands for Manipulating Constructs 408

7.14 The Printout Command 411

7.15 Using Multiple Rules 411

7.16 The Set-Break Command 413

7.17 Loading and Saving Constructs 415

7.18 Commenting Constructs 417

7.19 Variables 417

7.20 Multiple Use of Variables 419

7.21 Fact Addresses 420

7.22 Single-Field Wildcards 422

7.23 Blocks World 424

7.24 Multifield Wildcards and Variables 430

7.25 Summary 435

Problems 436

Bibliography 441

CHAPTER 8: Advanced Pattern Matching 443

8.1 Introduction 443

8.2 Field Constraints 443

8.3 Functions and Expressions 447

8.4 Summing Values Using Rules 451

8.5 The Bind Function 453

8.6 I/O Functions 454

8.7 The Game of Sticks 461

8.8 Predicate Functions 463

8.9 The Test Conditional Element 464

8.10 The Predicate Field Constraint 466

8.11 The Return Value Field Constraint 467

8.12 The Sticks Program 469

8.13 The OR Conditional Element 469

8.14 The AND Conditional Element 472

8.15 The NOT Conditional Element 473

8.16 The EXISTS Conditional Element 476

8.17 The FORAI_L Conditional Element 479

8.18 The LOGICAL Conditional Element 481

8.19 Summary 485

Problems 486

CHAPTER 9: Modular Design, Execution Control, and

Rule Efficiency 495

9.1 Introduction 495

9.2 Deftemplate Attributes 495

9.3 Salience 504

9.4 Phases and Control Facts 507

9.5 Misuse of Salience 512

9.6 The Defmodule Construct 514

9.7 Importing and Exporting Facts 518

9.8 Modules and Execution Control 522

9.9 The Rete Pattern-Matching Algorithm 530

9.10 The Pattern Network 533

9.11 The Join Network 536

9.12 The Importance of Pattern Order 539

9.13 Ordering Patterns for Efficiency 545

9.14 Multifield Variables and Efficiency 546

9.15 The Test CE and Efficiency 547

9.16 Built-In Pattern-Matching Constraints 549

9.17 General Rules versus Specific Rules 549

9.18 Simple Rules versus Complex Rules 551

9.19 Summary 554

Problems 555

Bibliography 562

CHAPTER 10: Procedural Programming 563

10.1 Introduction 563

10.2 Procedural Functions 563

10.3 The Deffunction Construct 571

10.4 The Defglobal Construct 582

10.5 The Defgenedc and Defmethod Constructs 590

10,6 Procedural Constructs and Defmodules 608

10.7 Useful Commands and Functions 610

10.8 Summary 617

Problems 618

CHAPTER 11: Classes, Instances, and Message-Handlers 623

11.1 Introduction 623

11.2 The Defclass Construct 623

11.3 Creating Instances 625

11.4 System-Defined Message-Handlers 626

11.5 The Definstances Construct 628

11.6 Classes and Inheritance 629

11.7 Object Pattern Matching 638

11.8 User-Defined Message-Handlers 650

11.9 Slot Access and Handler Creation 656

11.10 Before, After, and Around Messsage-Handlers 659

11.11 Instance Creation, Initialization, Handlers and Deletion Message-Handlers 677

11.12 Modifying and Duplicating Instances 680

11.13 Classes and Generic Functions 684

11.14 Instance Set Ouery Functions 685

11.15 Multiple Inheritance 690

11.16 Defclasses and Defmodules 697

11.17 Loading and Saving Instances 699

11.18 Summary 700

Problems 702

CHAPTER 12: Expert System Design Examples 705

12.1 Introduction 705

12.2 Certainty Factors 705

12.3 Decision Trees 710

12.4 Backward Chaining 724

12.5 A Monitoring Problem 736

12.6 Summary 755

Problems 756

Bibliography 757

APPENDIXES 759

APPENDIX A Some Useful Equivalences 759

APPENDIX B Some Elementary Quantifiers and

Their Meanings 760

APPENDIX C Some Set Properties 761

APPENDIX D CLIPS Support Information 762

APPENDIX E CLIPS Commands and Functions Summary 763

APPENDIX F CLIPS BNF 785

APPENDIX G Software Resources 793

index 827