人工智能掼蛋大赛平台设计与实现

论文价格:150元/篇 论文用途:硕士毕业论文 Master Thesis 编辑:硕博论文网 点击次数:
论文字数:32502 论文编号:sb2022091510194649417 日期:2022-10-08 来源:硕博论文网

本文是一篇计算机论文,本文主要论述了人工智能掼蛋大赛平台,从实际比赛出发,对具体游戏场景制定具体协议,根据协议设计并实现消息解析模块。选手基于协议和动作解析模块,可以自由地选择编程语言进行智能算法程序开发,并通过Webscoket连接至平台,降低了算法接入的代价,实现了平台的语言无关性。提出了一种牌型自动提取优化方法,和牌型自动提取的原始方法相比,所提出的优化方法具有更高的时间效率。
第一章 绪论
1.1选题背景与意义
近年来,人工智能在游戏方面与人类顶尖选手之间的对抗受到广泛关注,如2016 年,谷歌公司AlphaGo[1]战胜围棋世界冠军李世石;2017年AlphaGo的升级版Master[2]横扫全球60位顶尖高手;2017年初,阿尔伯塔大学开发的德州扑克人工智能DeepStack[3]取得了骄人的胜绩;2018年,OpenAI团队在《DOTA》5v5[4] 环境中, 采用多智能体深度强化学习技术,成功击败人类顶尖玩家;2019年初,DeepMind团队在星际争霸II[5]游戏中推出的AlphaStar[6]分别以 5:0的成绩战胜了两位职业选手 TLO 和MaNa。人工智能在智能游戏领域得到了愈加广泛的重视,而目前掼蛋游戏算法的研究却极少有人涉足,其中的一大原因是缺少一个开放的游戏平台共享掼蛋游戏的数据集。掼蛋作为牌类游戏的一种,其特殊的“逢人配”规则让游戏空间变得复杂,对于如何拆分手牌变得更加困难,在这一方面比斗地主等其他牌类游戏更具有挑战和研究价值。
掼蛋,起源于江苏,在江苏以及周边地区广为流传的扑克游戏,拥有广泛的群众基础。据估计江苏和安徽两省有超过2000万人常参加各种玩法的掼蛋游戏,地方电视台亦推出相关的掼蛋栏目,其网站亦上线了掼蛋游戏和赛事新闻等内容。2017年1月,作为趣味棋牌竞技化的项目之一,国家体育总局棋牌运动管理中心颁布了统一的淮安掼蛋竞技规则。
本文通过开放平台的方式为研究人员提供快速搭建自身算法程序与其他算法之间进行对抗的掼蛋环境,并基于本文所实现的平台举办“首届‘洪泽湖杯’中国人工智能掼蛋大赛”,以此来产生掼蛋游戏数据集,解决掼蛋智能算法研究数据匮乏和缺少对抗环境的问题。本文提出并实现一个牌型自动生成模块,提供合法有效的动作可选集,引入动作索引,以此来节省研究人员对牌型动作提取算法进行复现的时间以及生成动作的时间。本文基于WebSocket通过JSON设计通信协议减少智能算法程序接入程序的代价,打造成一个跨编程语言、跨操作系统的开放平台。本文通过实现交互友好的人类牌手客户端以及可逐步播放的对局回放工具让更多热爱掼蛋游戏的人类玩家能够感受和人工智能对抗的乐趣。
.........................
1.2国内外游戏算法平台现状
在人工智能发展的历史长河中,许多研究者和科学家们都在不断地尝试让人工智能不断地挑战难度更高的游戏。自AlphaGo战胜韩国著名棋手李世石后,人工智能继而向难度更高的无限注德州扑克[7]发起挑战。游戏有着设定的规则,可以量化的目标、正反馈和胜利条件,封闭而安全的环境,能够为人工智能提供一种量化的评估方法,与此同时能够将人工智能的成果展示到公众面前。人们不一定能够从技术方面理解人工智能,但一定能够从游戏中看到人工智能的进步。因此,越来越多的面向算法的游戏平台出现,越来越多的面向算法的赛事兴起。
本文从是否限定算法的编程语言、是否限定平台所使用的操作系统、是否为算法提供合法动作以及是否提供回放功能四个方面对国内外的面向人工智能算法的游戏平台进行调研,如表1.1所示。并根据表1.1的内容,对每个平台分析。

计算机论文怎么写
计算机论文怎么写

