前言 1
第一章 绪论 1
1.1 人工智能 1
1.1.1 什么是人工智能 1
1.1.2 什么是智能 2
1.2 人工智能的发展史 6
1.2.1 第一阶段--孕育期 6
1.2.2 第二阶段--人工智能基础技术的研究与形成 8
1.2.3 第三阶段--发展和实用化阶段 9
1.2.4 第四阶段--知识工程与专家系统 11
1.3 人工智能的研究领域 13
1.3.1 专家系统 13
1.3.2 自然语言处理 17
1.3.3 机器学习 20
1.3.4 定理证明 21
1.3.5 分布式人工智能 21
1.3.6 机器人 22
1.3.7 模式识别 23
1.3.9 计算机视觉 24
1.3.8 博弈 24
1.3.10 人工神经网络 25
习题 26
第二章 谓词演算与消解原理 27
2.1 命题演算 27
2.1.1 符号和命题 27
2.1.2 命题演算的语义 28
2.2 谓词演算 30
2.2.1 谓词的语法和命题 30
3.4 基于规则的产生式系统 32
2.2.2 谓词演算的语义 34
2.3 使用推理规则产生谓词演算表达式 38
2.3.1 推理规则 38
2.3.2 合一 40
2.3.3 合一的一个例子 43
2.4 应用:一个基于逻辑的金融投资辅助决策程序 46
2.5 消解原理 48
2.5.1 引言 48
2.5.2 为消解否证产生子句形式 49
2.5.3 消解证明过程 52
2.5.4 消解的策略和简化技术 55
2.5.5 从消解否证中提取解答 60
习题 62
第三章 知识表示 64
3.1 引言 64
3.1.1 知识 64
3.1.2 使用知识 65
3.1.3 不确定性和语义原语 66
3.1.4 模块性和理解力 67
3.1.6 陈述性与过程性表示 68
3.2 知识表示技术综述 68
3.1.5 明确知识和灵活性 68
3.2.1 逻辑表示模式 69
3.2.2 语义网络 69
3.2.3 过程表示和产生式系统 70
3.2.4 模拟或直接表示法 71
3.2.5 特性表 73
3.2.6 框架和剧本 73
3.3 逻辑表示模式 74
3.3.1 命题演算 75
3.3.2 谓词演算 76
3.3.3 逻辑表示在人工智能中的应用 77
3.3.4 小结 82
3.4.1 引言 82
3.4.2 问题求解的方法 84
3.4.3 问题求解中的搜索策略 90
3.5.1 什么是语义网络 93
3.5 语义网络 93
3.5.2 扩展的语义网络 94
3.5.3 部分语义网络 97
3.6 框架表示法 98
3.6.1 基本概念 99
3.6.2 框架的实例化以及用不同观点表示实体 102
3.6.3 类属特性,默认值和槽条件 102
3.6.4 框架结构 104
3.6.5 匹配和识别 105
3.6.7 类比推理 107
3.6.6 推理 107
3.6.8 错误和遗漏检查 108
3.6.9 过程附加 108
3.6.10 框架表示法的特点与不足 109
3.7 概念从属 109
3.7.1 引言 109
3.7.2 概念从属基本构成 110
3.7.3 概念从属示例 114
习题 115
第四章 状态空间搜索 117
4.1 图论 119
4.1.1 状态空间搜索的结构 119
4.1.2 问题的状态空间表示法 120
4.2 状态空间搜索策略 125
4.2.1 数据驱动和目标驱动的搜索 125
4.2.2 图搜索的实现 127
4.2.3 深度和广度优先搜索 129
4.3.1 逻辑的状态空间描述 135
4.3 谓词演算推理的状态空间表示法 135
4.2.4 有界深度优先搜索 135
4.3.2 与/或图 136
4.3.3 讨论 138
4.4 基于递归的搜索 145
4.4.1 递归 145
4.4.2 递归搜索 146
4.5 模式驱动搜索 147
4.6 产生式系统 153
4.6.1 定义与历史 153
4.6.2 产生式系统示例 154
4.6.3 产生式系统搜索的控制 159
4.6.4 人工智能产生式系统的优点 162
习题 163
第五章 启发式搜索 165
5.1 启发信息和估价函数 167
5.2 启发式搜索算法 169
5.2.1 局部择优搜索法(瞎子爬山法) 169
5.2.2 最好优先搜索法(有序搜索法) 170
5.2.3 启发估价函数的实现 172
5.2.4 启发式搜索与专家系统 177
5.3 启发式搜索过程的可采纳性、单调性、信息性 178
5.3.1 可采纳性 178
5.3.2 单调性 179
5.3.3 信息性 180
5.4 启发式搜索在游戏中的应用 180
5.4.1 强力搜索图上的极大极小化过程 180
5.4.2 固定层数的极大极小法 183
5.4.3 启发式搜索在一字棋游戏中的应用 184
5.4.4 a-β剪枝技术 187
5.5 复杂性问题 188
习题 190
第六章 Prolog语言 192
6.1 概述 192
6.2 Prolog语言基本概念和语法 192
6.2.1 数据结构 192
6.2.2 程序组成 194
6.2.3 Prolog语法形式描述 195
6.3.1 例化,匹配 196
6.3 Prolog系统的搜索策略 196
6.3.2 回溯 197
6.3.3 搜索策略 198
6.4 Prolog的内部谓词 201
6.4.1 比较 201
6.4.2 算术表达式求值 201
6.4.3 输入输出 201
6.4.4 文件操作 202
6.4.5 控制谓词 202
6.4.8 结构分量的建立与获得 204
6.4.6 复杂目标的建立 204
6.4.7 项的分类 204
6.4.9 子句的增、删、改 205
6.5 Prolog程序设计 206
6.5.1 表处理和集合处理 206
6.5.2 数学函数 209
6.5.3 梵塔问题 211
6.5.4 八皇后问题 212
习题 214
7.1.1 LISP语言及其PC SCHEME版本 216
7.1.2 语言分类 216
7.1 引言 216
第七章 LISP语言 216
7.1.3 LISP语言特性 217
7.2 LISP语言简介 217
7.2.1 LISP的数据结构--S-表达式 217
7.2.2 基本函数 219
7.2.3 常用的LISP系统函数 222
7.2.4 条件函数,定义函数 226
7.2.5 递归与迭代 229
7.3 LISP程序设计及在人工智能中的应用实例 233
7.3.1 LISP程序结构和用LISP语言解题 234
7.3.2 梵塔问题 234
7.3.3 水壶量水问题 236
7.3.4 皇后问题 237
7.3.5 向量程序设计 239
7.3.6 博弈 242
7.4 基于LISP的专家系统 245
7.4.1 用函数表示动物分类专家系统 246
7.4.2 用表表示动物分类专家系统 248
7.4.3 一个小型医疗诊断专家系统 250
习题 252
第八章 专家系统 254
8.1 什么是专家系统 254
8.1.1 专家系统的历史 254
8.1.2 专家系统的特性 256
8.1.3 专家系统的构造者及其工具 257
8.1.4 专家系统的优越性 258
8.2.1 知识的组织 260
8.2 如何组织专家系统 260
8.2.2 知识表示 262
8.3 专家系统与传统程序的区别 264
8.3.1 专家系统的基本特点 264
8.3.2 专家系统存在的问题 267
8.4 专家系统的应用领域 267
8.4.1 专家系统的分类和基本活动 267
8.4.2 专家系统求解的类型 272
8.5 开发专家系统的需求分析 280
8.5.1 什么情况下开发专家系统是可能的 280
8.5.2 什么情况下开发专家系统是合理的 281
8.5.3 什么情况下开发专家系统是合适的 282
8.6 建造专家系统 285
8.6.1 建造专家系统的任务 285
8.6.2 专家系统开发的阶段 287
8.7 知识获取 288
8.7.1 知识获取过程 288
8.7.2 访问专家 290
8.8 专家系统设计示例 293
8.8.1 识别食物的简单产生式专家系统 293
8.8.2 动物分类专家系统 294
习题 300
第九章 非精确性推理 301
9.1 确定性理论 301
9.1.2 MYCIN系统的推理策略 302
9.1.3 MYCIN系统的知识表示 306
9.1.4 MYCIN系统的非精确推理算法 307
9.1.1 医疗专家系统MYCIN概述 310
9.2 主观概率论 313
9.2.1 PROSPECTOR系统概述 314
9.2.3 似然推理模型 315
9.2.2 推理网络 315
习题 326
第十章 专家系统开发工具 327
10.1 专家系统开发工具的特征 327
10.1.1 应用于开发专家系统的程序设计语言 327
10.1.2 知识工程语言 328
10.2 知识工程语言M.1 329
10.2.1 M.1概述 329
10.2.2 M.1的体系结构 330
10.2.3 操作原理 331
10.2.4 M.1的特征 332
10.2.5 M.1应用领域 333
10.3 M.1的知识表示 334
10.3.1 知识库的语法 334
10.3.2 项的语法 336
10.4 M.1的推理机 340
10.4.1 概述 340
10.4.2 推理机工作过程 341
10.4.3 可信度计算 344
10.4.4 调节推理过程 346
10.5.1 微型照相顾问 348
10.5 M.1 的应用实例 348
10.5.2 交通工具顾问 352
习题 355
11.2 机器学习概述 356
11.2.1 什么是学习 356
11.5.1 归纳学习分类 356
11.1 引言 356
第十一章 机器学习 356
11.2.2 机器学习的意义 357
11.2.3 机器学习研究的发展 357
11.2.4 机器学习的目标 358
11.3 机器学习的模型、策略和方法 358
11.3.1 简单的学习模型 358
11.3.2 主要的学习策略 359
11.3.3 基本的学习方法 360
11.4 机械学习、示教学习和类比学习 361
11.4.1 机械学习 361
11.4.2 示教学习 362
11.4.3 类比学习 364
11.5 基于示例的归纳学习 365
11.5.2 示例学习基本概念 366
11.5.3 示例学习的完备性条件与一致性条件 369
11.5.4 示例学习中的噪音问题 370
11.5.5 建立示例学习系统要考虑的几个问题 370
11.6 ID系列算法 371
11.6.1 判定树 371
11.6.2 ID3算法 371
11.6.3 ID4算法 374
11.6.4 ID5R算法 375
11.6.5 ID系列算法的比较分析 379
11.7 一个基于示例的归纳学习系统 380
11.7.1 系统概述 380
11.7.2 系统的总体结构 382
11.7.3 系统的核心算法 383
11.7.4 系统运行实例 387
习题 390
第十二章 人工神经网络 390
12.2.1 什么是神经网络 391
12.1 引言 391
12.2 人工神经网络概述 391
12.2.2 脑神经信息活动的特征 392
12.2.3 神经网络研究的目的和意义 392
12.2.4 神经网络研究的发展 392
12.2.5 人工神经网络研究的局限性 394
12.3 神经网络基本模型 395
12.3.1 生物神经元的结构 395
12.3.2 M-P模型 396
12.3.3 感知机模型 397
12.3.4 Hopfield网络模型 399
12.4 神经网络的学习 400
12.4.1 “突触修正”假说 400
12.4.2 学习算法的分类 400
12.4.3 误差修正型学习 401
12.4.4 竞争型学习 402
12.4.5 赫布型学习 403
12.4.6 随机型学习 403
12.5.1 基本理论 404
12.5 误差逆传播网络 404
12.5.2 学习算法 406
12.5.3 标准误差逆传播和累积误差逆传播 407
12.5.4 全局最小和局部极小 408
12.6 自适应谐振理论 408
12.6.1 基本理论 408
12.6.2 学习算法 410
12.6.4 快速学习与慢速学习 411
12.6.5 基于ART的其他网络模型 411
12.6.3 与ART有关的定理 411
12.7 基于域理论的自适应谐振网络 412
12.7.1 概述 412
12.7.2 域理论 412
12.7.3 FTART网络基本理论 413
12.7.4 FTART学习算法 414
12.7.5 FTART网络的判别方法 415
12.7.6 FTART算法测试 416
12.7.7 运行实例 420
习题 421
参考文献 422