成功加入购物车
蒋鹏 著 / 电子工业出版社 / 2009-05 / 平装
售价 ¥ 60.00
品相 八品
优惠 满包邮
延迟发货说明
上书时间2023-04-13
卖家超过10天未登录
代码的力量:C/C++中国象棋程序入门与提高
《C/C++中国象棋程序入门与提高》由浅入深地介绍了中国象棋博弈程序的各个基本知识点,以实际案例来促进读者对算法的理解,提高实际编程能力。主要内容包括:中国象棋博弈,局面表示,走法表示及生成走法,局面评估,基本搜索算法,人机博弈,机器对弈,置换表,算法分析及测试技术,时间控制策略,启发式搜索策略,更多搜索策略。
《C/C++中国象棋程序入门与提高》适用于在校计算机专业本科学生及研究生,以及程序设计、算法、博弈和人工智能的爱好者及专业人士。
第1章绪论 11.1机器博弈 11.1.1Tic-Tac-Toe游戏 21.1.2国际象棋机器博弈 41.1.3机器博弈发展趋势 51.2中国象棋程序 61.2.1中国象棋博弈程序组成 61.2.2中国象棋程序研究现状 61.2.3全国计算机博弈锦标赛 71.3C/C++基础知识 81.3.1结构体 81.3.2联合体 101.3.3枚举 111.3.4指针 111.3.5面向对象程序设计 111.4数据结构基础知识 121.4.1线性表 131.4.2栈和队列 141.4.3树 141.4.4查找 151.4.5排序 151.5算法分析基础知识 161.5.1算法描述 161.5.2算法时间复杂度分析 18第2章中国象棋博弈 212.1中国象棋简介 212.1.1棋盘与棋子 212.1.2走棋和吃子 222.1.3将死和困毙 222.1.4胜、负、和 222.2中国象棋博弈程序 232.2.1局面表示 242.2.2走法生成 252.2.3搜索算法 252.2.4局面评估 26第3章局面表示 293.1简单的表示方法 293.2扩展数组表示 313.2.1棋盘表示 313.2.2棋子表示 323.2.3二维数组与一维数组 343.3字符串表示局面 343.3.1棋子表示 353.3.2棋盘表示 353.3.3走方表示 363.3.4走棋步数 363.4不同表示方法的转换 363.4.1一维数组转换成FEN串 373.4.2FEN串转换成一维数组 40第4章走法表示及生成走法 454.1走法表示 454.2车炮马象(相)士(仕)卒(兵)将(帅)走法生成 464.2.1马的走法生成 464.2.2将(帅)的走法生成 494.2.3士(仕)的走法生成 504.2.4象(相)的走法生成 524.2.5车的走法生成 544.2.6炮的走法生成 564.2.7卒(兵)的走法生成 584.3产生一个局面的全部走法 614.4简化合理位置数组 634.5棋子数组 674.6将军检测 724.7如何更快地生成走法 794.7.1事先生成法 794.7.2位行位列 80第5章局面评估 835.1简单的局面评估算法 835.2带棋子数组的评估 865.3新的价值数组 875.4位置分值 885.5灵活性分值 945.6更为复杂的局面评估 985.7知识与速度 99第6章基本搜索算法 1016.1搜索树 1016.2深度优先搜索与广度优先搜索 1026.3简单的两步搜索 1046.4极大点与极小点 1046.5结点的层次 1066.6极大极小搜索算法 1066.7局面变换 1086.7.1用局部变量来保存局面 1086.7.2用全局变量来保存局面 1096.8走法栈 1106.9获取最佳走法 1116.10完整的搜索过程 1136.11合并极大点与极小点搜索 1246.12负极大值搜索 1256.13极大极小搜索时间分析 1296.14搜索剪枝 1336.15Alpha-Beta搜索 1366.16Alpha-Beta搜索时间分析 1386.17alpha一直小于beta吗? 140第7章人机博弈 1417.1基本知识 1417.1.1程序流程 1417.1.2棋局状态 1427.1.3图形界面开发工具 1427.2VC++工程 1437.2.1创建VC++工程 1437.2.2VC++工程文件 1457.3棋盘显示 1477.3.1加载图片 1477.3.2棋盘显示 1507.4计算机走棋 1547.4.1添加类 1547.4.2添加类的成员 1567.4.3添加走法结构 1587.5走法显示 1587.6棋手走棋 1607.7时间处理 1647.7.1计时策略 1647.7.2WM_TIMER消息 1657.7.3显示时间 166第8章机器对弈——博弈引擎 1678.1UCCI协议 1678.1.1通信方式 1678.1.2引擎状态 1688.1.3指令 1688.1.4反馈 1698.2常用指令和反馈 1698.2.1position 1698.2.2banmoves 1708.2.3go 1708.2.4bestmove 1708.3管道 1718.3.1创建管道 1728.3.2读写管道 1748.4UCCI棋盘表示 1778.4.1棋盘的坐标表示 1778.4.2走法转换 1788.5博弈引擎 1798.5.1引擎程序运行方式 1798.5.2通信处理 1798.5.3协议处理 1838.5.4工作流程 1838.6界面程序 1868.6.1功能描述 1868.6.2加载引擎 1878.6.3卸载引擎 1898.6.4常用功能 189第9章置换表 1939.1置换表 1949.2哈希表 1949.2.1存储 1949.2.2查找 1959.2.3冲突 1959.2.4冲突处理方法 1959.2.5影响哈希表效率的因素 1969.3Zobrist键值 1979.4哈希函数 1989.5结合置换表的Alpha-Beta搜索 2009.6结点深度 2059.7Alpha结点和beta结点 2089.8最佳走法 2149.9获胜局面 2199.10超出边界的Alpha-Beta搜索 2259.11哈希表的冲突处理策略 2309.12清空哈希表 232第10章算法分析及测试技术 23310.1测试内容 23310.2测试用例设计 23410.2.1开局 23410.2.2中局 23510.2.3残局 23610.3测试代码 23710.3.1负极大值搜索 23710.3.2Alpha-Beta搜索 24110.3.3结合置换表的Alpha-Beta搜索 24510.4测试结果分析 25310.4.1死亡结点 25310.4.2置换表的不稳定性 25610.4.3三种算法对照分析 256第11章时间控制策略 25911.1带时限的搜索算法 25911.2平均时间分配 26011.3迭代深化(IterativeDeepening) 26311.3.1限定时间内究竟能搜索多深 26311.3.2迭代深化 26511.3.3迭代深化时间分析 26711.4动态时间分配 26711.5结合置换表的限时搜索 269第12章启发式搜索策略 27312.1杀手启发(KillerHeuristic) 27312.2历史表启发(HistoryHeuristic) 27412.3走法排序 27512.3.1吃子走法和不吃子走法 27512.3.2新的走法数组 28712.3.3吃子走法价值 29212.3.4不吃子走法的价值 29812.3.5走法排序 29912.4克服水平线效应 30112.5空着 30612.6开局库 30712.6.1开局库文件 30712.6.2开局库在内存中的存储 30812.6.3读取开局库文件 30812.6.4获取开局库走法 31212.6.5修改相关函数 31412.7残局库 322第13章更多搜索策略 32313.1PVS主要变例搜索 32313.2MTD(f)算法 32613.3后台思考 33213.4最小树 33213.5你的策略 33313.6博弈程序的智能水平 333参考文献 334
展开全部
图2
图3
配送说明
...
相似商品
为你推荐
开播时间:09月02日 10:30