• 代码的力量:C/C++中国象棋程序入门与提高
图书条目标准图
21年品牌 40万+商家 超1.5亿件商品

代码的力量:C/C++中国象棋程序入门与提高

95 八五品

仅1件

重庆南岸
认证卖家担保交易快速发货售后保障

作者蒋鹏 著

出版社电子工业出版社

出版时间2009-05

版次1

装帧平装

上书时间2023-02-02

重邮书店

七年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:八五品
图书标准信息
  • 作者 蒋鹏 著
  • 出版社 电子工业出版社
  • 出版时间 2009-05
  • 版次 1
  • ISBN 9787121085758
  • 定价 35.00元
  • 装帧 平装
  • 开本 16开
  • 纸张 胶版纸
  • 页数 333页
  • 字数 550千字
  • 正文语种 简体中文
【内容简介】
  《C/C++中国象棋程序入门与提高》由浅入深地介绍了中国象棋博弈程序的各个基本知识点,以实际案例来促进读者对算法的理解,提高实际编程能力。主要内容包括:中国象棋博弈,局面表示,走法表示及生成走法,局面评估,基本搜索算法,人机博弈,机器对弈,置换表,算法分析及测试技术,时间控制策略,启发式搜索策略,更多搜索策略。
  《C/C++中国象棋程序入门与提高》适用于在校计算机专业本科学生及研究生,以及程序设计、算法、博弈和人工智能的爱好者及专业人士。
【目录】
第1章绪论1
1.1机器博弈1
1.1.1Tic-Tac-Toe游戏2
1.1.2国际象棋机器博弈4
1.1.3机器博弈发展趋势5
1.2中国象棋程序6
1.2.1中国象棋博弈程序组成6
1.2.2中国象棋程序研究现状6
1.2.3全国计算机博弈锦标赛7
1.3C/C++基础知识8
1.3.1结构体8
1.3.2联合体10
1.3.3枚举11
1.3.4指针11
1.3.5面向对象程序设计11
1.4数据结构基础知识12
1.4.1线性表13
1.4.2栈和队列14
1.4.3树14
1.4.4查找15
1.4.5排序15
1.5算法分析基础知识16
1.5.1算法描述16
1.5.2算法时间复杂度分析18

第2章中国象棋博弈21
2.1中国象棋简介21
2.1.1棋盘与棋子21
2.1.2走棋和吃子22
2.1.3将死和困毙22
2.1.4胜、负、和22
2.2中国象棋博弈程序23
2.2.1局面表示24
2.2.2走法生成25
2.2.3搜索算法25
2.2.4局面评估26

第3章局面表示29
3.1简单的表示方法29
3.2扩展数组表示31
3.2.1棋盘表示31
3.2.2棋子表示32
3.2.3二维数组与一维数组34
3.3字符串表示局面34
3.3.1棋子表示35
3.3.2棋盘表示35
3.3.3走方表示36
3.3.4走棋步数36
3.4不同表示方法的转换36
3.4.1一维数组转换成FEN串37
3.4.2FEN串转换成一维数组40

第4章走法表示及生成走法45
4.1走法表示45
4.2车炮马象(相)士(仕)卒(兵)将(帅)走法生成46
4.2.1马的走法生成46
4.2.2将(帅)的走法生成49
4.2.3士(仕)的走法生成50
4.2.4象(相)的走法生成52
4.2.5车的走法生成54
4.2.6炮的走法生成56
4.2.7卒(兵)的走法生成58
4.3产生一个局面的全部走法61
4.4简化合理位置数组63
4.5棋子数组67
4.6将军检测72
4.7如何更快地生成走法79
4.7.1事先生成法79
4.7.2位行位列80

第5章局面评估83
5.1简单的局面评估算法83
5.2带棋子数组的评估86
5.3新的价值数组87
5.4位置分值88
5.5灵活性分值94
5.6更为复杂的局面评估98
5.7知识与速度99

