新書推薦:
《
失败:1891—1900 清王朝的变革、战争与排外
》
售價:HK$
85.8
《
万千心理·我的精神分析之道:复杂的俄狄浦斯及其他议题
》
售價:HK$
104.5
《
荷马:伊利亚特(英文)-西方人文经典影印21
》
售價:HK$
107.8
《
我的心理医生是只猫
》
售價:HK$
49.5
《
股权控制战略:如何实现公司控制和有效激励(第2版)
》
售價:HK$
98.8
《
成吉思汗传:看历代帝王将相谋略 修炼安身成事之根本
》
售價:HK$
61.6
《
爱丁堡古罗马史-罗马城的起源和共和国的崛起
》
售價:HK$
76.8
《
人生解忧:佛学入门四十讲
》
售價:HK$
107.8
|
內容簡介: |
本书是为计算机博弈竞赛爱好者而撰写,主要介绍了计算机博弈的基本原理,介绍了计算机博弈程序开发中常用的算法,包括极大极小算法、α-β算法、期望搜索算法、UCT算法和Q学习算法等,并介绍了以α-β算法为基础的一些常用的变种算法和提高搜索效率的方法。本书以目前我国开展的中国大学生计算机博弈大赛暨中国锦标赛为基础,给出了包括亚马逊棋、点格棋、桥牌等7个博弈游戏的算法与实现案例,涵盖了完备信息和非完备信息两大部分计算机博弈的内容,每个案例各有特色,对不同博弈游戏的估值均有详细介绍。阅读本书的读者应具有一定C或C++基础。本书可以作为人工智能或智能计算等相关专业的教材,也可以作为计算机博弈爱好者的参考用书。
|
目錄:
|
前言第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用极大极小法实现井字棋游戏2.2.3α-β剪枝算法2.2.4期望搜索算法2.2.5迭代加深2.2.6PVS算法2.3估值函数的设计2.3.1估值函数设计概述2.3.2估值函数设计示例2.3.3布局与估值2.3.4估值函数的调整方法2.4置换表2.5UCT算法2.5.1Monte Carlo算法2.5.2Monte Carlo树搜索2.5.3UCT算法概述2.6Q学习算法2.6.1强化学习2.6.2Q学习算法与示例第3章亚马逊棋的设计与实现3.1简介3.2规则3.3搜索算法3.4估值函数设计3.4.1领地的估值3.4.2棋子灵活度的估值3.5程序的设计与实现3.5.1棋盘表示与数据处理3.5.2估值函数中的Dji(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简介8.2规则8.3桥牌博弈程序的关键技术8.3.1抽样的设计8.3.2双明手求解器8.3.3优化抽样的算法实现8.4程序的设计与实现8.4.1桥牌博弈系统架构8.4.2博弈平台的设计与实现8.4.3AI引擎的设计与实现目录第9章德州扑克的设计与实现9.1简介9.2规则9.3博弈树的设计9.4估值函数的设计9.5专家系统和专家知识库的设计9.6程序的设计与实现9.6.1德州扑克博弈系统架构9.6.2搜索模块9.6.3估值模块附录附录A中国大学生计算机博弈大赛暨中国锦标赛部分项目规则附录B桥牌AI引擎的核心部分源码参考文献
|
內容試閱:
|
本书讨论计算机博弈程序(软件)的分析、设计、实现方法及过程。对计算机博弈的一些相关项目进行分析、实现,并引导学生独立完成相关软件,为有兴趣参与计算机博弈程序设计的读者提供参考。本书读者需要具备基本的计算机程序设计语言基础,并能够编写简单的应用程序,但对所需的语言并无特定的要求,C、C++或Java等语言均可作为具体实现的语言。本书关于搜索和估值方面的内容均有相关的伪码,读者可以很容易将相关内容转换为自己所熟悉的语言,同时提供的示例从简单开始,逐步加深,便于学习。对于读者来说,重要的是如何学会自己动手设计实现相关程序或软件,而不是从书上或网上复制程序。本书在撰写过程中以分析与设计为主,以代码实现为辅,通过对软件的分析,从算法的原理出发,将结构、流程、伪码相结合,引导读者独立完成相关软件的设计。同时,注重程序算法的效率,实现对效率从理论到实践进行研究。此外,通过软件工程的方法分析与设计相关软件,使读者能从全局观念出发来设计完成软件,从示例中体会到从全局出发以工程方法设计软件的重要性。本书共10章。第1章介绍了计算机博弈的一些基本情况。第2章介绍了计算机博弈软件设计的基本原理和基本方法,以及目前较为先进的计算机博弈技术和实现方法。第3~9章介绍了中国大学生计算机博弈大赛暨中国锦标赛中一些项目的分析、设计和实现,包括亚马逊棋、点格棋、六子棋、苏拉卡尔塔棋、西洋跳棋、桥牌和德州扑克,并以软件结构结合伪码为主,兼顾不同计算机语言的实现,部分示例采用目前使用量较大的C++或Java语言来描述,在表达中尽可能使读者易于转换。附录A介绍了目前中国大学生计算机博弈大赛暨中国锦标赛部分大学生项目的规则。在附录B中,提供了采用博弈平台的桥牌游戏的部分核心源代码,可供有需要的读者参考。本书作者的分工如下:沈阳工业大学李媛编写了第1章,沈阳工业大学王静文编写了第2~7章,沈阳航空航天大学邱虹坤编写了第8章,沈阳大学高强编写了第9章,沈阳工业大学刘中亮、张鹏飞编写了附录A。陈建、史孝兵、尹本立等对各章的编写给出了很好的建议,并实现了具有相当水准的博弈软件,使本书所涉及的内容都得以具体实现,使得本书更加完善,在此表示诚挚的谢意。同时,也感谢参与试读的同学,在学习期间抽出宝贵的时间来阅读本书,对本书的易读性、易用性提出了很多宝贵的意见。书中难免有疏漏与不妥之处,敬请读者不吝指正。请将宝贵意见发至wangjngwen007@126.com邮箱,以便与作者沟通交流。作者
|
|