专家系统原理与编程(第3版)(英文影印版)
作者 : (美)Joseph Giarratano,Gary Riley
丛书名 : 经典原版书库
出版日期 : 2002-09-01
ISBN : 7-111-10844-2
定价 : 59.00元
教辅资源下载
扩展信息
语种 : 英文
页数 : 612
开本 : 16开
原书名 : Expert Systems Principles and Programming
原出版社:
属性分类: 教材
包含CD :
绝版 : 已绝版
图书简介

本书讨论了专家系统理论及使用CLIPS的实际应用。CLIPS是一种广泛用于政府、工业及教育界的专家系统构架语言。本书前半部分(第1-6章)说明了专家系统的基础理论,包括知识表达、推理方法、不确定推理和不精确推理(模糊逻辑)。后半部分(第7-12章)介绍了如何使用CLIPS编程语言进行基于规则的专家系统编程,其完整的源代码、PC和Macintosh机上的可执行文件、参考手册及示例程序均在本书所附的光盘上,因而可以提供给读者一本完备的书籍和面向计算机科学、工程和CIS/MIS专业人士的光盘,其中包括了理解和实施专家系统所需要的概念背景和编程工具。

图书前言

Expert systems have experienced tremendous growth and popularity since their commercial introduction in the early 1980s. Today, expert systems are used in business, science, engineering, manufacturing, and many other fields.
  This book is meant to educate students about expert systems theory and programming. The material is written at the upper-division/graduate level suitable for majors in computer science, computer information systems, engineering, and other fields who are interested in expert systems. New terminology is shown in boldface and immediately explained. Numerous examples and references help clarify the meaning of the text and provide guidance for supplementary reading.
  Expert Systems: Principles and Programming is divided into two parts. Chapters 1-6 cover the theory behind expert systems and how they fit into the scope of compute science; that is the logic, probability, data structures, AI, and other topics that form the theory of expert systems. Chapters 7-12 cover programming in expert systems. While a previous course in artificial intelligence (AI) is helpful, this-book provides a self contained introduction to AI topics that are appropriate for expert systems.
  We have tried to explain the theory behind expert systems so that the student may make an informed decision regarding the appropriate use of expert system technology. The important point we emphasize is that like any other tool, expert systems have both advantages and disadvantages. The theory also explains how expert systems relate to other programming methods, such as conventional programming. Another reason for discussing theory is to prepare the student to read current research papers in expert systems. Because expert systems draw from so many diverse fields, it is difficult for a beginner to read papers without some grounding in theory.
  The second part of this book is an introduction to the CLIPS expert system tool. This part is a practical introduction to expert system programming that serves to reinforce and clarify the theoretical concepts developed in the first part. As with the theory part of the book, the programming part can be understood by students with some programming experience in a high-level language. Students learn the practical problems associated with expert system development using CLIPS, a modern, powerful expert system tool developed by NASA at the Johnson Space Center. Today, CLIPS is used for real-world projects in government, business, and industry. It is available on virtually every type of computer including IBM-PC and clones, VAX, HP, Sun, Macintosh, and Cray. Code developed in CLIPS runs very fast and is very portable. The CD-ROM included with this book contains CLIPS executables for MS-DOS, Windows 3.1/Windows 95, and MacOS; the CLIPS Reference Manual and CLIPS User's Guide; and the C source code for CLIPS.
  Some expert systems courses include a term project. A project is an excellent way to develop skills in expert systems. Students usually complete small expert systems of 50 to 150 rules in a semester project of their choice. A few projects that have been done by students using CLIPS include automobile diagnosis, taxi scheduling, Personnel scheduling, computer network management, weather forecasting, stock market prediction, consumer buying advice, and diet advice.
