1 人工智能与专家系统综述 1
1.1 人工智能的定义 1
1.1.1 什么是智能 1
目录 1
1.1.2 什么是人工智能 3
1.2 人工智能的发展及应用 4
1.2.1 人工智能的萌芽 4
1.2.2 人工智能与专家系统的发展阶段 4
1.2.3 人工智能的应用领域 7
1.2.4 人工智能的分类 15
1.2.5 我国人工智能和专家系统发展概况 15
1.3.1 国外农业专家系统发展现状 16
1.3 农业专家系统的应用及发展现状 16
1.3.2 我国农业专家系统应用及发展现状 17
1.3.3 当前农业专家系统存在的问题及建议 19
1.4 专家系统的定义、特点及其类型 20
1.4.1 专家系统的定义 20
1.4.2 专家系统的一般特点 21
1.4.3 专家系统的类型 22
1.5 专家系统的结构、功能及其基本原理 24
1.5.1 专家系统的结构及基本功能 24
1.5.2 专家系统的基本原理 24
1.6.1 专家系统开发步骤 26
1.6 专家系统开发过程 26
1.6.2 专家系统开发语言和工具 28
练习题 31
2 知识表示 32
2.1 知识表示概述 32
2.1.1 知识的含义 32
2.1.2 知识表示方法 35
2.2 谓词逻辑表示法 37
2.2.1 命题与逻辑 37
2.2.2 谓词逻辑 48
2.2.3 用谓词表示知识的步骤 51
2.2.4 一阶谓词表示法的特点 56
2.3 产生式表示法 57
2.3.1 产生式基本形式 57
2.3.2 产生式系统的结构 58
2.3.3 产生式系统的特点 62
2.3.4 “规则架+规则体”规则组的知识表示 63
2.4 语义网络表示法 66
2.4.1 语义网络表示形式 68
2.4.2 语义网络基本语义关系 69
2.4.3 语义网络推理方法 71
2.4.4 语义网络表示知识的步骤 72
2.4.5 语义网络表示法的特点 73
2.5.1 框架与框架网络 74
2.5 框架表示法 74
2.5.2 框架推理的基本过程及形式 82
2.5.3 框架的不确定性匹配 84
2.5.4 框架推理步骤 85
2.5.5 框架表示法的特点 87
2.6 面向对象表示法 87
2.6.1 面向对象的知识表示 88
2.6.2 面向对象表示法的特点 91
练习题 93
3 搜索技术 95
3.1 搜索技术概述 95
3.1.2 搜索效率的评价 96
3.1.1 搜索技术分类 96
3.2 无知识(盲目)搜索 97
3.2.1 深度优先搜索 97
3.2.2 有界深度优先搜索 102
3.2.3 宽度优先搜索 106
3.2.4 一致代价搜索 109
3.3 有知识(启发式)搜索 112
3.3.1 有知识(启发式)搜索的基本概念 112
3.3.2 局部择优搜索法 120
3.3.3 全局择优搜索法 121
3.3.4 与或树的启发式搜索 124
3.3.5 α-β剪枝技术 127
练习题 130
4 推理与推理机制 132
4.1 推理概述 132
4.1.1 推理的基本概念 132
4.1.2 推理的种类 133
4.2 归结原理 137
4.2.1 谓词公式与子句集 137
4.2.2 置换与合一 141
4.2.3 归结(鲁滨逊消解)原理 143
4.3 推理的控制策略 147
4.3.1 正向推理 147
4.3.2 逆向推理 150
4.3.3 混合推理 151
4.3.4 双向推理 152
4.3.5 其他控制策略 152
4.4 基于规则推理机的实现与控制策略 154
4.4.1 数据驱动的正向链推理的实现 155
4.4.2 目标驱动的反向链推理的实现 155
4.4.3 混合驱动的双向链推理的实现 156
4.4.4 规则推理的冲突消解 156
4.5 基于框架推理机的实现与控制策略 157
4.6 基于语义网络推理机的实现与控制策略 158
4.7 基于黑板的专家系统的组织结构及控制策略 159
4.7.1 黑板模型 160
4.8 基于元知识的专家系统的组织结构及控制策略 161
4.7.2 基于黑板的专家系统的组织结构 161
4.7.3 基于黑板的专家系统的控制策略 161
练习题 163
5 PROLOG语言及其程序设计 164
5.1 PROLOG语言的快速入门 164
5.1.1 PROLOG语言的特点 164
5.1.2 Amzi PROLOG简介 165
5.1.3 Amzi!Logic Server的组成 166
5.1.4 逻辑编程 168
5.1.5 PROLOG解释器的工作过程 169
5.2.1 常量与变量 172
5.2.2 事实、查询和规则 172
5.2 Amzi PROLOG的基本语句 172
5.3 PROLOG函数、运算符及其表达式 192
5.4 PROLOG的程序机制 194
5.4.1 数据管理 194
5.4.2 递归 197
5.4.3 数据结构 204
5.4.4 联合 207
5.4.5 列表 211
5.4.6 操作符 220
5.4.7 截断 225
5.4.8 流程控制 228
5.5.1 Hanoi塔 234
5.5 PROLOG程序设计应用举例 234
5.5.2 深度搜索 237
5.5.3 广度搜索 240
练习题 241
6 不确定性推理 243
6.1 不确定性推理概述 243
6.1.1 证据的不确定性 244
6.1.2 规则的不确定性 245
6.1.3 推理的不确定性 246
6.1.4 不确定性的量度 246
6.1.5 不确定性推理方法分类 246
6.2 确定性方法 247
6.2.1 可信度的定义及其性质 248
6.2.2 确定性方法应用举例 251
6.2.3 讨论 254
6.3 基于主观概率的不确定性推理 254
6.3.1 有关概率的基本概念与计算 254
6.3.2 主观Bayes方法 258
6.3.3 主观Bayes方法应用举例 266
6.4 证据理论 272
6.4.1 识别框架 272
6.4.2 特定概率分配函数 276
6.4.3 基于特定概率分配函数的不确定性推理模型 277
6.4.4 证据理论应用举例 280
6.4.5 讨论 286
练习题 287
7 神经网络专家系统 289
7.1 神经网络专家系统的兴起和发展 290
7.2 人工神经网络基本原理 291
7.2.1 人工神经元模型 291
7.2.2 神经网络的结构及工作方式 294
7.2.3 神经网络的学习方法 295
7.3 前馈网络原理 297
7.3.1 单层前馈网络 297
7.3.2 多层前馈网络 299
7.3.3 多层前馈网络的反向传播学习算法 300
7.3.4 改进BP算法收敛速度的一些措施 305
7.4 Hopfield网络 307
7.4.1 离散Hopfield网络的结构 308
7.4.2 离散Hopfield网络的状态变化类型 308
7.4.3 串行离散Hopfield网络状态的收敛性 309
7.4.4 离散Hopfield网络作为联想存储器的学习算法 310
7.5 神经网络专家系统的知识表示与推理 311
7.5.1 神经网络专家系统的知识表示 311
7.5.2 神经网络专家系统的推理 312
7.6 基于神经网络结构学习的知识求精 313
7.6.2 初始规则集转化为初始神经网络 314
7.6.1 基于神经网络结构学习的知识求精过程 314
7.6.3 训练初始神经网络 315
7.6.4 提取规则 316
7.6.5 示例 317
7.7 遗传算法在神经网络中的应用 318
7.7.1 遗传算法的基本机理 318
7.7.2 遗传算法的求解步骤 321
7.7.3 遗传算法用于神经网络 328
练习题 330
8.1 专家系统的设计 331
8.1.1 开发专家系统的需求分析 331
8 专家系统设计与应用 331
8.1.2 知识获取 335
8.1.3 专家系统的构造者及其工具 337
8.1.4 专家系统的设计结构 338
8.1.5 专家系统的设计要素 340
8.2 专家系统应用实例 344
8.2.1 使用PROLOG开发专家系统应用实例 344
8.2.2 产生式知识表示专家系统应用实例 360
8.2.3 人工神经网络专家系统应用实例 368
练习题 377
附录1 PROXS系统代码 378
附录2 桃树栽植密度决策推理机代码 397
参考文献 401