第1章 绪论 1
1.1 人工智能 1
1.1.1 什么是人工智能 1
1.1.2 什么是自然智能 2
1.2 人工智能的发展史 3
1.2.1 第一阶段——孕育期(1956年以前) 3
1.2.2 第二阶段——人工智能基础技术的研究和形成(1956—1970年) 5
1.2.3 第三阶段——发展和实用化阶段(1971—1980年) 5
1.2.4 第四阶段——知识工程与专家系统(1980年至今) 8
1.3 人工智能的研究领域 9
1.3.1 专家系统 9
1.3.2 自然语言处理 9
1.3.3 机器学习 10
1.3.5 分布式人工智能 11
1.3.4 定理证明 11
1.3.6 机器人 12
1.3.7 模式识别 13
1.3.8 博弈和游戏 14
1.3.9 计算机视觉 14
1.3.10 人工神经网络 15
习题1 15
第2章 知识表达技术 16
2.1 知识的概念与含义 16
2.2 知识表达技术概述 16
2.2.1 知识类型 17
2.2.2 知识模型变换 17
2.3 状态空间表达 18
2.3.1 状态空间表达法的概念 18
2.3.2 状态空间表达法的例子 19
2.4.2 与/或图表达法的例子 20
2.4 与/或图表达法 20
2.4.1 与/或图表达法的概念 20
2.5 产生式系统 22
2.5.1 产生式系统的基本结构 22
2.5.2 产生式系统的表示 24
2.6 知识的逻辑表达方法 27
2.6.1 命题逻辑 28
2.6.2 谓词逻辑 31
2.6.3 一阶谓词逻辑表达方法 32
2.6.4 谓词逻辑表达法的特性和应用 34
2.7 语义网络 35
2.7.1 语义网络的概念和特性 35
2.7.2 语义网络的知识表示 36
2.8 框架表达法 41
2.8.1 框架的构成 41
2.8.2 框架系统与产生式系统的结合 45
2.9 特征表表达法 47
2.10 面向对象的表示 48
2.10.1 对象、消息和方法 48
2.10.2 类、类层次和继承性 50
2.10.3 面向对象的知识表示与语义网络、框架系统的比较 51
习题2 51
第3章 问题求解方法 54
3.1 状态空间搜索概述 54
3.1.1 状态图 54
3.1.2 问题的状态空间的图描述 54
3.1.3 将问题求解定义为状态空间搜索 56
3.1.4 搜索的基本概念 58
3.2 盲目的图搜索 60
3.2.1 搜索策略概述 60
3.2.2 回溯策略 61
3.2.3 宽度优先搜索 64
3.2.4 深度优先搜索 65
3.2.5 图搜索 67
3.3 启发式图搜索 69
3.3.1 启发式策略 69
3.3.2 启发信息和估价函数 71
3.3.3 启发式图搜索法——A及A*搜索算法 73
3.3.4 A*搜索算法的讨论 75
3.4 与/或图搜索 77
3.4.1 与/或图的概念 77
3.4.2 AO及AO*搜索算法 79
3.4.3 博弈树搜索 83
3.5 局部搜索算法 90
3.6.1 固体退火过程 93
3.6 模拟退火算法 93
3.6.2 模拟退火算法 94
3.6.3 参数的确定 96
3.6.4 应用举例 99
3.7 遗传算法 100
3.7.1 生物进化与遗传算法 100
3.7.2 遗传算法的实现问题 103
3.8 约束满足法 106
习题3 109
第4章 基本推理技术 112
4.1 推理技术概述 112
4.1.1 推理的概念和类型 112
4.1.2 推理的控制策略 115
4.2 归结反演系统 118
4.2.1 归结原理 118
4.2.2 归结反演 122
4.2.3 归结反演的控制策略 124
4.2.4 应用归结反演求取问题的答案 125
4.3 基于规则的演绎推理 128
4.3.1 正向演绎推理 128
4.3.2 反向演绎推理 132
4.3.3 双向演绎推理 135
习题4 136
第5章 不精确推理 137
5.1 概述 137
5.2 概率方法 139
5.2.1 概率论基础 139
5.2.2 概率推理模型 140
5.3 主观Bayes方法 142
5.3.1 不确定性的表示 142
5.3.2 主观Bayes方法推理的基本算法 144
5.4 可信度方法 149
5.4.1 基于可信度的不确定性表示 149
5.4.2 可信度方法推理的基本算法 151
5.5 模糊推理 153
5.5.1 模糊理论基础 154
5.5.2 语言变量及模糊推理 157
习题5 158
第6章 PROLOG语言 160
6.1 PROLOG语言概述 160
6.1.1 PROLOG语言的发展 160
6.1.2 PROLOG语言的特点 160
6.2 PROLOG语言的结构 161
6.2.1 数据结构 161
6.2.2 程序结构 163
6.3.1 比较类 164
6.3 PROLOG语言的内部谓词 164
6.3.2 表达式类 165
6.3.3 输入输出类 165
6.3.4 文件操作类 165
6.3.5 控制谓词类 166
6.3.6 复杂目标类 166
6.3.7 项类 166
6.3.8 结构分量类 167
6.3.9 项维护类(动态数据库) 167
6.4 PROLOG语言的搜索策略 168
6.4.1 例化与匹配 168
6.4.2 回溯控制 169
6.4.3 搜索策略 170
6.5 谓词!的讨论 172
6.5.1 谓词!的作用 172
6.5.2 用法及举例 174
6.6 PROLOG程序设计 177
6.6.1 数学函数 177
6.6.2 八皇后问题 179
6.6.3 专家系统示例 180
6.7 PROLOG语言与C语言的连接 182
6.7.1 语言条件 183
6.7.2 外部谓词说明 183
6.7.3 参数传递 183
6.7.4 外部C语言子程序 184
6.7.5 两个限制 185
习题6 186
第7章 专家系统 188
7.1 专家系统的定义与分类 188
7.1.1 专家系统的定义与特点 188
7.1.2 专家系统的类型 190
7.2.1 专家系统的一般结构 193
7.2 专家系统的结构与工作原理 193
7.2.2 专家系统的工作原理 194
7.3 知识获取 196
7.3.1 知识获取的任务 197
7.3.2 知识获取的模式 198
7.4 专家系统的建立 199
7.4.1 适于专家系统求解的问题 199
7.4.2 专家系统的设计原则与开发步骤 200
7.4.3 专家系统的评价 203
7.5 专家系统实例 204
7.5.1 动物识别专家系统 204
7.5.2 医学专家系统——MYCIN 207
7.5.3 地质勘探专家系统——PROSPECTOR 214
7.6.2 骨架系统 217
7.6 专家系统的开发工具 217
7.6.1 用于开发专家系统的程序设计语言 217
7.6.3 通用型知识表达语言 220
7.6.4 专家系统开发环境 221
习题7 222
第8章 机器学习 223
8.1 机器学习概述 223
8.1.1 机器学习的基本概念 223
8.1.2 机器学习的主要策略 224
8.1.3 机器学习系统的基本结构 224
8.1.4 机器学习系统的主要特性 226
8.2 机械学习 228
8.2.1 机械学习模式及主要问题 228
8.2.2 机械学习应用举例 230
8.3.1 示例学习模型 231
8.3 示例学习 231
8.3.2 示例学习的一般过程 233
8.3.3 示例表示 235
8.3.4 示例复用 236
8.3.5 示例保存 237
8.4 类比学习 238
8.4.1 类比学习的概念 238
8.4.2 类比学习的表示与求解 239
8.5 几种类比学习系统介绍 241
8.5.1 转换类比学习 241
8.5.2 派生类比学习 245
8.5.3 因果关系类比学习 246
8.5.4 联想类比学习 248
8.6.1 概述 249
8.6 归纳学习 249
8.6.2 归纳学习的一般模式 250
8.6.3 类型定义 251
8.6.4 结构归纳学习及示例 252
8.6.5 基于决策树的归纳学习方法 255
习题8 258
第9章 人工神经网络 259
9.1 神经网络概述 259
9.2 人工神经元模型 260
9.2.1 神经元模型 260
9.2.2 神经网络结构及工作方式 261
9.3 神经网络的学习方法 263
9.3.1 学习方式 263
9.3.2 学习规则 263
9.3.3 学习与自适应 264
9.4.1 前馈神经网络结构 265
9.4 前馈神经网络 265
9.4.2 利用BP算法进行网络训练 266
9.5 Hopfield神经网络 272
9.5.1 神经联想记忆 272
9.5.2 Hopfield网络 273
9.5.3 Hopfield网络的一个范例 277
9.6 Kohonen自组织神经网络 279
习题9 281
第10章 人工智能游戏 282
10.1 计算机游戏中的人工智能 282
10.2 游戏编程中的人工智能 283
10.3 游戏中的移动 283
10.3.1 环境和空间 284
10.3.2 游戏世界的类型 285
10.3.3 处理移动 287
10.3.4 假设 288
10.3.5 测试条件 288
10.3.6 导航的技巧 288
10.3.7 游戏中的机器人及其移动 289
10.3.8 仿生机器人的自主导航 289
10.3.9 移动的标准 290
10.3.10 实例研究 291
10.4 实验用平台FEAR 291
10.4.1 技术概述 292
10.4.2 外部接口 293
10.4.3 模块 293
10.4.4 灵活的结构 294
10.4.5 创建一个仿生机器人 294
习题10 294
参考文献 295