更新时间:2019-01-01 05:45:28
封面
版权信息
前言
第1章 绪论
1.1 机器博弈
1.2 中国象棋程序
1.3 C/C++基础知识
1.4 数据结构基础知识
1.5 算法分析基础知识
第2章 中国象棋博弈
2.1 中国象棋简介
2.2 中国象棋博弈程序
第3章 局面表示
3.1 简单的表示方法
3.2 扩展数组表示
3.3 字符串表示局面
3.4 不同表示方法的转换
第4章 走法表示及生成走法
4.1 走法表示
4.2 车炮马象(相)士(仕)卒(兵)将(帅)走法生成
4.3 产生一个局面的全部走法
4.4 简化合理位置数组
4.5 棋子数组
4.6 将军检测
4.7 如何更快地生成走法
第5章 局面评估
5.1 简单的局面评估算法
5.2 带棋子数组的评估
5.3 新的价值数组
5.4 位置分值
5.5 灵活性分值
5.6 更为复杂的局面评估
5.7 知识与速度
第6章 基本搜索算法
6.1 搜索树
6.2 深度优先搜索与广度优先搜索
6.3 简单的两步搜索
6.4 极大点与极小点
6.5 结点的层次
6.6 极大极小搜索算法
6.7 局面变换
6.8 走法栈
6.9 获取最佳走法
6.10 完整的搜索过程
6.11 合并极大点与极小点搜索
6.12 负极大值搜索
6.13 极大极小搜索时间分析
6.14 搜索剪枝
6.15 Alpha-Beta搜索
6.16 Alpha-Beta搜索时间分析
6.17 alpha一直小于beta吗?
第7章 人机博弈
7.1 基本知识
7.2 VC++工程
7.3 棋盘显示
7.4 计算机走棋
7.5 走法显示
7.6 棋手走棋
7.7 时间处理
第8章 机器对弈——博弈引擎
8.1 UCCI协议
8.2 常用指令和反馈
8.3 管道
8.4 UCCI棋盘表示
8.5 博弈引擎
8.6 界面程序
第9章 置换表
9.1 置换表
9.2 哈希表
9.3 Zobrist键值
9.4 哈希函数
9.5 结合置换表的Alpha-Beta搜索
9.6 结点深度
9.7 Alpha结点和beta结点
9.8 最佳走法
9.9 获胜局面
9.10 超出边界的Alpha-Beta搜索
9.11 哈希表的冲突处理策略
9.12 清空哈希表
第10章 算法分析及测试技术
10.1 测试内容
10.2 测试用例设计
10.3 测试代码
10.4 测试结果分析
第11章 时间控制策略
11.1 带时限的搜索算法
11.2 平均时间分配
11.3 迭代深化(Iterative Deepening)
11.4 动态时间分配
11.5 结合置换表的限时搜索
第12章 启发式搜索策略
12.1 杀手启发(Killer Heuristic)
12.2 历史表启发(History Heuristic)
12.3 走法排序
12.4 克服水平线效应
12.5 空着
12.6 开局库
12.7 残局库
第13章 更多搜索策略
13.1 PVS主要变例搜索