..........................
第二章 相关技术
2.1WebSocket
WebSockets 提供客户端和服务器之间的持久连接,双方可以使用它随时开始发送数据。客户端通过称为 WebSocket 握手的过程建立 WebSocket 连接。此过程从客户端向服务器发送常规 HTTP 请求开始。HTTP请求报文中的Upgrade字段中包含一个标头,用于通知服务器客户端希望建立 WebSocket 连接。如果服务器支持 WebSocket 协议,则它同意升级并通过Upgrade响应中的标头进行通信。握手完成后,初始HTTP连接将替换为使用相同底层 TCP/IP 连接的 WebSocket 连接。此时任何一方都可以开始发送数据。
使用 WebSockets,可以传输任意数量的数据,而不会产生与传统 HTTP 请求相关的开销。数据通过 WebSocket 作为消息传输,每个消息由一个或多个包含程序所发送的数据(有效负载)的帧组成。为了确保消息在到达客户端时可以正确重构,每个帧都以 4-12 字节的有关有效载荷的数据为前缀。使用这种基于帧的消息传递系统有助于减少传输的非有效载荷数据量,从而显着减少延迟,能够达到实时通信的效果。
............................
2.2Python
Python是一种跨平台的计算机程序设计语言,具有解释性,编译性,互动性,以及面向对象性。最初被设计用于编写自动化脚本,随着版本的不断更新和语言新功能的添加,越多被应用于独立的,大型项目开发。
人工智能被认为是未来的趋势技术,在编程语言的选择上,Python编程语言获得了巨大的普及。其原因之一为Python语法简单,编码少,使用非常少的编码和简单的语法,即可快速开发AI应用程序。其另外一个原因为Python拥有大量内置的计算机科学第三方库和人工智能框架,如NumPy,SciPy,matplotlib,nltk,SimpleAI是一些重要的内置Python库,Tensorflow,Pytorch等一些人工智能框架。

计算机论文怎么写
计算机论文怎么写

........................
第三章 牌型动作自动生成模块 ........................... 13
3.1自动生成的意义 ..................................... 13
3.2返回动作索引的意义 .................... 14 
第四章 语言无关性设计 ......................... 27
4.1数据字段及动作设计 ........................... 27
4.2JSON数据设计与解析 ............................ 30
第五章 客户端与对局回放 .................................. 42
5.1视化操作界面客户端 ......................................... 42
5.2局回放动机......................... 42
第五章  客户端与对局回放
5.1可视化操作界面客户端
真人牌手通过可视化操作界面客户端来和智能算法程序进行对战,其主要包括如下四个模块:(1)网络通信模块;网络通信模块用于接收平台发送的JSON消息和发送真人牌手做出的动作;(2)GUI模块;GUI模块提供卡牌、按钮、玩家信息、游戏信息等可视化图形界面;(3)游戏逻辑模块;游戏逻辑模块保存平台发送的真人牌手的手牌和可选动作,负责对真人牌手选择的牌型做合法性检验,仅有合法的牌型动作才能向平台发送信息,减少服务器负担;(4)理牌模块;理牌模块提供按花色排序、按牌点大小排序、按相同牌点的牌的数量排序。可视化操作界面客户端结构图如图5.1所示,客户端示例图如5.2所示。

计算机论文参考
计算机论文参考

...............................
第六章 总结与展望
6.1总结
本文主要论述了人工智能掼蛋大赛平台,从实际比赛出发,对具体游戏场景制定具体协议,根据协议设计并实现消息解析模块。选手基于协议和动作解析模块,可以自由地选择编程语言进行智能算法程序开发,并通过Webscoket连接至平台,降低了算法接入的代价,实现了平台的语言无关性。提出了一种牌型自动提取优化方法,和牌型自动提取的原始方法相比,所提出的优化方法具有更高的时间效率。基于PyQt5实现真人牌手客户端以及设计数据文件格式实现回放工具。
主要完成的工作为以下几个方面:
(1)大赛平台牌型动作自动生成模块实现,提出一种牌型自动提取的优化方法,能够自动生成当前手牌在具体场景下的可选动作集合,该方法包括牌点列表算法、单张型牌型生成算法和连续型牌型生成算法,并通过实验对比证明,该方法比牌型自动提取方法原始方法具有更高的时间效率。
(2)为降低算法程序接入的代价,提供便捷的对外接口,对“掼蛋”游戏中花色、卡牌、牌型、通知类消息、动作类消息进行JSON设计,并针对制定的JSON提供解析模块,实现了平台的语言无关性。
(3)实现真人牌手客户端,从三个角度分析了对局回放的必要性,设计数据文件的记录格式特点进行分析,通过使用不同的整型数值表示不同的卡牌,不同的字符表示游戏内的不同阶段,使用PyQt5工具包实现对局回放工具。
参考文献(略)


如果您有论文相关需求,可以通过下面的方式联系我们
点击联系客服
QQ 1429724474 电话 18964107217