第1篇 概述与工具 2
第1章 人工智能概述 2
1.1 什么是人工智能 2
1.1.1 人工智能概念的一般描述 2
1.1.2 图灵测试和中文屋子 2
1.1.3 脑智能和群智能 3
1.1.4 符号智能和计算智能 4
1.2 人工智能的研究意义、目标和策略 4
1.2.1 为什么要研究人工智能 4
1.2.2 人工智能的研究目标和策略 5
1.3 人工智能的学科范畴 5
1.4 人工智能的研究内容 5
1.4.1 搜索与求解 6
1.4.2 学习与发现 6
1.4.3 知识与推理 6
1.4.4 发明与创造 6
1.4.5 感知与交流 7
1.4.6 记忆与联想 7
1.4.7 系统与建造 8
1.4.8 应用与工程 8
1.5 人工智能的研究途径与方法 8
1.5.1 心理模拟,符号推演 8
1.5.2 生理模拟,神经计算 9
1.5.3 行为模拟,控制进化 9
1.5.4 群体模拟,仿生计算 10
1.5.5 博采广鉴,自然计算 10
1.5.6 原理分析,数学建模 10
1.6 人工智能的基本技术 11
1.7 人工智能的应用 11
1.7.1 难题求解 11
1.7.2 自动规划、调度与配置 12
1.7.3 机器定理证明 12
1.7.4 自动程序设计 13
1.7.5 机器翻译 13
1.7.6 智能控制 13
1.7.7 智能管理 14
1.7.8 智能决策 14
1.7.9 智能通信 14
1.7.10 智能仿真 15
1.7.11 智能CAD 15
1.7.12 智能制造 15
1.7.13 智能CAI 15
1.7.14 智能人机接口 16
1.7.15 模式识别 16
1.7.16 数据挖掘与数据库中的知识发现 16
1.7.17 计算机辅助创新 17
1.7.18 计算机文艺创作 18
1.7.19 机器博弈 19
1.7.20 智能机器人 20
1.8 人工智能的分支领域与研究方向 20
1.9 人工智能的发展概况 21
1.9.1 人工智能学科的产生 21
1.9.2 符号主义途径发展概况 22
1.9.3 连接主义途径发展概况 23
1.9.4 计算智能异军突起 24
1.9.5 智能Agent方兴未艾 25
1.9.6 现状与发展趋势 26
习题一 26
第2章 逻辑程序设计语言PROLOG 27
2.1 基本PROLOG 27
2.1.1 PROLOG的语句 27
2.1.2 PROLOG的程序 28
2.1.3 PROLOG程序的运行机理 30
2.2 Turbo PROLOG程序设计 32
2.2.1 程序结构 33
2.2.2 数据与表达式 35
2.2.3 输入与输出 38
2.2.4 分支与循环 39
2.2.5 动态数据库 40
2.2.6 表处理与递归 41
2.2.7 回溯控制 44
2.2.8 程序举例 45
习题二 47
第2篇 搜索与求解 49
第3章 图搜索与问题求解 49
3.1 状态图搜索 49
3.1.1 状态图 49
3.1.2 状态图搜索 50
3.1.3 穷举式搜索 53
3.1.4 启发式搜索 56
3.1.5 加权状态图搜索 58
3.1.6 A算法和A算法 59
3.1.7 状态图搜索策略小结 61
3.2 状态图搜索问题求解 61
3.2.1 问题的状态图表示 62
3.2.2 状态图问题求解程序举例 65
3.3 与或图搜索 71
3.3.1 与或图 71
3.3.2 与或图搜索 73
3.3.3 启发式与或树搜索 74
3.4 与或图搜索问题求解 78
3.4.1 问题的与或图表示 78
3.4.2 与或图问题求解程序举例 79
3.5 博弈树搜索 81
3.5.1 博弈树的概念 81
3.5.2 极小极大分析法 81
3.5.3 α-β剪枝技术 83
习题三 84
第4章 基于遗传算法的随机优化搜索 86
4.1 基本概念 86
4.2 基本遗传算法 88
4.3 遗传算法应用举例 89
4.4 遗传算法的特点与优势 92
习题四 92
第3篇 知识与推理 95
第5章 基于谓词逻辑的机器推理 95
5.1 一阶谓词逻辑 95
5.1.1 谓词、函数、量词 95
5.1.2 谓词公式 96
5.1.3 谓词逻辑中的形式演绎推理 98
5.2 归结演绎推理 102
5.2.1 子句集 102
5.2.2 命题逻辑中的归结原理 104
5.2.3 替换与合一 106
5.2.4 谓词逻辑中的归结原理 109
5.3 应用归结原理求取问题答案 111
5.4 归结策略 113
5.4.1 问题的提出 113
5.4.2 几种常用的归结策略 115
5.4.3 归结策略的类型 119
5.5 归结反演程序举例 119
5.6 Horn子句归结与逻辑程序 122
5.6.1 子句的蕴含表示形式 122
5.6.2 Horn子句与逻辑程序 124
5.7 非归结演绎推理 124
5.7.1 Bledsoe自然演绎法 124
5.7.2 基于规则的演绎推理 124
5.7.3 王浩算法 124
习题五 125
第6章 基于产生式规则的机器推理 127
6.1 产生式规则 127
6.1.1 产生式规则 127
6.1.2 基于产生式规则的推理模式 128
6.2 产生式系统 128
6.2.1 系统结构 128
6.2.2 运行过程 128
6.2.3 控制策略与常用算法 129
6.2.4 程序实现&. 132
6.2.5 产生式系统与问题求解 135
习题六 137
第7章 几种结构化知识表示及其推理 138
7.1 框架 138
7.1.1 框架的概念 138
7.1.2 框架的表达能力 139
7.1.3 基于框架的推理 141
7.1.4 框架的程序语言实现 141
7.2 语义网络 142
7.2.1 语义网络的概念 142
7.2.2 语义网络的表达能力 143
7.2.3 基于语义网络的推理 147
7.2.4 语义网络的程序语言实现 147
7.3 类与对象 148
习题七 150
第8章 不确定性知识的表示与推理 151
8.1 不确定性处理概述 151
8.1.1 不确定性及其类型 151
8.1.2 不确定性知识的表示及推理 152
8.1.3 不确切性知识的表示及推理 154
8.1.4 多值逻辑 156
8.1.5 非单调逻辑 157
8.1.6 时序逻辑 157
8.2 几种经典的不确定性推理模型 157
8.2.1 确定性理论 157
8.2.2 主观贝叶斯方法 159
8.2.3 证据理论 164
8.3 基于贝叶斯网络的概率推理 169
8.3.1 什么是贝叶斯网络 169
8.3.2 用贝叶斯网络表示不确定性知识 170
8.3.3 基于贝叶斯网络的概率推理 171
8.4 基于模糊集合与模糊逻辑的模糊推理 173
8.4.1 模糊集合 173
8.4.2 模糊逻辑 175
8.4.3 模糊推理 176
习题八 180
第4篇 学习与发现 183
第9章 机器学习与知识发现 183
9.1 机器学习概述 183
9.1.1 机器学习的概念 183
9.1.2 机器学习的原理 183
9.1.3 机器学习的分类 186
9.2 符号学习 188
9.2.1 记忆学习 188
9.2.2 示例学习 189
9.2.3 决策树学习 190
9.2.4 演绎学习 198
9.2.5 类比学习 198
9.3 神经网络学习 198
9.3.1 生物神经元 198
9.3.2 人工神经元 199
9.3.3 神经网络 200
9.3.4 神经网络学习 202
9.3.5 BP网络及其学习举例 204
9.3.6 神经网络模型 206
9.4 知识发现与数据挖掘 207
9.4.1 知识发现的一般过程 208
9.4.2 知识发现的对象 208
9.4.3 知识发现的任务 210
9.4.4 知识发现的方法 211
习题九 212
第5篇 感知与交流 215
第10章 模式识别 215
10.1 模式识别概述 215
10.1.1 模式、模式类与模式识别 215
10.1.2 模式的表示 216
10.1.3 模式识别系统的工作原理 216
10.1.4 模式识别方法的分类 217
10.2 统计模式识别 218
10.2.1 距离分类法 218
10.2.2 几何分类法 219
10.2.3 概率分类法 221
习题十 222
第11章 自然语言理解 223
11.1 简单句理解 223
11.1.1 理解的实现过程 223
11.1.2 语法分析 224
11.1.3 语义分析 226
11.2 复合句理解 226
11.3 转换文法和转换网络 227
11.3.1 转换文法 228
11.3.2 转换网络 229
习题十一 230
第6篇 系统与建造 232
第12章 专家系统 232
12.1 基本概念 232
12.1.1 什么是专家系统 232
12.1.2 专家系统的特点 233
12.1.3 专家系统的类型 233
12.1.4 专家系统与基于知识的系统 234
12.1.5 专家系统与知识工程 234
12.2 系统结构 235
12.2.1 概念结构 235
12.2.2 实际结构 236
12.2.3 黑板模型 238
12.2.4 网络与分布式结构 239
12.3 实例分析 240
12.3.1 PROSPECTOR的功能与结构 240
12.3.2 知识表示 241
12.3.3 推理模型 246
12.3.4 控制策略 247
12.3.5 解释系统 248
12.4 系统设计与实现 248
12.4.1 一般步骤与方法 248
12.4.2 快速原型与增量式开发 249
12.4.3 知识获取 249
12.4.4 知识表示与知识描述语言设计 250
12.4.5 知识库与知识库管理系统设计 250
12.4.6 推理机与解释机制设计 252
12.4.7 系统结构设计 253
12.4.8 人机界面设计 254
12.5 开发工具与环境 254
12.5.1 开发工具 254
12.5.2 开发环境 256
12.6 专家系统的发展 257
12.6.1 深层知识专家系统 257
12.6.2 模糊专家系统 257
12.6.3 神经网络专家系统 258
12.6.4 大型协同分布式专家系统 258
12.6.5 网上(多媒体)专家系统 259
12.6.6 事务处理专家系统 259
习题十二 259
第13章 Agent系统 261
13.1 Agent的概念 261
13.1.1 什么是Agent 261
13.1.2 Agent的类型 262
13.2 Agent的结构 262
13.3 Agent实例——Web Agent 263
13.4 多Agent系统 263
13.4.1 多Agent系统的特征和研究内容 264
13.4.2 多Agent系统的体系结构 264
13.5 Agent的实现工具 267
13.6 Agent技术的发展与应用 267
习题十三 268
第14章 智能计算机与智能化网络 269
14.1 智能计算机 269
14.1.1 智能硬件平台和智能操作系统 269
14.1.2 LISP机和PROLOG机 270
14.1.3 神经网络计算机 270
14.1.4 智能计算机发展展望 271
14.2 智能化网络 271
14.2.1 智能网络 272
14.2.2 网络的智能化管理与控制 273
14.2.3 网上信息的智能化检索 274
习题十四 277
第15章 智能机器人 278
15.1 智能机器人的概念 278
15.2 机器人感知 278
15.3 机器人规划 279
15.4 机器人控制 280
15.5 机器人系统的软件结构 281
15.6 机器人程序设计与语言 281
15.6.1 机器人程序设计 281
15.6.2 机器人程序设计语言 282
习题十五 284
第16章 智能程序设计语言 285
16.1 综述 285
16.1.1 函数型语言 285
16.1.2 逻辑型语言 285
16.1.3 面向对象语言 286
16.1.4 混合型语言 286
16.2 函数型程序设计语言LISP 287
16.2.1 LISP的程序结构与运行机制 287
16.2.2 S-表达式 288
16.2.3 基本函数 289
16.2.4 自定义函数 292
16.2.5 程序举例 292
16.3 Visual Prolog语言简介 293
习题十六 294
上机实习指导 295
实习一 PROLOG语言编程练习 295
实习二 图搜索问题求解 296
实习三 小型专家系统设计与实现 296
中英文名词对照及索引 300
参考文献 310