描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111688464丛书名: 轻松上手IT技术日文译丛
内容简介
本书以各种各样的实例剖析游戏AI手法,并以此为目标,帮助读者学习构筑游戏AI的技术。另外,也阐述了游戏AI中的深层学习、机械学习、强化学习技术。
目 录
译者序
前言
第1章 谜题与游戏AI的过去和现在 1
1.1 关于AI的预言成真了吗 1
1.2 游戏AI的历史和背景 2
1.3 游戏AI是否会剥夺人类的乐趣 7
1.4 游戏AI的意义 9
1.5 游戏的深奥程度与“先下手为强”定理 10
第2章 解谜的AI 14
2.1 搜索树 14
2.1.1 树的构造和图形表达 14
2.1.2 深度优先搜索 21
2.1.3 宽度优先搜索 28
2.1.4 A*搜索 32
2.2 推箱子 40
2.3 数字连线 43
2.4 日式华容道 46
2.5 孔明棋 48
2.6 尝试用数学知识解决数独问题 51
第3章 依赖约束的谜题和非单调推理 58
3.1 纵向搜索与回溯 58
3.2 数学家弄错的国际象棋谜题 58
3.3 线条图的解释与错觉画 63
3.4 ATMS与四色问题 71
3.5 解开国际象棋谜题 83
3.5.1 尽可能放置多个棋子 84
3.5.2 尽可能攻击多个区域 86
3.6 Knuth的谜题与位棋盘 88
第4章 会玩游戏的AI 90
4.1 井字棋与树 90
4.2 游戏的树搜索 91
4.3 黑白棋与Fool’s mate 104
4.4 A*马里奥 110
4.5 蒙特卡罗树搜索 114
4.6 立体四子棋 118
4.7 黑白棋的蒙特卡罗算法和NegaScout算法 123
4.8 如何赢得博弈 124
4.9 消灭幽灵:AI吃豆人 132
第5章 学习、进化和游戏AI 140
5.1 来自AlphaGo的震撼 140
5.2 DQN和街机游戏 151
5.3 进化的马里奥 155
5.4 神经进化 158
5.5 吃豆人的神经进化 161
5.6 充满好奇心的马里奥 166
第6章 游戏AI与类人化 174
6.1 为什么需要类人化的AI 174
6.2 通用游戏是什么 175
6.3 图灵测试和类人化的AI 178
6.4 不使用“类人化”函数的类人化游戏AI 182
6.5 使用“类人化”函数的类人化游戏AI 190
参考文献 199
前言
第1章 谜题与游戏AI的过去和现在 1
1.1 关于AI的预言成真了吗 1
1.2 游戏AI的历史和背景 2
1.3 游戏AI是否会剥夺人类的乐趣 7
1.4 游戏AI的意义 9
1.5 游戏的深奥程度与“先下手为强”定理 10
第2章 解谜的AI 14
2.1 搜索树 14
2.1.1 树的构造和图形表达 14
2.1.2 深度优先搜索 21
2.1.3 宽度优先搜索 28
2.1.4 A*搜索 32
2.2 推箱子 40
2.3 数字连线 43
2.4 日式华容道 46
2.5 孔明棋 48
2.6 尝试用数学知识解决数独问题 51
第3章 依赖约束的谜题和非单调推理 58
3.1 纵向搜索与回溯 58
3.2 数学家弄错的国际象棋谜题 58
3.3 线条图的解释与错觉画 63
3.4 ATMS与四色问题 71
3.5 解开国际象棋谜题 83
3.5.1 尽可能放置多个棋子 84
3.5.2 尽可能攻击多个区域 86
3.6 Knuth的谜题与位棋盘 88
第4章 会玩游戏的AI 90
4.1 井字棋与树 90
4.2 游戏的树搜索 91
4.3 黑白棋与Fool’s mate 104
4.4 A*马里奥 110
4.5 蒙特卡罗树搜索 114
4.6 立体四子棋 118
4.7 黑白棋的蒙特卡罗算法和NegaScout算法 123
4.8 如何赢得博弈 124
4.9 消灭幽灵:AI吃豆人 132
第5章 学习、进化和游戏AI 140
5.1 来自AlphaGo的震撼 140
5.2 DQN和街机游戏 151
5.3 进化的马里奥 155
5.4 神经进化 158
5.5 吃豆人的神经进化 161
5.6 充满好奇心的马里奥 166
第6章 游戏AI与类人化 174
6.1 为什么需要类人化的AI 174
6.2 通用游戏是什么 175
6.3 图灵测试和类人化的AI 178
6.4 不使用“类人化”函数的类人化游戏AI 182
6.5 使用“类人化”函数的类人化游戏AI 190
参考文献 199
前 言
深度学习开始被关注的标志性事件,就是一个采用深度卷积神经网络的模型AlexNet在2012年ImageNet图像识别大赛上获得冠军。自此,深度学习这门技术在机器视觉领域开始大规模应用。如今,采用深度学习的图像识别AI算法在识别精度上已经超过人眼的精度,我们日常生活中的扫脸支付也基于深度学习强大的图像特征提取能力。尽管深度学习的应用为图像领域带来了飞跃性的发展,但2012年的那场突破并没有引起全社会的广泛关注,当时人们并没有普遍意识到人工智能领域的崛起即将到来。我觉得之所以这样,是因为深度学习给机器视觉带来的飞跃只能算是开发出了某种高级图像传感器。当这个传感器收到“汽车”图像时会输出“汽车”这样的识别结果,当收到“花朵”图像时则会输出“花朵”这样的识别结果。虽然看起来很强大,但人们普遍没有感受到“智能”的存在。因为我们或许觉得,在对映入眼帘中的事物进行识别的整个过程中,我们感受不到自己在“动脑”。
之所以觉得AlphaGo才是AI时代到来的标志,或许是因为人们普遍承认下围棋是一种高级别的智能过程,也是一个绞尽脑汁的过程—我们可以切身感受到“动脑”。下围棋比拼的就是谁预见的步数更远更深,在这里我们或许会想到传统计算机算法可以用暴力枚举方法预估所有的走棋可能性,但这个方法在围棋中行不通,因为围棋的棋局存在10171种可能性,人类目前或许找不出能够枚举出所有可能性的计算机。人脑也同样无法实现对所有走棋可能性的“扫描”。这个时候,人类的直觉发挥着强大的作用。当看到眼前的棋局时,人类能够依靠直觉快速给出多种落子方案。经验越是丰富,直觉越是准确。当考虑如何用计算机复现这种直觉时,我们的视野聚焦到了深度学习上。深度学习擅长解决图像问题,它的本质是处理矩阵数据,而围棋棋盘本身就是一种完美的矩阵。通过深度学习,我们对棋盘这个矩阵不断地进行特征提取并对其进行压缩,通过多层深度卷积处理后,拥有某种落子的“直觉”。用深度学习来学习的棋谱数据越多,这种落子的“直觉”就会越可靠。AlphaGo通过蒙特卡罗算法使用不同的落子方案进行预演,不断刷新不同的落子方案,从而提高终结果的胜率,完全像是一个围棋高手一样—在落子之前已在脑海中完成了多种落子方案后续结果的预演。当然,蒙特卡罗算法并非新鲜方法,但正是深度学习的出现,AlphaGo才能实现针对眼前棋局的落子直觉和终导向胜利的完美权衡。一个强大的围棋AI不仅需要有专家的直觉,也需要像专家那样深谋远虑。
伊庭教授在本书中强调了研究游戏AI的意义—或许是解密人类大脑思考方式的方法之一。我个人十分赞同伊庭教授的这一看法,我们的生活、工作和学习过程中的纠结一直都建立在着眼于眼前还是未来的权衡当中。但正是因为我们具有智慧,所以我们才会具有这种权衡能力(或者说是生活中充满了纠结)。游戏领域里的经典算法—A*算法在构造上相对近期的算法简单很多,但它一边着眼于眼前的资源消耗量,一边还要注意是否靠近终点,这种简单的路线规划原理已经具有了初步的着眼于眼前与未来的权衡能力。
本书的后一章描述如何让游戏AI表现得像个人类玩家,并量化了一些因素,从而对类人程度进行函数化。我相信当读者坚持读到后一章时,不仅会觉得游戏AI有趣,还会觉得人脑思维本身就有很多有趣的地方。或许研究游戏AI的意义不是为了创作出更加聪明、强大的AI,而是把它当作一面镜子,来进行对人脑思维研究的自我启发和探索。
之所以觉得AlphaGo才是AI时代到来的标志,或许是因为人们普遍承认下围棋是一种高级别的智能过程,也是一个绞尽脑汁的过程—我们可以切身感受到“动脑”。下围棋比拼的就是谁预见的步数更远更深,在这里我们或许会想到传统计算机算法可以用暴力枚举方法预估所有的走棋可能性,但这个方法在围棋中行不通,因为围棋的棋局存在10171种可能性,人类目前或许找不出能够枚举出所有可能性的计算机。人脑也同样无法实现对所有走棋可能性的“扫描”。这个时候,人类的直觉发挥着强大的作用。当看到眼前的棋局时,人类能够依靠直觉快速给出多种落子方案。经验越是丰富,直觉越是准确。当考虑如何用计算机复现这种直觉时,我们的视野聚焦到了深度学习上。深度学习擅长解决图像问题,它的本质是处理矩阵数据,而围棋棋盘本身就是一种完美的矩阵。通过深度学习,我们对棋盘这个矩阵不断地进行特征提取并对其进行压缩,通过多层深度卷积处理后,拥有某种落子的“直觉”。用深度学习来学习的棋谱数据越多,这种落子的“直觉”就会越可靠。AlphaGo通过蒙特卡罗算法使用不同的落子方案进行预演,不断刷新不同的落子方案,从而提高终结果的胜率,完全像是一个围棋高手一样—在落子之前已在脑海中完成了多种落子方案后续结果的预演。当然,蒙特卡罗算法并非新鲜方法,但正是深度学习的出现,AlphaGo才能实现针对眼前棋局的落子直觉和终导向胜利的完美权衡。一个强大的围棋AI不仅需要有专家的直觉,也需要像专家那样深谋远虑。
伊庭教授在本书中强调了研究游戏AI的意义—或许是解密人类大脑思考方式的方法之一。我个人十分赞同伊庭教授的这一看法,我们的生活、工作和学习过程中的纠结一直都建立在着眼于眼前还是未来的权衡当中。但正是因为我们具有智慧,所以我们才会具有这种权衡能力(或者说是生活中充满了纠结)。游戏领域里的经典算法—A*算法在构造上相对近期的算法简单很多,但它一边着眼于眼前的资源消耗量,一边还要注意是否靠近终点,这种简单的路线规划原理已经具有了初步的着眼于眼前与未来的权衡能力。
本书的后一章描述如何让游戏AI表现得像个人类玩家,并量化了一些因素,从而对类人程度进行函数化。我相信当读者坚持读到后一章时,不仅会觉得游戏AI有趣,还会觉得人脑思维本身就有很多有趣的地方。或许研究游戏AI的意义不是为了创作出更加聪明、强大的AI,而是把它当作一面镜子,来进行对人脑思维研究的自我启发和探索。
曹旸
2021年2月于上海
评论
还没有评论。