《游戏编程中的人工智能技术》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)Mat Buckland著;吴祖增,沙鹰翻译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2006
  • ISBN:7302125996
  • 页数:297 页
图书介绍:本书是人工智能游戏编程的一本指南性读物,介绍在游戏开发中怎样应用遗传算法和人工神经网络来创建电脑游戏中所需要的人工智能。本书讲解的原理通俗易懂,介绍程序详细周到,很适合于游戏编程者自学之用,也可以作为游戏培训教材使用。

目录 2

第1篇 Windows编程 2

第1章 Windows概述 2

1.1 历史一瞥(A Little Bit of History) 2

1.1.1 Windows 1.0 2

1.1.2 Windows 2.0 3

1.1.3 Windows 3.0和3.1 3

1.1.4 Windows 95 4

1.1.5 Windows 98及其后续版本 4

1.2 Hello World! 4

1.3 第一个Windows程序 5

1.3.1 匈牙利表示法 8

1.3.2 第一个窗口 10

1.3.3 Windows消息循环 15

1.3.4 Windows过程 17

1.3.5 键盘输入 22

第2章 Windows编程进阶 25

2.1 Windows图形设备接口 25

2.1.1 设备描述表 26

2.1.2 各种绘图工具:画笔、画刷、颜色、线和形状 27

2.2 文本 38

2.2.1 TextOut 38

2.2.3 加入颜色和透明度 39

2.2.2 DrawText 39

2.2.4 实时消息抽取循环 40

2.3 如何创建后备缓冲 42

2.3.1 如何实现双缓冲 43

2.3.2 如何使用后备缓冲器 45

2.3.3 保持干净 47

2.4 使用资源 48

2.4.1 图标 49

2.4.2 光标 50

2.4.3 菜单 51

2.4.4 为菜单添加具体功能 52

2.5.1 一个简单的对话框 53

2.5 对话框 53

2.5.2 一些更有用的知识 56

2.6 正确定时 59

2.7 总结 60

第2篇 遗传算法 62

第3章 遗传算法入门 62

3.1 鸟和蜜蜂 62

3.2 二进制数速成 66

3.3 计算机内的进化 67

3.3.1 什么是赌轮选择法 68

3.3.4 建议的学习方法 69

3.3.2 杂交率 69

3.3.3 变异率 69

3.4 帮助Bob回家 70

3.4.1 为染色体编码 72

3.4.2 Epoch(时代)方法 75

3.4.3 参数值选择 77

3.4.4 算子函数 78

3.4.5 运行寻路人程序 80

3.4.6 二进制数转换3个问题的答案 80

3.5 练习 81

4.1 巡回销售员问题 82

第4章 置换码与巡回销售员问题 82

4.1.1 小心陷阱 83

4.1.2 CmapTSP,Sgenome,CgaTSP 85

4.2 置换杂交操作 90

4.3 交换变异操作 93

4.4 选择一个适应性函数 93

4.5 选择 95

4.6 把一切组合在一起 95

4.7 总结 97

4.8 练习 98

第5章 遗传算法优化 99

5.1.1 各种置换变异算子 100

5.1 TSP用的各种算子 100

5.1.2 各种置换杂交算子 104

5.2 各种处理工具 108

5.2.1 选择技术 110

5.2.2 变比技术 113

5.2.3 其他杂交算子 117

5.2.4 子群技术 119

5.3 总结 120

5.4 练习 120

第6章 登月也不难 121

6.1 创建和处理矢量图形 121

6.1.1 顶点和顶点缓冲 122

6.1.2 顶点变换 123

6.1.3 矩阵 128

6.2 矢量 132

6.2.1 矢量加、减法 133

6.2.2 计算矢量大小 134

6.2.3 矢量的数乘 135

6.2.4 矢量的规范化 135

6.2.5 矢量分解 136

6.2.6 矢量的点积 137

6.2.7 SVector2D实用工具类 137

6.3.3 质量 138

6.3.2 长度 138

6.3 相关的物理知识 138

6.3.1 时间 138

6.3.4 力 139

6.3.5 运动—速度 139

6.3.6 运动—加速度 140

6.3.7 力、质量、加速度三者的关系 142

6.3.8 引力 142

6.4 人工控制的登月工程 143

6.4.1 Ccontroller类的定义 143

6.4.2 CLander类的定义 144

6.4.3 UpdateShip函数 146

6.5 遗传算法控制的登月飞船 149

6.5.1 为基因组编码 150

6.5.2 杂交和变异操作 151

6.5.3 适应性函数 152

6.5.4 更新函数 153

6.5.5 运行程序 155

6.6 总结 156

6.7 习题 156

第3篇 神经网络 158

第7章 神经网络概述 158

7.1 神经网络介绍 158

7.2 一个生物学的神经网络——大脑 159

7.3 数字版的神经网络 161

7.3.1 相关的数学知识 162

7.3.2 神经细胞的用途 163

7.4 扫雷机游戏 165

7.4.1 选择输出 166

7.4.2 选择输入 168

7.4.3 确定隐藏的神经细胞数目 169

7.4.4 CNeuralNet.h(神经网络类的头文件) 169

7.4.5 神经网络的编码 174

7.4.6 遗传算法 175

7.4.7 扫雷机类 176

7.4.8 CController Class(控制器类) 179

7.4.9 运行此程序 184

7.4.10 功能的两个改进 184

7.5 总结 188

7.6 练习 188

第8章 为机器人提供知觉 190

8.1 回避障碍物 190

8.1.1 探测环境 191

8.1.2 适应性函数 193

8.2 为机器人提供记忆器 195

8.3 总结 201

8.4 练习 202

第9章 有监督的训练方法 203

9.1 异或函数 203

反向传播的工作原理 204

9.2 RecognizeIt——鼠标手势的识别 213

9.2.1 用向量表示一个手势 214

9.2.2 训练网络 215

9.2.3 录并变换鼠标数据 216

9.2.4 增加新手势 218

9.2.5 控制器类 218

9.3.1 增加动量 221

9.3 一些有用的技术和技巧 221

9.3.2 过拟合 222

9.3.3 柔性最大激励函数 223

9.4 监督学习的应用 224

9.5 一个现代寓言 225

9.6 练习 226

第10章 实时演化 227

10.1 外星人游戏 227

10.1.1 程序实现 228

10.1.2 运行BrainyAliens程序 238

10.2 练习 239

11.1 竞争约定问题 240

第11章 演化神经网络的拓扑 240

11.2 直接编码 242

11.2.1 基因子 242

11.2.2 二进制矩阵编码 242

11.2.3 基于节点的编码 244

11.2.4 基于路径的编码 246

11.3 间接编码 247

11.3.1 基于语法的编码 247

11.3.2 二维生长编码 248

11.4 拓扑扩张的神经演化 249

11.4.1 NEAT基因组 250

11.4.2 算子和创新 255

11.4.3 物种形成 271

11.4.4 Cga换时代方法 275

11.4.5 将基因组转变为表现型 280

11.4.6 运行Demo程序 286

11.5 总结 288

11.6 练习 288

附录A WEB资源 289

附录B 参考书目及推荐读物 291

附录C 光盘中的内容 295

后记 297