新書推薦:
《
月与蟹(青鲤文库)荣获第144届直木奖,天才推理作家经典作品全新译本。一部青春狂想曲,带你登上心理悬疑之巅。
》
售價:NT$
230.0
《
索恩丛书·盛清统治下的太监与皇帝
》
售價:NT$
403.0
《
透过器物看历史(全6册)
》
售價:NT$
2234.0
《
我在台北故宫博物院读名画
》
售價:NT$
500.0
《
尼罗河往事:古埃及文明4000年
》
售價:NT$
347.0
《
一个人·谁也不是·十万人(诺贝尔文学奖得主反思自我的巅峰之作)
》
售價:NT$
250.0
《
重写晚明史(全5册 精装)
》
售價:NT$
3560.0
《
汉末晋初之际政治研究
》
售價:NT$
602.0
|
編輯推薦: |
机器学习算法专家基于学习规律而作
通过游戏开发透彻讲解Python编程思路
拆解底层知识让读者理解AI训练的逻辑与方法
让读者在设计游戏的愉悦中学习人工智能知识
|
內容簡介: |
本书以Python为开发环境,以小游戏开发为载体,对编程及人工智能技术进行讲解,让读者同时学习编程及人工智能知识。 本书共16章,可分为4个部分。第1部分为第1~3章,分别是编程、游戏和AI,Python环境准备及Pygame基础知识。第2部分为第4~7章,分别讲解了贪吃蛇游戏编程、打砖块游戏编程、笨鸟先飞游戏编程和五子棋游戏编程。第3部分为第8~12章,分别介绍了神经网络和PyTorch基础、蒙特卡罗模拟、强化学习入门、深度强化学习DQN及遗传算法。第4部分为第13~16章,分布介绍了贪吃蛇AI编程、打砖块AI编程、笨鸟先飞AI编程和五子棋AI编程。 本书内容系统性强,语言精练,适合对AI游戏编程感兴趣的读者阅读,也适合作为青少年游戏编程培训的参考用书。
|
關於作者: |
肖凯,蚂蚁集团大安全事业群算法专家,经济学硕士,长年工作于互联网行业,专注于互联网大数据挖掘和机器学习相关领域的研究。B站“肖老师的退休生活”,不定期更新的UP主,眼下致力于讲解人工智能/游戏设计/批判性思维。目前从事风控算法开发,精通机器学习算法理论和编程应用。
|
目錄:
|
第1章 编程、游戏和AI 1
1.1 代码的世界 1
1.2 什么是编程 2
1.3 什么是AI 2
1.4 游戏编程和游戏AI 3
1.4.1 游戏主循环 3
1.4.2 二维图形显示 4
1.4.3 输入处理 5
1.4.4 游戏AI
1.5 本章小结 6
第2章 Python环境准备和预备知识 7
2.1 Python编程环境安装 7
2.2 编写第一个小游戏 8
2.3 面向对象编程 11
2.4 使用Python模块 14
2.4.1 random模块 15
2.4.2 NumPy模块 15
2.4.3 matplotlib模块 16
2.4.4 copy模块 17
2.4.5 collections模块 17
2.5 本章小结 18
第3章 Pygame基础知识 19
3.1 Pygame的Hello World 19
3.2 显示图形 21
3.3 键盘和鼠标交互 22
3.4 加载图片和文字资源 24
3.5 增加音效和运动 25
3.6 连续键盘控制 27
3.7 碰撞检测 28
3.8 一个完整的游戏 29
3.9 本章小结 34
第4章 贪吃蛇游戏编程 35
4.1 贪吃蛇游戏介绍 35
4.1.1 游戏规则 35
4.1.2 游戏资源 36
4.2 游戏功能和程序设计 37
4.2.1 游戏功能 37
4.2.2 程序设计
4.3 代码实现 38
4.3.1 模块加载、位置和方向 38
4.3.2 Snake类 38
4.3.3 Berry类 40
4.3.4 Wall类 41
4.3.5 Game类定义 42
4.3.6 碰撞检测 43
4.3.7 绘图输出 43
4.3.8 游戏主循环 44
4.4 本章小结 45
第5章 打砖块游戏编程 46
5.1 打砖块游戏介绍 46
5.1.1 游戏规则 46
5.1.2 游戏资源 47
5.2 游戏功能和程序设计 47
5.2.1 游戏功能 47
5.2.2 程序设计 48
5.3 打砖块游戏代码实现 48
5.3.1 Bat类 48
5.3.2 Ball类 49
5.3.3 Bricks类 50
5.3.4 Game类 51
5.3.5 碰撞检测 52
5.3.6 绘图输出 53
5.3.7 游戏主循环 54
5.4 双人对战游戏 55
5.5 本章小结
第6章 笨鸟先飞游戏编程 61
6.1 笨鸟先飞游戏介绍 61
6.1.1 游戏规则 61
6.1.2 游戏资源 62
6.2 游戏功能和程序设计 62
6.2.1 游戏功能 62
6.2.2 程序设计 62
6.3 代码实现 63
6.3.1 Bird类 63
6.3.2 Pipe类 66
6.3.3 Button类 67
6.3.4 Game类 68
6.3.5 玩家输入处理 69
6.3.6 碰撞检测 69
6.3.7 游戏数据更新 70
6.3.8 绘图输出 72
6.3.9 游戏主循环 72
6.4 本章小结
第7章 五子棋游戏编程 74
7.1 五子棋游戏介绍 74
7.1.1 游戏规则 74
7.1.2 游戏资源 74
7.2 游戏功能和程序设计 75
7.2.1 游戏功能 75
7.2.2 程序设计 75
7.3 代码实现 76
7.3.1 Board类 76
7.3.2 Button类 78
7.3.3 Board_Area类 78
7.3.4 Message_Area类 79
7.3.5 Game类 79
7.4 本章小结 84
第8章 神经网络和PyTorch基础 85
8.1 最优化方法 85
8.1.1 什么是最优化 85
8.1.2 梯度下降算法 86
8.2 PyTorch基础知识 89
8.2.1 什么是PyTorch 89
8.2.2 PyTorch的张量操作 90
8.2.3 自动计算梯度 92
8.2.4 用PyTorch进行最优化 93
8.3 神经网络 94
8.3.1 神经网络是什么 94
8.3.2 矩形周长问题 95
8.3.3 用PyTorch解决矩形周长问题 99
8.3.4 用PyTorch解决矩形面积问题 100
8.4 使用神经网络玩井字棋游戏 101
8.5 本章小结 104
第9章 蒙特卡罗模拟 105
9.1 什么是随机模拟 105
9.2 骰子的模拟实验 107
9.3 硬币的模拟实验 109
9.4 扑克牌的模拟实验 111
9.5 使用蒙特卡罗方法玩井字棋游戏 112
9.6 本章小结 116
第10章 强化学习入门 118
10.1 什么是强化学习 118
10.2 冰湖迷宫问题 120
10.3 用蒙特卡罗方法解决冰湖迷宫问题 123
10.4 SARSA算法 127
10.5 Q-Learning算法 129
10.6 本章小结 132
第11章 深度强化学习算法DQN 133
11.1 什么是深度强化学习 133
11.2 用DQN解决冰湖迷宫问题 135
11.3 DQN的完整结构和优化 138
11.4 本章小结
第12章 遗传算法 143
12.1 什么是遗传算法 143
12.2 用遗传算法解决最优化问题 144
12.3 用遗传算法解决背包问题 148
12.4 用遗传算法训练神经网络 150
12.5 本章小结
第13章 贪吃蛇游戏AI编程 156
13.1 整体设计思路 156
13.2 贪吃蛇游戏环境改造 157
13.2.1 环境改造思路 157
13.2.2 改造代码 158
13.3 AI引擎的设计和编写 162
13.3.1 DQN回顾 162
13.3.2 编写AI引擎 162
13.4 AI环境与AI引擎的组装运行 165
13.5 本章小结 168
第14章 打砖块游戏AI编程 169
14.1 打砖块游戏环境改造 169
14.1.1 环境改造思路 169
14.1.2 代码实现 170
14.2 AI引擎的设计和编写 172
14.3 AI环境和AI引擎的组装运行 174
14.4 本章小结 176
第15章 笨鸟先飞游戏AI编程 178
15.1 基于DQN的AI引擎 178
15.1.1 笨鸟先飞游戏代码改造 178
15.1.2 笨鸟先飞游戏的AI引擎的组装 181
15.2 基于遗传算法的AI引擎 182
15.2.1 整体设计思路 182
15.2.2 Linear_Net类的改造 182
15.2.3 Bird类的改造 183
15.2.4 Game类的改造 184
15.2.5 遗传算法函数编写 186
15.2.6 算法效果 188
15.3 本章小结 188
第16章 五子棋游戏AI编程 189
16.1 MCTS的整体思路 189
16.2 MCTS代码实现 191
16.3 五子棋游戏程序改造 196
16.4 本章小结 196
|
|