The suggested plan for a one-semester course is as follows.
  1. Cover Chapter 1 to provide a quick introduction to expert systems. In particular, assign Problems 1, 2, and 3.
  2. Cover Chapters 7-10 to introduce the syntax of CLIPS. It is helpful for students to recode Problem 2 of Chapter 1 to contrast the expert system approach with the language they originally used in Chapter 1. This contrast is very useful in pointing out the differences between a rule-based language like CLIPS and LISP, PROLOG, or whatever the original language used for Problem 2.
  3. Chapters 11 and 12 may be covered for a stronger programming emphasis in the course. Chapter 11, on efficiency in rule-based languages, is not essential to an introductory course. It may be discussed if there is interest in building large expert systems or if efficiency is important. Chapter 12 presents a collection of topics that illustrate interesting problems solved using CLIPS.
  Alternatively, after Chapter 10 the instructor may return to the theory section. If students have strong backgrounds in logic and PROLOG, most of Chapters 2 and 3 may be skipped. Students who have had a LISP-based introductory AI course or none at all will benefit from Chapters 2 and 3 if a strong emphasis on logic and the fundamental theory of expert systems is desired. If students have strong backgrounds in probability and statistics, the material in Chapter 4 up to Section 4. 11 can be skipped.
  4. Sections 4.11 to the end of Chapter 4 and Chapter 5 discuss advanced topics in expert systems concerning methods of dealing with uncertainty. These topics include probabilistic inference, certainty factors, Dempster-Shafer theory and fuzzy theory. Students wiIl gain an understanding of these methods in sufficient detail so they can read current papers in the field and start doing research, if desired.
  5. Chapter 6 discusses the software engineering of expert systems and is meant for those students planning to work on large expert systems. It is not necessary to discuss this chapter before assigning term projects. In fact, it would be best to cover this chapter last so that the student can appreciate all the factors that go into building a quality expert system.
  A manual with solutions to the odd-numbered problems and some of the evennumbered programs and another manual of the tables and figures contained in the book suitable for viewgraphs is available from the publisher.
  
Contributors to CLIPS
  We'd like to thank all of the People who contributed in one way or another to the success of CLIPS. As with any large Project, CLIPS is the result of the efforts of numerous people. The primary contributors have been: Robert Savely, Chief Scientist of Advanced Software Technology at JSC, who conceived the project and provided overall direction and support; Chris Culbert, Branch Chief of the Software Technology Branch, who managed the project and wrote the original M Reference Manual; Gary Riley, who designed and developed the rule-based portion of CLIPS, co-authored the CLIPS Reference Manual and CLIPS Architecture Manual, and developed the Macintosh interface for CLIPS; Brian Donnell, who designed and developed the CLIPS Object-Oriented Language (COOL), coauthored the CLIPS Reference Manual and CLIPS Architecture Manual, and developed the previous MS-DOS interfaces for CLIPS; Bebe Ly, who developed the X Window interface for CLIPS; Chris Ortiz, who developed the Windows 3.1 interface for CLIPS; Dr Joseph Giarratano of the University of Houston--Clear Lake, who wrote the CLIPS User's Guide; and Frank Lopez, who wrote the original prototype version of CLIPS.
  Many other individuals contributed to the design, development, review, and general support of CLIPS including Jack Aldridge, Carla Armstrong, Paul Baffes, Ann Baker, Stephen Baudendistel, Les Berke, Ron Berry, Tom Blinn, Marlon Boarnet, Dan Bochsler B. L. Brady, Bob Brown, Barry Cameron, Tim Cleghorn, Major Paul Condit, Major Steve Cross, Andy Cunningham, Dan Danley, Mark Engelberg, Kirt Fields, Ken Freeman, Kevin Greiner, Ervin Grice, Sharon Hecht, Patti Herrick, Mark Hoffman, Grace Hua, Gordon Johnson, Phillip Johnston, Sam Juliano, Ed Linebeny, Bowen Loftin, Linda Martin, Daniel McCoy, Teny McGregof, Becky McGuire, Scott Meadows, C. J. Melebeck, Paul Mitchell, Steve Muellen Bill Paseman, Cynthia Rathjen, Eric Raymond, Reza Razavipour, Marsha Renals, Monica Rua, Tim Saito, Gregg Swietek, Eric Taylof, James Villarreal, Lui Wang, Bob Way Jim Wescott, Charlie Wheeler, and Wes White.
  
Acknowledgements
  In writing this book, a number of People have made very helpful comments. These include Chris Culbert, Dan Bochslef, Tim Dawn, Ted Leibfried, Jack Aldridge, Bob Lea, Chet Lund, Andre de Korvin, Arian DeKock, Teny Feagin, and the anonymous reviewers. We appreciate the excellent cooperation and facilities of the Desktop Publishing Center in the AV Center at the University of Houston--Clear Lake. Thanks also to Phillip Johnston, Kwok-Bun Yue, Naveed Quraishi, Jenna Giarratano, Anthony Giantano, and Andrew Griffin, Ph.D.

图书目录

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

教学资源推荐
作者: (美)约翰 J. 克拉格, 巴里·特斯曼
作者: 周丽芳 李伟生 黄颖 编著
作者: [中] 史斌(Bin Shi) [美] S.S.艾扬格(S.S.Iyengar)著
作者: [美]马克·W. 斯庞(Mark W. Spong),[美]赛斯·哈钦森(Seth Hutchinson),[美]M. 维德雅萨加(M. Vidyasagar) 著
参考读物推荐
作者: [法]吕克·若兰(Luc Jaulin) 著
作者: (美)Drew Conway  John Myles White 著
作者: 索信达控股 邵平 杨健颖 苏思达 等 著