内容推荐 本书主要讲述计算机博弈及其实现的过程。第1章介绍计算机博弈的一些基本情况。第2章介绍极大极小算法,并以井字棋为例实现。第3章介绍Alpha-Beta算法,并以亚马逊棋为例实现。第4章介绍期望极大极小算法,并以爱恩斯坦棋为例实现。第5章介绍UCT算法,并以海克斯棋为例实现。第6章介绍强化学习在计算机博弈游戏中的应用,并以不围棋为例实现。第7章介绍西洋跳棋的算法,重点介绍可下位置的生成算法。第8章介绍非完备信息博弈游戏的实现方法,并以军棋为例实现。书中的案例全部采用目前使用量较大的C++语言来描述,并在表达中尽可能使读者易于转换为其他语言。附录A介绍目前中国大学生计算机博弈大赛部分项目的规则,方便需要的读者作为参考。本书提供部分源代码,登录华信教育资源网(www.hxedu.com.cn)注册后免费下载。 本书适合作为中国大学生计算机博弈大赛和其他计算机博弈比赛参考用书,也可以作为应用数学、计算机科学、人工智能等专业相关课程的教材。 目录 第1章 概述 1.1 人工智能简介 1.2 计算机博弈 1.3 计算机博弈竞赛 第2章 井字棋 2.1 井字棋简介 2.2 博弈树和极大极小算法 2.2.1 博弈树 2.2.2 极大极小算法 2.3 负极大极小算法 2.4 井字棋的估值函数 2.5 井字棋的实现 2.5.1 基本结构 2.5.2 人人对战 2.5.3 机机对战 2.5.4 人机对战 2.5.5 负极大极小算法的实现 2.6 程序测试 第3章 亚马逊棋 3.1 亚马逊棋简介 3.2 Alpha-Beta算法 3.3 亚马逊棋的走法生成 3.4 亚马逊棋的局面评估 3.5 亚马逊棋的实现 3.5.1 基本结构 3.5.2 人人对战 3.5.3 人机对战与机人对战 3.5.4 其他算法 第4章 爱恩斯坦棋 4.1 爱恩斯坦棋简介 4.2 期望极大极小算法 4.3 爱恩斯坦棋的估值 4.4 爱恩斯坦棋的实现 4.4.1 基本结构 4.4.2 人人对战 4.4.3 人机对战与机人对战 4.4.4 其他算法 第5章 海克斯棋 5.1 海克斯棋简介 5.2 算法 5.2.1 蒙特卡洛方法 5.2.2 蒙特卡洛树搜索 5.2.3 UCT算法 5.3 海克斯棋的实现 5.3.1 基本结构 5.3.2 基本功能的实现 5.3.3 PMC算法的实现 5.3.4 UCT算法的实现 5.4 算法改进 第6章 不围棋 6.1 不围棋简介 6.2 强化学习 6.2.1 强化学习简介 6.2.2 Q学习算法 6.3 使用置换表表示棋盘状态 6.4 不围棋的实现 6.4.1 基本结构 6.4.2 MC算法的实现 6.4.3 Q学习算法的实现 第7章 西洋跳棋 7.1 西洋跳棋简介 7.2 西洋跳棋的实现 7.2.1 基本结构 7.2.2 基本功能的实现 7.2.3 走法生成 7.2.4 估值函数 7.2.5 搜索算法的实现 第8章 军棋 8.1 军棋简介 8.1.1 游戏规则 8.1.2 游戏特点 8.2 搜索算法 8.3 非完备信息局面的抽样 8.3.1 概率表 8.3.2 概率更新 8.3.3 局面抽样 8.4 走法生成 8.4.1 公路走法生成 8.4.2 铁路走法生成 8.4.3 工兵走法生成 8.5 MCTS算法的实现 8.5.1 节点设计 8.5.2 选择与扩展 8.5.3 模拟 8.5.4 反向传播 8.5.5 删除树 8.5.6 MCTS算法主函数 8.6 军棋博弈平台接口 8.7 程序优化分析 附录A 中国大学生计算机博弈大赛部分项目的规则 A.1 苏拉卡尔塔棋规则 A.2 六子棋规则 A.3 五子棋规则 A.4 幻影围棋规则 A.5 点格棋规则 参考资料 |