目录
第1章核心人工智能: 问题解决和
自动推理
1.1早期的里程碑
1.1.1数字运算的极限
1.1.2AI的诞生
1.1.3早期策略: 搜索
算法
1.1.4早期的智慧: 计算机
需要知识
1.1.5编程语言
1.1.6教科书: 许多不同的
主题
1.1.721世纪的展望
1.2问题解决
1.2.1典型问题
1.2.2经典搜索方法
1.2.3规划
1.2.4遗传算法
1.2.5群体智能算法
1.2.6涌现特性和人工
生命
1.3自动推理
1.3.1斑马问题
1.3.2计算机能解决斑马
问题吗
1.3.3家庭关系
1.3.4知识表示
1.3.5自动推理
1.3.6不那么明确的
概念
1.3.7不完美的知识
1.3.8不确定性处理
1.3.9专家系统
1.4本书结构与方法
第2章盲搜
2.1动机和术语
2.1.1简单谜题
2.1.2搜索树
2.1.3搜索操作符
2.1.4人工智能中的
盲搜
2.1.5滑方块
2.1.6传教士和食人族
2.1.7程序员的视角
2.2深度优先搜索和广度优先
搜索
2.2.1搜索树举例
2.2.2深度优先搜索:
原理
2.2.3深度优先搜索
算法
2.2.4数值举例
2.2.5广度优先搜索:
原理
2.2.6广度优先搜索
算法
2.2.7数值举例
2.3实际考虑
2.3.1通用搜索模型
2.3.2最终状态的确切形式
可能是未知的
2.3.3最终状态的未知形式:
举例
2.3.4验证状态是否为最终状
态可能代价高昂
2.3.5目标1——问题的解看
上去怎样
2.3.6目标2——什么途径可
以得到问题的解
2.3.7停止条件
2.3.8检查Lseen可能代价
高昂
2.3.9搜索有序列表
2.3.10哈希函数
2.4搜索性能方面
2.4.1代价计量
2.4.2分支因子
2.4.3搜索深度
2.4.4BFS的内存开销
2.4.5DFS的内存开销
2.4.6两种算法的计算
代价
2.4.7两者哪个成本
更低
2.4.8寻找比尔的家
2.4.9具有多个最终状态的
场景
2.5迭代深化(和扩展)
2.5.1ID算法
2.5.2为什么该技术
有效
2.5.3数值举例
2.5.4哪些因素决定了搜索
成本
2.5.5迭代深化是否
浪费
2.5.6ID与基本算法的
比较
2.5.7注意事项
2.5.8备选方案: 迭代
扩展
2.6熟能生巧
2.7结语
第3章启发式搜索和退火
3.1爬山算法和最佳优先搜索
3.1.1评价函数
3.1.2数值举例: 滑
方块
3.1.3复杂的评价函数
3.1.4最大化或最小化
3.1.5爬山算法
3.1.6最佳优先搜索
3.1.7实现最佳优先搜索的
两种方法
3.1.8两种方法的比较
3.1.9人类的搜索方式
3.2评价函数的实践方面
3.2.1状态值的时间
恶化
3.2.2多个状态可以有
相同的值
3.2.3前瞻性评价策略
3.2.4集束搜索
3.2.5N在集束搜索中的
作用
3.2.6数值举例
3.2.7昂贵的评价
3.3A*和IDA*
3.3.1动机
3.3.2代价函数
3.3.3A*算法
3.3.4数值举例
3.3.5A*的两个版本
3.3.6更复杂的代价
函数
3.3.7跳跃式技术
3.3.8IDA*
3.4模拟退火
3.4.1生长无缺陷晶体
3.4.2正式视图
3.4.3AI视角
3.4.4简化视角下的模拟
退火
3.4.5状态值的影响
3.4.6温度影响
3.4.7冷却
3.4.8初始温度
3.5背景知识的作用
3.5.1AI搜索解决的幻方
问题
3.5.2数学家解决幻方
问题
3.5.3课程: 背景知识的
好处
3.5.4数独中的分支
因子
3.5.5斑马谜题
3.6连续域
3.6.1连续域举例
3.6.2离散化
3.6.3梯度上升与神经
网络
3.6.4群体智能算法
3.7熟能生巧
3.8结语
第4章对抗搜索
4.1典型问题
4.1.1简单游戏举例
4.1.2其他游戏
4.1.3更普遍的观点
4.1.4与经典搜索的
区别
4.2基准极小极大算法
4.2.1最大化者和最小
化者
4.2.2游戏树
4.2.3父母自孩子遗传
4.2.4极小极大算法
原理
4.2.5数值举例
4.2.6回传值
4.3启发式极小极大算法
4.3.1游戏树过于庞大
4.3.2深度必须受到
限制
4.3.3对抗搜索中的评价
函数
4.3.4评价函数从何
而来
4.3.5启发式极小极大
算法原理
4.3.6影响游戏玩得好坏
的因素
4.3.7灵活的评价深度
4.3.8计算代价可能很
昂贵
4.3.9成功案例
4.4AlphaBeta剪枝
4.4.1常规情况
4.4.2多余的评价
4.4.3另一个例子
4.4.4关于剪枝算法
4.4.5关于AlphaBeta
剪枝
4.4.6反向方法
4.5额外的游戏编程技巧
4.5.1启发式的算法控制
搜索深度
4.5.2望向视野外
4.5.3开局库
4.5.4残局查找表
4.5.5人类模式识别
技能
4.5.6人类的“剪枝”
方式
4.5.7游戏中的模式
识别
4.6熟能生巧
4.7结语
第5章规划
5.1玩具积木
5.1.1移动积木
5.1.2描述符
5.1.3状态描述示例
5.1.4注释
5.2可用操作
5.2.1玩具场景的操作
5.2.2前提条件列表
5.2.3添加列表
5.2.4删除列表
5.2.5定义move(x,y,z)
5.2.6通用操作的实
例化
5.2.7有多少个实例
5.2.8执行操作
5.2.9示例
5.3使用STRIPS进行规划
5.3.1目标集
5.3.2一般理念
5.3.3具体实例
5.3.4如何确定行动
5.3.5倒数第二个状态是
什么样的
5.3.6STRIPS的伪
代码
5.4数值举例
5.4.1应该考虑哪些
操作
5.4.2检查列表
5.4.3注意事项
5.4.4描述前一个状态
5.4.5迭代过程
5.5人工智能规划的高级应用
5.5.1旅行推销员问题
5.5.2包裹投递和数据包
路由
5.5.3救护车路由
5.5.4背包问题
5.5.5工作车间调度
5.5.6注意事项
5.5.7重要评论
5.6熟能生巧
5.7结语
第6章遗传算法
6.1一般模式
6.1.1不完全复制,适者
生存
6.1.2GA应用中的
个体
6.1.3基本循环
6.1.4人口
6.1.5适者生存
6.1.6有多少代
6.1.7停止标准
6.2不完全复制与生存
6.2.1交配
6.2.2重组
6.2.3变异
6.2.4实施生存博弈
6.2.5利用生存机制进行
交配
6.2.6评论生存游戏
6.2.7属于父母两边的
孩子
6.2.8GA的简单任务
6.2.9探索与父母的
距离
6.2.10重组与变异
6.2.11算法为何有效
6.3其他GA操作符
6.3.1两点交叉
6.3.2随机位交换
6.3.3反转
6.3.4程序员控制程序的
方法
6.4潜在问题
6.4.1退化种群
6.4.2无害退化与过早
退化
6.4.3识别退化状态
6.4.4摆脱退化状态
6.4.5设计不当的适应度
函数
6.4.6不能反映遗传算法目
标的适应度函数
6.5高级变体
6.5.1数字染色体
6.5.2树结构形式的染
色体
6.5.3多人群和多目标
6.5.4拉马克方法
6.6GA和背包问题
6.6.1背包规则(修
订版)
6.6.2用二进制字符串对
问题进行编码
6.6.3运行程序
6.6.4GA是否能找到最佳
解决方案
6.6.5观察: 隐含并
行性
6.6.6用数字字符串编码
包内容
6.6.7数字字符串中的
变异和重组
6.6.8小结
6.7GA和囚徒困境
6.7.1要保密还是选择告发/
告密
6.7.2实际观察
6.7.3重复事件的策略
6.7.4在染色体中编码
策略
6.7.5早期回合
6.7.6锦标赛方法
6.7.7实验表现
6.7.8小结
6.8熟能生巧
6.9结语
第7章人工生命
7.1涌现特性
7.1.1从原子到蛋白质
7.1.2从分子到社会
7.1.3从字母到诗歌
7.1.4通往人工生命
之路
7.2L系统
7.2.1原始的L系统
规则
7.2.2另一个例子: 康托尔
集合
7.2.3启示
7.3细胞自动机
7.3.1简单示例
7.3.2变化
7.3.3增加另一个维度
7.4康威的生命游戏
7.4.1棋盘及其单元格
7.4.2规则
7.4.3更有趣的例子
7.4.4典型行为
7.4.5小结
7.5熟能生巧
7.6结语
第8章涌现特性和群体智能
8.1蚁群优化
8.1.1琐碎的表述
8.1.2蚁群选择
8.1.3信息素路径
8.1.4选择路径
8.1.5挥发与添加
8.1.6程序员的视角
8.1.7选择具体路径的
概率
8.1.8路径选择机制
8.1.9添加信息素
8.1.10信息素挥发
8.1.11非稳态任务
8.2ACO算法解决推销员
问题
8.2.1蚂蚁与智能体
8.2.2ACO对TSP的
看法
8.2.3初始化
8.2.4建立概率决策
8.2.5数值举例
8.2.6一只蚂蚁会释放多少
信息素
8.2.7各路线上的蚂蚁
数量
8.2.8在每条边上添加信
息素
8.2.9更新数值
8.2.10完整的概率
公式
8.2.11ACO处理推销员问题
(TSP)的概述
8.2.12结束语
8.2.13主要限制
8.3粒子群优化算法
8.3.1是粒子还是鸟
8.3.2寻找多元函数的最
大值
8.3.3专业术语
8.3.43个假设
8.3.5智能体的目标
8.3.6更新速度和位置:
简单公式
8.3.7速度更新的全尺寸
版本
8.3.8c1和c2的值应该是
多少
8.3.9PSO 算法的总体
流程
8.3.10可能的并发
问题
8.3.11本地极端行为的危
险性
8.3.12多个群体
8.4人工蜂群算法
8.4.1原始灵感
8.4.2这个比喻对人工智能
的贡献
8.4.3任务
8.4.4第一步
8.4.5如何选择有前途的
目标
8.4.6跟随蜜蜂
8.4.7更新最佳位置
8.4.8支援蜜蜂
8.4.9参数
8.4.10算法
8.5熟能生巧
8.6结语
第9章自动推理的要素
9.1事实与查询
9.1.1事实列表
9.1.2回答用户的查询
9.1.3带变量的查询
9.1.4多个变量
9.1.5复合查询
9.1.6练习
9.1.7将变量与具体值
绑定
9.1.8如何处理复合
查询
9.1.9谓词排序
9.1.10查询回答和
搜索
9.1.11嵌套论证
9.2规则和基于知识的系统
9.2.1简单规则
9.2.2较长的规则
9.2.3规则的形式观
9.2.4封闭世界假设
9.2.5基于知识的系统
9.3使用规则进行简单推理
9.3.1回答查询
9.3.2基础知识之外
9.3.3由多条规则定义的
概念
9.3.4断分正则表达式
9.3.5递归概念定义
9.3.6评估递归概念
9.3.7关于递归的评论
9.3.8小结
9.4熟能生巧
9.5结语
第10章逻辑与推理(简化版)
10.1蕴涵、推理、定理证明
10.1.1蕴涵
10.1.2推理过程
10.1.3最简形式的肯定
前项式
10.1.4示例
10.1.5其他推理
机制
10.1.6推理过程的可
靠性
10.1.7推理过程的完
备性
10.1.8定理证明
10.1.9半可判定性
10.2基于肯定前项式的
推理
10.2.1肯定前项式的
一般形式
10.2.2霍恩子句
10.2.3事件的真实性与
虚假性
10.2.4具体示例
10.2.5实际考虑
10.2.6霍恩子句知识库中
的推理
10.3运用归结原则进行
推理
10.3.1标准形式
10.3.2归结原则
10.3.3理论的优势
10.3.4具体举例1
10.3.5实际考虑
10.3.6计算成本
10.3.7反向链
10.3.8具体举例2
10.3.9归结作为
搜索
10.4运用标准形式表达
知识
10.4.1标准形式(修
改版)
10.4.2转换为标准
形式
10.4.3具体举例
10.5熟能生巧
10.6结语
第11章使用变量的逻辑和推理
11.1规则和量词
11.1.1对象和函数
11.1.2关系
11.1.3常量和变量
11.1.4参数顺序
11.1.5原子和表
达式
11.1.6自动推理中的逻辑
表达式
11.1.7全称量词
11.1.8存在量词
11.1.9量词的顺序
11.1.10其他示例
11.2删除量词
11.2.1删除一些存在
量词
11.2.2存在量化
向量
11.2.3经常被忽视的
案例
11.2.4斯科勒姆化
11.2.5删除剩余的存在
量词
11.2.6消失的
后果
11.3绑定、统一和推理
11.3.1绑定变量
11.3.2绑定列表
11.3.3嵌套关系的
绑定
11.3.4统一
11.3.5使用变量的肯定
前项式和归结
原则
11.4实用推理程序
11.4.1具体示例
11.4.2多个解决
方案
11.4.3绑定数量
11.4.4从左边开始
11.4.5加速推理
过程
11.4.6先行的策略
11.4.7回跳
11.5熟能生巧
11.6结语
第12章表示知识的不同方式
12.1框架和语义网络
12.1.1框架的具体
例子
12.1.2继承值
12.1.3规则的例外
12.1.4语义网络
12.2基于框架的知识推理
12.2.1查找实例
的类
12.2.2找到一个变量
的值
12.2.3语义网络中的
推理
12.2.4框架中推理的计算
成本
12.3框架和SN中的N元
关系
12.3.1二元关系与
框架
12.3.2基于二元关系的
框架推理
12.3.3将二元关系转换为
规则
12.3.4促进二元关系推理
的规则
12.3.5N元关系带来的
困难
12.4熟能生巧
12.5结语
第13章自动推理道路上的障碍
13.1隐性假设
13.1.1框架问题
13.1.2隐性假设
13.2非单调性
13.2.1推理的单
调性
13.2.2母鸡会飞吗
13.2.3它们不会
飞吗
13.2.4一般情况
13.2.5异常情况
13.2.6选择哪个
版本
13.2.7理论、假设和
扩展
13.2.8多个扩展
13.2.9多值逻辑
13.2.10框架和语义
网络
13.3Mycin的不确定性
因素
13.3.1不确定性
处理
13.3.2Mycin的确定性
因素
13.3.3一组事实和规则
的真相
13.3.4否定的确
定性
13.3.5数值举例1
13.3.6确定性因素和肯定
前项式
13.3.7数值举例2
13.3.8结合证据
13.3.9直观的解释
13.3.10数值举例3
13.3.11数值举例4
13.3.12两种以上的
选择
13.3.13理论基础
13.4熟能生巧
13.5结语
第14章概率推理
14.1概率论(修改版)
14.1.1概率信息
来源
14.1.2单位间隔
14.1.3联合概率
14.1.4数值举例
14.1.5条件概率
14.1.6更一般的
公式
14.1.7罕见事件: m
估计
14.1.8通过m来量化
信心
14.1.9数值举例
14.2概率与推理
14.2.1家庭关系领域的
例子
14.2.2规则和条件
概率
14.2.3依赖事件和独立
事件
14.2.4贝叶斯公式
14.2.5贝叶斯公式和概率
推理
14.2.6选择最有可能的
假设
14.3信念网络
14.3.1信念网络
概述
14.3.2数值举例
14.3.3具体情况的
概率
14.3.4结论的概率
14.3.5B是真的吗
14.4处理更现实的领域
14.4.1更大的信念
网络
14.4.2看不见的原因和
漏洞节点
14.4.3需要太多的
概率
14.4.4朴素贝叶斯
14.4.5朴素贝叶斯假设是
否有害
14.4.6否定概率
(提醒)
14.4.7P(X|A1∨A2∨…
∨An)的概率是
多少
14.4.8具体事件的
概率
14.4.9数值举例
14.4.10这些概率从哪
里来
14.5DempsterShafer理论:
使用权重代替概率
14.5.1动机
14.5.2权重而非
概率
14.5.3辨识框架
14.5.4单例和组合
实例
14.6从权重到信念和可信度
14.6.1基本信念
分配
14.6.2任何BBA的基本
特性
14.6.3相信某个
命题
14.6.4命题的可
信度
14.6.5不确定性由两个
值量化
14.6.6数值举例
14.7DST证据组合规则
14.7.1多个权重转移的
源头
14.7.2冲突的级别
14.7.3组合法则
14.7.4数值举例
14.7.5不止两个来源的
情况
14.7.6BBA通常是什么
样的
14.8熟能生巧
14.9结语
第15章模糊集
15.1现实世界概念的模
糊性
15.1.1清晰概念和模糊
概念
15.1.2堆的悖论
15.1.3视觉示例
15.1.4另一个例子
15.2模糊集成员资格
15.2.1隶属度
15.2.2黑色矩形
15.2.3有才华的
学生
15.2.4高个子
15.2.5温暖的房间
15.2.6μA(x)函数的其他
常见形状
15.2.7μA(x)的值
来源
15.3模糊性与其他范式的
比较
15.3.1一个清晰事件发生
的概率
15.3.2特征的范围
15.3.3模糊值的
概率
15.3.4模糊概率
15.4模糊集合运算
15.4.1模糊逻辑
15.4.2合取
15.4.3析取
15.4.4否定
15.4.5图形说明
15.4.6数值举例
15.4.7复杂表达
15.5计算语言变量
15.5.1语言变量的
例子
15.5.2语言变量的主
观性
15.5.3上下文依赖
15.5.4计算模糊对象
数量
15.5.5数值举例
15.5.6更高级的
例子
15.6模糊推理
15.6.1模糊规则
15.6.2更加真实的
规则
15.6.3用模糊规则
推理
15.6.4传播隶属度
15.6.5模糊控制
15.7熟能生巧
15.8结语
第16章专家系统的优点和缺点
16.1早期探索: Mycin
16.1.1实现
16.1.2预期的应用
范围
16.1.3早期关注
16.1.4早期希望
16.2后续发展
16.2.1另一个医学
系统
16.2.2发展前景
16.2.3数以百计的专家
系统
16.2.4过高期待的
风险
16.2.5怀疑主义
16.2.6现状
16.3一些经验
16.3.15分钟到5小时
规则
16.3.2瓶颈: 知识库
16.3.3通信模块
16.3.4优雅降级
16.4熟能生巧
16.5结语
第17章超越核心人工智能
17.1计算机视觉
17.1.1图像及其
像素
17.1.2去除噪声
17.1.3边缘检测
17.1.4连接边缘
17.1.5纹理
17.1.6颜色
17.1.7分割
17.1.8场景解释
17.1.9现代方法
17.2自然语言处理
17.2.1信号处理
17.2.2句法分析
(解析)
17.2.3语义分析
17.2.4歧义
17.2.5语言生成
17.2.6现代方法: 机器
学习
17.3机器学习
17.3.1知识获取: 人工
智能的瓶颈
17.3.2从实例中
学习
17.3.3规则和决
策树
17.3.4其他方法
17.3.5旧机器学习的普遍
理念
17.3.6如今的机器
学习
17.4智能体技术
17.4.1为什么选择智
能体
17.4.2框架
17.5结语
第18章哲学思考
18.1图灵测试
18.1.1图灵的基本
方案
18.1.2其他应用
18.1.3打破图灵
测试
18.2中文房间和其他意见
18.2.1Searle的基本
设想
18.2.2这个人是否懂
中文
18.2.3哲学家的
观点
18.2.4下棋程序带来的
启示
18.2.5图灵对神学保留
意见的回应
18.2.6弱人工智能与强
人工智能
18.3工程师角度
18.3.1实践性
18.3.2人们是否应该
担忧
18.3.3增强人类
智慧
18.3.4现有人工智能的
局限性
18.4结语
参考文献