第一部分 人工智能 3
第1章 绪论 3
1.1 什么是人工智能 3
1.1.1 类人行为:图灵测试方法 4
1.1.2 类人思考:认知模型方法 4
1.1.3 理性地思考:“思维法则”方法 5
1.1.4 理性地行动:理性智能体方法 5
1.2 人工智能的基础 6
1.2.1 哲学(公元前428年—现在) 6
1.2.2 数学(约800年—现在) 8
1.2.3 经济学(1776年—现在) 9
1.2.4 神经科学(1861年—现在) 10
1.2.5 心理学(1879年—现在) 11
1.2.6 计算机工程(1940年—现在) 12
1.2.7 控制论(1948年—现在) 13
1.2.8 语言学(1957年—现在) 14
1.3 人工智能的历史 14
1.3.1 人工智能的孕育期(1943年—1955年) 14
1.3.2 人工智能的诞生(1956年) 15
1.3.3 早期的热情,巨大的期望(1952年—1969年) 15
1.3.4 现实的困难(1966年—1973年) 17
1.3.5 基于知识的系统:力量的钥匙?(1969年—1979年) 19
1.3.6 AI成为工业(1980年—现在) 20
1.3.7 神经元网络的回归(1986年—现在) 20
1.3.8 AI成为科学(1987年—现在) 21
1.3.9 智能化智能体的出现(1995年—现在) 22
1.4 目前发展水平 22
1.5 小结 23
参考文献与历史的注释 24
习题 24
第2章 智能化智能体 26
2.1 智能体和环境 26
2.2 好的行为表现:理性的概念 28
2.2.1 性能度量 28
2.2.2 理性 28
2.2.3 全知者,学习和自主性 29
2.3 环境的本质 30
2.3.1 详细说明任务环境 30
2.3.2 任务环境的属性 32
2.4 智能体的结构 35
2.4.1 智能体程序 35
2.4.2 简单反射型智能体 36
2.4.3 基于模型的反射型智能体 38
2.4.4 基于目标的智能体 39
2.4.5 基于效用的智能体 40
2.4.6 学习智能体 40
2.5 小结 42
参考文献与历史的注释 42
习题 44
第二部分 问题求解 49
第3章 用搜索法对问题求解 49
3.1 问题求解智能体 49
3.1.1 定义明确的问题及解 51
3.1.2 把问题形式化 52
3.2 问题实例 53
3.2.1 玩具问题 53
3.2.2 现实世界问题 55
3.3 对解的搜索 56
3.4 无信息的搜索策略 59
3.4.1 广度优先搜索 59
3.4.2 代价一致搜索 61
3.4.3 深度优先搜索 61
3.4.4 深度有限搜索 62
3.4.5 迭代深入深度优先搜索 63
3.4.6 双向搜索 64
3.4.7 无信息搜索策略的比较 65
3.5 避免重复状态 66
3.6 使用不完全信息的搜索 67
3.6.1 无传感问题 68
3.6.2 偶发性问题 69
3.7 小结 70
参考文献与历史的注释 71
习题 72
第4章 有信息的搜索和探索 76
4.1 有信息的(启发式的)搜索策略 76
4.1.1 贪婪最佳优先搜索 77
4.1.2 A搜索:最小化总的估计解耗散 78
4.1.3 存储限制的启发式搜索 81
4.1.4 为了更好地搜索而学习 83
4.2 启发函数 84
4.2.1 启发函数的精确度对性能的影响 85
4.2.2 设计可采纳的启发函数 85
4.2.3 从经验里学习启发函数 87
4.3 局部搜索算法和最优化问题 88
4.3.1 爬山法搜索 88
4.3.2 模拟退火搜索 91
4.3.3 局部剪枝搜索 92
4.3.4 遗传算法 92
4.4 连续空间的局部搜索 95
4.5 联机搜索智能体和未知环境 96
4.5.1 联机搜索问题 97
4.5.2 联机搜索智能体 98
4.5.3 联机局部搜索 99
4.5.4 联机搜索的学习 101
4.6 小结 101
参考文献与历史的注释 102
习题 105
第5章 约束满足问题 108
5.1 约束满足问题 108
5.2 CSP问题的回溯搜索 111
5.2.1 变量和取值顺序 112
5.2.2 通过约束传播信息 113
5.3 约束满足问题的局部搜索 117
5.4 问题的结构 118
5.5 小结 120
参考文献与历史的注释 121
习题 123
第6章 对抗搜索 125
6.1 博弈 125
6.2 博弈中的优化决策 126
6.2.1 最优策略 127
6.2.2 极小极大值算法 128
6.2.3 多人游戏中的最优决策 128
6.3 α-β剪枝 129
6.4 不完整的实时决策 132
6.4.1 评价函数 132
6.4.2 截断搜索 134
6.5 包含几率因素的游戏 135
6.5.1 有几率节点的游戏中的局面评价 137
6.5.2 期望极小极大值的复杂度 137
6.5.3 牌类游戏 138
6.6 博弈程序的当前发展水平 139
6.7 讨论 141
6.8 小结 142
参考文献与历史的注释 143
习题 146
第三部分 知识与推理 151
第7章 逻辑智能体 151
7.1 基于知识的智能体 152
7.2 wumpus世界 153
7.3 逻辑 155
7.4 命题逻辑:一种非常简单的逻辑 158
7.4.1 语法 158
7.4.2 语义 159
7.4.3 一个简单的知识库 160
7.4.4 推理 161
7.4.5 等价、合法性和可满足性 162
7.5 命题逻辑的推理模式 163
7.5.1 归结 164
7.5.2 合取范式 166
7.5.3 归结算法 166
7.5.4 归结的完备性 167
7.5.5 前向和反向链接 168
7.6 有效的命题推理 170
7.6.1 一个完备的回溯搜索 170
7.6.2 局部搜索算法 171
7.6.3 困难的满足性问题 172
7.7 基于命题逻辑的智能体 173
7.7.1 用逻辑推理寻找陷阱和wumpus 173
7.7.2 录位置和方向 174
7.7.3 基于电路的智能体 175
7.7.4 比较 177
7.8 小结 178
参考文献与历史的注释 179
习题 181
第8章 一阶逻辑 184
8.1 表示方法的回顾 184
8.2 一阶逻辑的语法和语义 187
8.2.1 一阶逻辑的模型 187
8.2.2 符号和解释 188
8.2.3 项 189
8.2.4 原子语句 190
8.2.5 复合语句 190
8.2.6 量词 190
8.2.7 等式 193
8.3 使用一阶逻辑 193
8.3.1 一阶逻辑的断言和查询 194
8.3.2 亲属关系域 194
8.3.3 数、集合和列表 195
8.3.4 wumpus世界 197
8.4 一阶逻辑中的知识工程 199
8.4.1 知识工程的过程 199
8.4.2 电路领域 200
8.5 小结 203
参考文献与历史的注释 203
习题 204
第9章 一阶逻辑中的推理 208
9.1 命题与一阶推理 208
9.1.1 量词的推理规则 208
9.1.2 简化到命题推理 209
9.2 合一和提升 210
9.2.1 一阶推理规则 210
9.2.2 合一 211
9.2.3 存储和检索 212
9.3 前向链接 214
9.3.1 一阶确定子句 214
9.3.2 一个简单的前向链接算法 215
9.3.3 高效的前向链接 216
9.4 反向链接 219
9.4.1 反向链接算法 219
9.4.2 逻辑程序设计 220
9.4.3 逻辑程序的高效实现 221
9.4.4 冗余推理和无限循环 223
9.4.5 约束逻辑程序设计 224
9.5 归结 225
9.5.1 一阶逻辑的合取范式 226
9.5.2 归结推理规则 227
9.5.3 证明的实例 227
9.5.4 归结的完备性 229
9.5.5 处理等式 231
9.5.6 归结策略 232
9.5.7 定理证明机 233
9.6 小结 236
参考文献与历史的注释 236
习题 240
第10章 知识表示 244
10.1 本体论工程 244
10.2 类别和对象 246
10.2.1 物质成份 247
10.2.2 度量 249
10.2.3 物质和对象 249
10.3 行动、情景和事件 250
10.3.1 情景演算本体论 250
10.3.2 描述情景演算中的行动 252
10.3.3 解决表示框架问题 253
10.3.4 解决推理框架问题 254
10.3.5 时间和事件演算 255
10.3.6 一般化事件 255
10.3.7 过程 257
10.3.8 区间 258
10.3.9 流和对象 259
10.4 精神事件和精神对象 260
10.4.1 关于信度的形式理论 260
10.4.2 知识和信度 262
10.4.3 知识、时间和行动 262
10.5 因特网购物世界 263
10.6 类别的推理系统 267
10.6.1 语义网络 267
10.6.2 描述逻辑 269
10.7 缺省信息推理 270
10.7.1 开放世界和封闭世界 270
10.7.2 失败否定式和稳定模型语义 272
10.7.3 界限和缺省逻辑 273
10.8 真值维护系统 275
10.9 小结 276
参考文献与历史的注释 276
习题 281
第四部分 规划 289
第11章 规划 289
11.1 规划问题 289
11.1.1 规划问题语言 290
11.1.2 表达能力和延伸 291
11.1.3 例:航空货物运输 292
11.1.4 例:备用轮胎问题 293
11.1.5 例:积木世界 293
11.2 状态空间搜索规划 294
11.2.1 前向状态空间搜索 295
11.2.2 后向状态空间搜索 296
11.2.3 状态空间搜索的启发式 297
11.3 偏序规划 298
11.3.1 一个偏序规划的例子 301
11.3.2 无约束变量的偏序规划 303
11.3.3 偏序规划启发式 303
11.4 规划图 304
11.4.1 规划图的启发式估计 305
11.4.2 GRAPHPLAN算法 306
11.4.3 GRAPHPLAN的终止 308
11.5 命题逻辑规划 309
11.5.1 用命题逻辑描述规划问题 309
11.5.2 命题编码的复杂度 311
11.6 规划方法分析 312
11.7 小结 313
参考文献与历史的注释 314
习题 316
第12章 现实世界的规划与行动 320
12.1 时间、调度表和资源 320
12.2 分层任务网络规划 324
12.2.1 表示行动分解 325
12.2.2 为分解修改规划器 326
12.2.3 讨论 328
12.3 在非确定性领域中进行规划和行动 329
12.4 条件规划 331
12.4.1 完全可观察环境中的条件规划 331
12.4.2 部分可观察环境中的条件规划 334
12.5 执行监控和重新规划 337
12.6 持续规划 340
12.7 多智能体规划 343
12.7.1 合作:联合目标和规划 344
12.7.2 多体规划 344
12.7.3 协调机制 346
12.7.4 竞争 347
12.8 小结 347
参考文献与历史的注释 347
习题 350
第五部分 不确定知识与推理 355
第13章 不确定性 355
13.1 不确定环境下的行动 355
13.1.1 处理不确定知识 356
13.1.2 不确定性与理性决策 357
13.1.3 决策理论智能体的设计 358
13.2 基本概率符号表示 358
13.2.1 命题 358
13.2.2 原子事件 359
13.2.3 先验概率 360
13.2.4 条件概率 361
13.3 概率公理 362
13.3.1 使用概率公理 363
13.3.2 为什么概率公理是合理的 363
13.4 使用全联合分布进行推理 365
13.5 独立性 367
13.6 贝叶斯法则及其应用 368
13.6.1 应用贝叶斯法则:一个简单例子 368
13.6.2 使用贝叶斯法则:合并证据 369
13.7 重游wumpus世界 371
13.8 小结 373
参考文献与历史的注释 374
习题 375
第14章 概率推理 378
14.1 不确定域中的知识表示 378
14.2 贝叶斯网络的语义 380
14.2.1 表示全联合概率分布 380
14.2.2 贝叶斯网络中的条件独立关系 383
14.3 条件分布的有效表达 384
14.4 贝叶斯网络中的精确推理 387
14.4.1 通过枚举进行推理 387
14.4.2 变量消元算法 389
14.4.3 精确推理的复杂度 391
14.4.4 团算法 392
14.5 贝叶斯网络的近似推理 392
14.5.1 直接采样算法 392
14.5.2 马尔可夫链仿真推理 396
14.6 把概率扩展到一阶表示 398
14.7 不确定推理的其它方法 401
14.7.1 基于规则的不确定推理方法 402
14.7.2 表示无知性:Dempster-Shafer理论 403
14.7.3 表示模糊性:模糊集与模糊逻辑 404
14.8 小结 405
参考文献与历史的注释 406
习题 409
第15章 关于时间的概率推理 413
15.1 时间与不确定性 413
15.1.1 状态与观察 414
15.1.2 稳态过程与马尔可夫假设 414
15.2 时序模型中的推理 416
15.2.1 滤波和预测 417
15.2.2 平滑 419
15.2.3 寻找最可能序列 421
15.3 隐马尔可夫模型 422
15.4 卡尔曼滤波器 424
15.4.1 更新高斯分布 425
15.4.2 一个简单的一维例子 426
15.4.3 一般情况 428
15.4.4 卡尔曼滤波器的适用性 429
15.5 动态贝叶斯网络 430
15.5.1 构造动态贝叶斯网络 430
15.5.2 动态贝叶斯网络中的精确推理 433
15.5.3 动态贝叶斯网络中的近似推理 434
15.6 语音识别 437
15.6.1 语音 438
15.6.2 词语(word) 440
15.6.3 语句 441
15.6.4 搭建语音识别器 443
15.7 小结 444
参考文献与历史的注释 445
习题 447
第16章 制定简单决策 450
16.1 在不确定性环境下结合信度与愿望 450
16.2 效用理论基础 451
16.2.1 理性偏好的约束 451
16.2.2 然后就有了效用 453
16.3 效用函数 453
16.3.1 金钱的效用 454
16.3.2 效用范围和效用评估 455
16.4 多属性效用函数 457
16.4.1 优势 457
16.4.2 偏好结构和多属性效用 458
16.5 决策网络 460
16.5.1 使用决策网络表示决策问题 460
16.5.2 评价决策网络 461
16.6 信息价值 462
16.6.1 一个简单例子 462
16.6.2 一个通用公式 462
16.6.3 信息价值的属性 464
16.6.4 实现信息收集智能体 464
16.7 决策理论的专家系统 465
16.8 小结 467
参考文献与历史的注释 467
习题 469
第17章 制定复杂决策 472
17.1 延续式决策问题 472
17.1.1 一个例子 472
17.1.2 延续式决策问题中的最优化 474
17.2 价值迭代 476
17.2.1 状态效用值 476
17.2.2 价值迭代算法 477
17.2.3 价值迭代的收敛 478
17.3 策略迭代 480
17.4 部分可观察的MDP 481
17.5 决策理论智能体 484
17.6 多智能体的决策:博弈论 485
17.7 机制设计 492
17.8 小结 494
参考文献与历史的注释 495
习题 496
第六部分 学习 501
第18章 从观察中学习 501
18.1 学习的形式 501
18.2 归纳学习 502
18.3 学习决策树 504
18.3.1 作为执行元件的决策树 504
18.3.2 决策树的表达能力 505
18.3.3 从实例中归纳决策树 506
18.3.4 选择属性测试 508
18.3.5 评估学习算法的性能 509
18.3.6 噪声和过拟合 510
18.3.7 扩展决策树的适用性 512
18.4 集体学习 512
18.5 为什么学习是可行的:计算学习理论 515
18.5.1 需要多少个实例 516
18.5.2 决策表学习 517
18.5.3 讨论 519
18.6 小结 519
参考文献与历史的注释 519
习题 521
第19章 学习中的知识 524
19.1 学习的逻辑公式 524
19.1.1 实例和假设 524
19.1.2 当前最佳假设搜索 526
19.1.3 最少约定搜索 527
19.2 学习中的知识 530
19.2.1 一些简单的例子 531
19.2.2 一些一般方案 531
19.3 基于解释的学习 532
19.3.1 从实例中抽取一般规则 533
19.3.2 提高效率 534
19.4 使用相关信息进行学习 535
19.4.1 决定假设空间 536
19.4.2 学习和使用相关性信息 536
19.5 归纳逻辑程序设计 538
19.5.1 一个例子 539
19.5.2 自顶向下的归纳学习方法 541
19.5.3 使用逆向演绎的归纳学习 543
19.5.4 通过归纳逻辑程序设计进行发现 544
19.6 小结 545
参考文献与历史的注释 546
习题 548
第20章 统计学习方法 550
20.1 统计学习 550
20.2 完整数据下的学习 553
20.2.1 最大似然参数学习:离散模型 553
20.2.2 朴素贝叶斯模型 555
20.2.3 最大似然参数学习:连续模型 555
20.2.4 贝叶斯参数学习 557
20.2.5 学习贝叶斯网络的结构 558
20.3 隐变量学习:EM算法 559
20.3.1 无监督聚类:学习混合高斯分布 560
20.3.2 学习含有隐变量的贝叶斯网络 562
20.3.3 学习隐马尔可夫模型 563
20.3.4 EM算法的一般形式 564
20.3.5 学习含有隐变量的贝叶斯网络结构 564
20.4 基于实例的学习 565
20.4.1 最近邻模型 565
20.4.2 核模型 567
20.5 神经元网络 568
20.5.1 神经元网络中的单元 568
20.5.2 网络结构 569
20.5.3 单层前馈神经元网络(感知器) 570
20.5.4 多层前馈神经元网络 573
20.5.5 对神经元网络结构进行学习 576
20.6 核心机 576
20.7 案例分析:手写体数字识别 579
20.8 小结 580
参考文献与历史的注释 581
习题 584
第21章 强化学习 587
21.1 介绍 587
21.2 被动强化学习 588
21.2.1 直接效用估计 589
21.2.2 自适应动态规划 589
21.2.3 时序差分学习 591
21.3 主动强化学习 592
21.3.1 探索 593
21.3.2 学习行动-价值函数 595
21.4 强化学习中的一般化 596
21.4.1 博弈中的应用 599
21.4.2 机器人控制中的应用 599
21.5 策略搜索 600
21.6 小结 602
参考书目与历史的注释 603
习题 605
第七部分 通讯、感知与行动 609
第22章 通讯 609
22.1 作为行动的通讯 609
22.1.1 语言的基本原理 610
22.1.2 通讯的组成步骤 611
22.2 部分英语的形式语法 613
22.2.1 E0的词典 613
22.2.2 E0的语法 614
22.3 句法分析(Parsing) 615
22.4 增强语法 620
22.4.1 动词的次范畴化 622
22.4.2 增强语法的生成能力 623
22.5 语义解释 624
22.5.1 部分英语的语义 625
22.5.2 时间和时态 625
22.5.3 量词限定 626
22.5.4 语用解释 628
22.5.5 利用DCG生成语言 629
22.6 歧义和排歧 629
22.7 篇章理解 632
22.7.1 指代消解 632
22.7.2 连贯的篇章结构 633
22.8 语法归纳 634
22.9 小结 636
参考文献与历史的注释 636
习题 639
第23章 概率语言处理 643
23.1 概率语言模型 643
23.1.1 概率的上下文无关语法 645
23.1.2 学习PCFG的概率 646
23.1.3 学习PCFG的规则结构 647
23.2 信息检索 647
23.2.1 评价IR系统 649
23.2.2 IR的改进方法 650
23.2.3 结果集合的表示 651
23.2.4 IR系统的实现 652
23.3 信息抽取 653
23.4 机器翻译 655
23.4.1 机器翻译系统 656
23.4.2 统计机器翻译 657
23.4.3 机器翻译的概率学习 659
23.5 小结 660
参考文献与历史的注释 661
习题 663
第24章 感知 665
24.1 介绍 665
24.2 图像生成 666
24.2.1 无透镜成像——针孔照相机 666
24.2.2 透镜系统 667
24.2.3 光线:成像过程中的光度学特性 668
24.2.4 色彩:成像中的分光谱光度学 669
24.3 初级图像处理运算 669
24.3.1 边缘检测 670
24.3.2 图像分割 672
24.4 提取三维信息 672
24.4.1 运动 673
24.4.2 双目立体视觉 675
24.4.3 纹理梯度 677
24.4.4 明暗 677
24.4.5 轮廓 678
24.5 物体识别 681
24.5.1 基于亮度的识别 682
24.5.2 基于特征的识别 683
24.5.3 姿态估计 685
24.6 利用视觉实现操纵和导航 686
24.7 小结 687
参考文献与历史的注释 688
习题 690
第25章 机器人学 692
25.1 介绍 692
25.2 机器人硬件 693
25.2.1 传感器 693
25.2.2 效应器 694
25.3 机器人的感知 696
25.3.1 定位 697
25.3.2 绘制地图 701
25.3.3 其它类型的感知 703
25.4 运动规划 703
25.4.1 构型空间 704
25.4.2 单元分解方法 706
25.4.3 抽骨架方法 707
25.5 规划不确定的运动 708
25.6 运动 711
25.6.1 动力学和控制 711
25.6.2 势场控制 713
25.6.3 反应式控制 714
25.7 机器人软件体系结构 715
25.7.1 包容体系结构 715
25.7.2 三层体系结构 716
25.7.3 机器人程序设计语言 716
25.8 立用领域 717
25.9 小结 719
参考文献与历史的注释 720
习题 722
第八部分 结论 729
第26章 哲学基础 729
26.1 弱人工智能:机器能够智能地行动吗 729
26.1.1 能力缺陷方面的论点 730
26.1.2 数学异议 731
26.1.3 非形式化的论点 732
26.2 强人工智能:机器能够真正思考吗 733
26.2.1 精神—肉体问题 734
26.2.2 “钵中之脑”实验 735
26.2.3 大脑置换实验 736
26.2.4 中文屋子 737
26.3 发展人工智能的道德规范与风险 739
26.4 小结 742
参考文献与历史的注释 742
习题 744
第27章 人工智能:现状与未来 745
27.1 智能体的组成部分 745
27.2 智能体体系结构 747
27.3 我们在沿着正确的方向前进吗 748
27.4 如果人工智能成功了会怎样 749
附录A 数学背景 751
A.1 复杂度分析与O()符号 751
A.1.1 渐近分析 751
A.1.2 NP以及固有的难题 752
A.2 向量、矩阵和线性代数 753
A.3 概率分布 754
参考文献与历史的注释 755
附录B 关于语言和算法的注释 757
B.1 用巴克斯—瑙鲁范式(BNF)定义语言 757
B.2 算法的伪代码描述 757
B.3 联机帮助 758