王静文、吴晓艺编著的《全国大学生计算机博弈大赛培训教程》讨论计算机博弈程序(软件)的分析、设计、实现方法和过程。对计算机博弈的一些相关项目进行分析、实现,并能引导学生独立完成相关软件,为有兴趣参与计算机博弈程序设计的读者提供参考。
本书主要讲述计算机博弈及其实现的过程,读者需有基本的计算机语言知识,并能够编写简单的应用程序,对所学的语言并无特定的要求,例如C、C++、Java等语言均可作为具体实现的语言,本书中关于搜索和估值方面的内容均有相关的伪码,读者很容易将相关内容转换为自己所熟悉的语言,同时提供的示例从简单开始,逐步加深,便于学习。
王静文、吴晓艺编著的《全国大学生计算机博弈大赛培训教程》主要介绍计算机博弈的基本原理、常用的搜索算法、全国大学生计算机博弈大赛常规比赛项目(包括亚马逊棋、点格棋、六子棋、苏拉卡尔塔棋和西洋跳棋)的设计与实现及当前先进的搜索算法在计算机博弈中的应用等。《全国大学生计算机博弈大赛培训教程》为有兴趣参与计算机博弈程序设计的读者提供参考。
第1章 概述
1.1 计算机博弈概述
1.2 国际计算机奥林匹克大赛
1.3 全国大学生计算机博弈大赛
第2章 计算机博弈基础
2.1 计算机博弈的基本原理
2.1.1 基本原理
2.1.2 计算机博弈的搜索方法
2.1.3 递归
2.1.4 回溯
2.2 常用搜索算法与示例
2.2.1 极大极小算法
2.2.2 极大极小法实现Tic—Tac—Toe游戏
2.2.3 a—8剪枝算法
2.2.4 期望搜索算法
2.3 估值函数的设计
2.3.1 估值函数设计概述
2.3.2 估值函数设计示例
2.3.3 布局与估值
2.3.4 估值函数调整方法简介
第3章 亚马逊棋的设计与实现
3.1 简介
3.2 规则
3.3 搜索算法
3.4 估值函数设计
3.4.1 领地的估值
3.4.2 棋子灵活度的估值
3.5 程序的设计与实现
3.5.1 棋盘表示与数据处理
3.5.2 估值函数中的D1(a)的实现
3.5.3 搜索算法的实现
3.5.4 走法生成器的实现
第4章 点格棋的设计与实现
4.1 简介
4.2 规则
4.3 点格棋的基本原理
4.3.1 基本概念
4.3.2 基本理论
4.4 搜索算法
4.5 估值函数设计
4.6 程序的设计与实现
4.6.1 基本结构
4.6.2 点格棋的数据表示
4.6.3 估值模块和搜索模块的实现
第5章 六子棋的设计与实现
5.1 简介
5.2 规则
5.3 估值分析
5.3.1 以棋型为基础的分析方法
5.3.2 以“路”为基础的分析方法
5.4 估值函数设计
5.4.1 基于棋型的估值函数设计
5.4.2 基于“路”的估值函数设计
5.5 程序的设计与实现
5.5.1 软件的基本结构
5.5.2 棋盘数据表示
5.5.3 走法生成器
5.5.4 开局库的使用
5.5.5 估值函数的实现
5.5.6 搜索算法实现
5.5.7 走法生成器的实现
5.5.8 置换表与哈希表
第6章 苏拉卡尔塔棋的设计与实现
6.1 简介
6.2 规则
6.3 算法分析
6.4 估值函数设计
6.4.1 棋子的位置分析
6.4.2 吃子路径的分析
6.4.3 棋子的灵活度分析
6.4.4 棋局估值
6.5 程序的设计与实现
6.5.1 软件的基本结构
6.5.2 棋盘数据与棋盘位置价值
6.5.3 走法生成模块的实现
第7章 西洋跳棋的设计与实现
7.1 简介
7.2 规则
7.3 估值分析
7.4 程序的设计与实现
7.4.1 程序基本结构
7.4.2 棋盘表示
7.4.3 走法生成
7.4.4 估值函数的实现
7.4.5 搜索算法的实现
第8章 计算机博弈大赛部分项目规则
8.1 幻影围棋(Phantom Go)规则
8.2 不围棋(No Go)规则
8.3 二人军棋规则
8.4 爱恩斯坦棋规则
参考文献