第6章基本搜索算法101
6.1搜索树101
6.2深度优先搜索与广度优先搜索102
6.3简单的两步搜索104
6.4极大点与极小点104
6.5结点的层次106
6.6极大极小搜索算法106
6.7局面变换108
6.7.1用局部变量来保存局面108
6.7.2用全局变量来保存局面109
6.8走法栈110
6.9获取最佳走法111
6.10完整的搜索过程113
6.11合并极大点与极小点搜索124
6.12负极大值搜索125
6.13极大极小搜索时间分析129
6.14搜索剪枝133
6.15Alpha-Beta搜索136
6.16Alpha-Beta搜索时间分析138
6.17alpha一直小于beta吗?140

第7章人机博弈141
7.1基本知识141
7.1.1程序流程141
7.1.2棋局状态142
7.1.3图形界面开发工具142
7.2VC++工程143
7.2.1创建VC++工程143
7.2.2VC++工程文件145
7.3棋盘显示147
7.3.1加载图片147
7.3.2棋盘显示150
7.4计算机走棋154
7.4.1添加类154
7.4.2添加类的成员156
7.4.3添加走法结构158
7.5走法显示158
7.6棋手走棋160
7.7时间处理164
7.7.1计时策略164
7.7.2WM_TIMER消息165
7.7.3显示时间166

第8章机器对弈——博弈引擎167
8.1UCCI协议167
8.1.1通信方式167
8.1.2引擎状态168
8.1.3指令168
8.1.4反馈169
8.2常用指令和反馈169
8.2.1position169
8.2.2banmoves170
8.2.3go170
8.2.4bestmove170
8.3管道171
8.3.1创建管道172
8.3.2读写管道174
8.4UCCI棋盘表示177
8.4.1棋盘的坐标表示177
8.4.2走法转换178
8.5博弈引擎179
8.5.1引擎程序运行方式179
8.5.2通信处理179
8.5.3协议处理183
8.5.4工作流程183
8.6界面程序186
8.6.1功能描述186
8.6.2加载引擎187
8.6.3卸载引擎189
8.6.4常用功能189

第9章置换表193
9.1置换表194
9.2哈希表194
9.2.1存储194
9.2.2查找195
9.2.3冲突195
9.2.4冲突处理方法195
9.2.5影响哈希表效率的因素196
9.3Zobrist键值197
9.4哈希函数198
9.5结合置换表的Alpha-Beta搜索200
9.6结点深度205
9.7Alpha结点和beta结点208
9.8最佳走法214
9.9获胜局面219
9.10超出边界的Alpha-Beta搜索225
9.11哈希表的冲突处理策略230
9.12清空哈希表232

第10章算法分析及测试技术233
10.1测试内容233
10.2测试用例设计234
10.2.1开局234
10.2.2中局235
10.2.3残局236
10.3测试代码237
10.3.1负极大值搜索237
10.3.2Alpha-Beta搜索241
10.3.3结合置换表的Alpha-Beta搜索245
10.4测试结果分析253
10.4.1死亡结点253
10.4.2置换表的不稳定性256
10.4.3三种算法对照分析256

第11章时间控制策略259
11.1带时限的搜索算法259
11.2平均时间分配260
11.3迭代深化(IterativeDeepening)263
11.3.1限定时间内究竟能搜索多深263
11.3.2迭代深化265
11.3.3迭代深化时间分析267
11.4动态时间分配267
11.5结合置换表的限时搜索269

第12章启发式搜索策略273
12.1杀手启发(KillerHeuristic)273
12.2历史表启发(HistoryHeuristic)274
12.3走法排序275
12.3.1吃子走法和不吃子走法275
12.3.2新的走法数组287
12.3.3吃子走法价值292
12.3.4不吃子走法的价值298
12.3.5走法排序299
12.4克服水平线效应301
12.5空着306
12.6开局库307
12.6.1开局库文件307
12.6.2开局库在内存中的存储308
12.6.3读取开局库文件308
12.6.4获取开局库走法312
12.6.5修改相关函数314
12.7残局库322

第13章更多搜索策略323
13.1PVS主要变例搜索323
13.2MTD(f)算法326
13.3后台思考332
13.4最小树332
13.5你的策略333
13.6博弈程序的智能水平333
参考文献334
点击展开 点击收起

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP