第1章 人工智能概述 1
1.1 人工智能的概念 1
1.1.1 什么是人工智能 1
1.1.2 为什么要研究人工智能 1
1.1.3 人工智能的目标 2
1.2 人工智能的研究途径与方法 3
1.2.1 结构模拟,神经计算 3
1.2.2 功能模拟,符号推演 3
1.2.3 行为模拟,控制进化 4
1.3 人工智能的分支领域 4
1.3.1 基于脑功能模拟的领域划分 4
1.3.2 基于实现技术的领域划分 8
1.3.3 基于应用领域的领域划分 8
1.3.4 基于应用系统的领域划分 12
1.3.5 基于计算机系统结构的领域划分 13
1.3.6 基于实现工具与环境的领域划分 14
1.4 人工智能的基本技术 14
1.4.1 推理技术 14
1.4.2 搜索技术 15
1.4.3 知识表示与知识库技术 15
1.4.4 归纳技术 16
1.4.5 联想技术 16
1.5 人工智能的发展概况 16
1.5.1 人工智能学科的产生 16
1.5.2 符号主义途径发展概况 17
1.5.3 连接主义途径发展概况 18
1.5.4 当前发展趋势 20
1.5.5 我国人工智能发展简况 20
习题一 21
2.1.2 逻辑型语言 22
2.1.1 函数型语言 22
第2章 人工智能程序设计语言 22
2.1 综述 22
2.1.3 面向对象语言 23
2.1.4 混合型语言 23
2.2 函数型程序设计语言LISP 24
2.2.1 LISP的程序结构与运行机制 24
2.2.2 S-表达式 25
2.2.3 基本函数 26
2.2.4 自定义函数 29
2.2.5 程序举例 29
2.3 逻辑型程序设计语言PROLOG 30
2.3.1 PROLOG的语句 30
2.3.2 PROLOG程序 31
2.3.3 PROLOG程序的运行机理 33
2.4 Turbo PROLOG程序设计 35
2.4.1 Turbo PROLOG的程序结构 36
2.4.2 Turbo PROLOG的数据与表达式 38
2.4.3 输入与输出 41
2.4.4 分支与循环 42
2.4.5 动态数据库 44
2.4.6 表处理与递归 44
2.4.7 回溯控制 47
2.4.8 程序举例 48
2.5 面向对象程序设计语言Smalltalk 51
2.5.1 基本概念 52
2.5.2 基本对象 53
2.5.3 消息模式 53
2.5.4 消息表达式 54
2.5.7 程序流程控制 55
2.5.6 程序块 55
2.5.5 消息表达式序列——语句 55
2.5.8 类库 56
2.5.9 类定义 57
2.5.10 继承 58
2.5.11 Smalltalk的程序结构和运行机理 59
习题二 62
第3章 基于谓词逻辑的机器推理 63
3.1 一阶谓词逻辑 63
3.1.1 谓词、函数、量词 63
3.1.2 谓词公式 64
3.1.3 谓词逻辑中的形式演绎推理 66
3.2 归结演绎推理 70
3.2.1 子句集 70
3.2.2 命题逻辑中的归结原理 72
3.2.3 替换与合一 74
3.2.4 谓词逻辑中的归结原理 77
3.3 应用归结原理求取问题答案 79
3.4 归结策略 81
3.4.1 问题的提出 81
3.4.2 几种常用的归结策略 83
3.4.3 归结策略的类型 87
3.5 归结反演程序举例 88
3.6 Horn子句归结与逻辑程序 90
3.6.1 子句的蕴含表示形式 90
3.6.2 Horn子句与逻辑程序 91
3.7 非归结演绎推理 92
3.7.1 Bledsoe自然演绎法 92
3.7.2 基于规则的演绎推理 92
3.7.3 王浩算法 92
习题三 93
第4章 图搜索技术 95
4.1 状态图搜索 95
4.1.1 状态图 95
4.1.2 状态图搜索 96
4.1.3 穷举式搜索 99
4.1.4 启发式搜索 101
4.1.5 加权状态图搜索 103
4.1.6 启发式图搜索的A算法和A*算法 105
4.1.7 状态图搜索策略小结 106
4.2 状态图问题求解 106
4.2.1 问题的状态图表示 106
4.2.2 状态图问题求解程序举例 110
4.3 与或图搜索 117
4.3.1 与或图 117
4.3.2 与或图搜索 119
4.3.3 启发式与或树搜索 120
4.4 与或图问题求解 124
4.4.1 问题的与或图表示 124
4.4.2 与或图问题求解程序举例 125
4.5 博弈树搜索 127
4.5.1 博弈树的概念 127
4.5.2 极小极大分析法 127
4.5.3 α-β剪枝技术 129
习题四 130
第5章 产生式系统 132
5.1 产生式规则 132
5.1.1 产生式规则 132
5.1.2 基于产生式的推理模式 133
5.2 产生式系统 133
5.2.1 产生式系统的组成 133
5.2.3 控制策略与常用算法 134
5.2.2 产生式系统的运行过程 134
5.3 产生式系统与图搜索 138
5.4 产生式系统的应用 139
5.5 产生式系统的程序实现 139
5.5.1 产生式规则的程序语言实现 139
5.5.2 规则库的程序实现 141
5.5.3 动态数据库的程序实现 141
5.5.4 推理机的程序实现 141
习题五 142
第6章 知识表示 143
6.1 知识及其表示 143
6.1.1 知识的概念 143
6.1.2 知识表示 144
6.2.1 框架的概念 145
6.2 框架 145
6.1.3 知识表示的语言实现 145
6.2.2 框架的表达能力 147
6.2.3 基于框架的推理 148
6.2.4 框架的程序语言实现 149
6.3 语义网络 150
6.3.1 语义网络的概念 150
6.3.2 语义网络的表达能力 151
6.3.3 基于语义网络的推理 154
6.3.4 语义网络的程序语言实现 154
6.4 面向对象知识表示 155
习题六 157
第7章 不确定性处理 159
7.1 不确定性及其类型 159
7.2 不确定性知识的表示 160
7.2.1 随机性知识的表示 160
7.2.2 模糊性知识的表示 162
7.2.3 模糊集合与模糊逻辑 163
7.2.4 多值逻辑 165
7.2.5 非单调逻辑 165
7.2.6 时序逻辑 166
7.3 不确定性推理的一般模式 166
7.4 确定性理论 167
7.5 证据理论 168
7.5.1 基本概念 168
7.5.2 基于证据理论的不确定性推理 171
7.6 模糊推理 173
7.6.1 语言变量,语言值 173
7.6.2 用模糊(关系)集合表示模糊规则 173
7.6.3 模糊关系合成 174
7.6.4 基于关系合成的模糊推理 175
7.6.5 模糊推理的应用与发展 176
习题七 177
第8章 专家系统 179
8.1 专家系统的概念 179
8.1.1 什么是专家系统 179
8.1.2 专家系统的特点 180
8.1.3 专家系统的类型 180
8.1.4 专家系统与知识系统 181
8.1.5 专家系统与知识工程 181
8.1.6 专家系统与人工智能 182
8.2 专家系统的结构 182
8.2.1 概念结构 182
8.2.2 实际结构 183
8.2.3 分布式结构 185
8.2.4 黑板模型 185
8.3.2 专家系统的应用 187
8.3.1 专家系统的意义 187
8.3 专家系统的应用与发展概况 187
8.3.3 专家系统的发展概况 188
8.4 专家系统实例 192
8.4.1 PROSPECTOR的功能与结构 192
8.4.2 知识表示 193
8.4.3 主观贝叶斯推理模型 198
8.4.4 控制策略 203
8.4.5 解释系统 204
8.5 专家系统设计与实现 205
8.5.1 一般步骤与方法 205
8.5.2 快速原型与增量式开发 206
8.5.3 知识获取 206
8.5.4 知识表示与知识描述语言设计 207
8.5.5 知识库与知识库管理系统设计 207
8.5.6 推理机与解释功能设计 209
8.5.7 系统结构设计 210
8.5.8 人机界面设计 211
8.6 专家系统开发工具与环境 211
8.6.1 专家系统开发工具 211
8.6.2 专家系统开发环境 213
8.7 新一代专家系统研究 214
8.7.1 深层知识专家系统 214
8.7.2 模糊专家系统 214
8.7.3 神经网络专家系统 215
8.7.4 大型协同分布式专家系统 216
8.7.5 网上(多媒体)专家系统 216
8.7.6 事务处理专家系统 216
习题八 216
9.1 符号学习 218
9.1.1 记忆学习 218
第9章 机器学习 218
9.1.2 传授学习 219
9.1.3 演绎学习 220
9.1.4 类比学习 220
9.1.5 示例学习 220
9.1.6 发现学习 222
9.1.7 解释学习 223
9.2 神经网络学习 224
9.2.1 生物神经元 225
9.2.2 人工神经元 225
9.2.3 神经网络 226
9.2.4 神经网络学习 228
9.2.5 BP网络及其学习举例 230
9.2.6 神经网络模型 232
习题九 234
10.1.1 理解的实现过程 235
第10章 自然语言理解 235
10.1 简单句理解 235
10.1.2 语法分析 236
10.1.3 语义分析 238
10.2 复合句理解 239
10.3 转换文法和转换网络 240
10.3.1 转换文法 240
10.3.2 转换网络 241
习题十 242
上机实习指导 243
实习一 PROLOG语言编程练习 243
实习二 图搜索问题求解 244
实习三 小型专家系统(原型)设计 244
名词索引 248
主要参考文献 257