本站所列毕业设计(论文)资料均属于原创者所有,初衷是为大家在毕业设计(论文)过程中参考和学习交流之用。

毕业设计我帮你

五子棋算法竞赛平台

www.bysj580.com / 2020-03-27
五子棋算法竞赛平台文献综述
(一)前言
1. 研究背景
为了方便对弈并提高棋类爱好者的水平,线上的人与人的对战平台早已有之,随着Google的围棋人工智能AlphaGo在公开的大赛中击败围棋顶尖棋手,并随后在各大网上围棋对战平台中以master为注册账号挑战围棋界顶尖棋手获得全胜战绩,线上的人与机器的对战也趋向于成熟。而本选题旨在设计一个机器与机器对战的网上平台,平台的用户可以使用自己设计的机器算法与其他用户的机器算法进行对战。该平台的用户或许并不能提高自己的棋力,但是可以提高自己编写算法和程序的能力。
2. 相关研究
机器与机器的对战并不是一个新鲜的课题,AlphaGo训练过程中使用左右脑互博进行自我学习就是一种典型的机器对战,其他的面向大众的棋类人工智能也多具有此功能,如日本人工智能围棋软件Zen。然而这些机器对机器的对战都仅限于单机上,并且对战双方采用相同的算法和学习策略,输赢全凭运气。AlphaGo与Zen等围棋人工智能有过对决,这算是真正的不同算法之间的对决了,但是其对战的方法并未公开。面向大众的机器与机器的对决的对战平台还未问世,因此该平台的研究算得上是一种创新式研究。
(二)系统分析
1. C/S架构及其背景
Client/Server结构(C/S结构)是大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。C/S架构是一种比较早的软件架构,主要应用于局域网内。在这之前经历了集中计算模式,随着计算机网络的进步与发展,尤其是可视化工具的应用,出现过两层C/S和三层C/S架构,不过一直很流行也比较经典的是我们所要研究的两层C/S架构。C/S架构软件(即客户机/服务器模式)分为客户机和服务器两层:第一层是在客户机系统上结合了表示与业务逻辑,第二层是通过网络结合了数据库服务器。简单的说就是第一层是用户表示层,第二层是数据库层。客户端和服务器直接相连,这两个组成部分都承担着重要的角色。C/S架构的软件实在是数不胜数,从办公的OFFICE、WPS、WINRAR到杀毒软件如金山、瑞金再到我们的娱乐软件,如播放器、QQ、微信等,无处不见C/S架构。
2. 五子棋简介
五子棋是世界智力运动会竞技项目之一,是一种两人对弈的纯策略型棋类游戏,是世界智力运动会竞技项目之一,通常双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成5子连线者获胜。棋具与围棋通用,起源于中国上古时代的传统黑白棋种之一。主要流行于华人和汉字文化圈的国家以及欧美一些地区,是世界上最古老的棋。容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。已经在各个游戏平台有应用。
3. 五子棋规则
(1)对局双方各执一色棋子。
(2)空棋盘开局。
(3)黑先、白后,交替下子,每次只能下一子。
(4)棋子下在棋盘的空白点上,棋子下后,不得向其它点移动,不得从棋盘上拿掉。
(5)黑方的第一枚棋子可下在棋盘任意交叉点上。
(6)轮流下子是双方的权利,但允许任何一方放弃下子权(即:PASS权)
4. 极大极小化搜索
(1)从第一步开始到出现胜负或者和局期间所落的所有子,构成了一个解。而解空间就是一个树,解就是这解空间中的一条路径。只不过这个解空间是双方选择共同构成的,但是搜索整棵树是不现实的,因为整个搜索树的节点数量为指数级,所以只回溯n步,即考虑的是N步之内的最优解,它是考虑了N步之后的情况的。
(2)评估函数:评估函数将对棋盘上的所有黑子做出评分(连成线的等级越高,数量越多,估分就越高),也将对棋盘上的所有白子做出评分(连成线的等级越高,数量越多,估分就越高),然后计算评估值。机器将认为,这个评估值越高,整个局面对其越有利;这个评估值越低,整个局面对其越不利。
(3)max-min搜索最优解,即向后回溯n步,机器做出最有利于自己的选择(选择最高的评估值),轮到对方时,对方做出最有利于自己的选择(选择最低的评估值)。(他们的选择将被推迟,叶子节点先做出选择,然后层层往上推出那一层的最优解)
(三)总结
五子棋算法竞赛平台是一个比较新的平台,目前没有类似的公开面向大众的平台。因此该选题也是一个比较新的研究,对于实现该平台来说,五子棋规则以及C/S模型等概念的理解比较重要。该选题对于编程人员的编程水平和算法水平的提升有着重要的意义。极大极小化搜索以及α-β剪枝等基础的五子棋人工智能算法对于进一步的研究也有着重要的作用。
(四)参考文献
[1] 李文新, 郭炜. 北京大学程序在线评测系统及其应用[J]. 吉林大学学报(信息科学版), 2005(S2): 170-177.
[2] 朱全民, 陈松乔. 五子棋算法的研究与思考[J]. 计算技术与自动化, 2006(02): 71-74.
[3] Fei-Yue Wang, Jun Jason Zhang, Xinhu Zheng, Xiao Wang, Yong Yuan, Xiaoxiao Dai, Jie Zhang, Liuqing Yang. Where Does AlphaGo Go: From Church-Turing Thesis to AlphaGo Thesis and Beyond[J]. IEEE/CAA Journal of Automatica Sinica, 2016, 3(02): 113-120.
[4] 刘知青, 吴修竹. 解读AlphaGo背后的人工智能技术[J]. 控制理论与应用, 2016, 33(12): 1685-1687. 

收缩