西游记纸牌游戏中的人工智能分析

上传人:jiups****uk12 文档编号:40122435 上传时间:2018-05-23 格式:DOCX 页数:8 大小:98.86KB
返回 下载 相关 举报
西游记纸牌游戏中的人工智能分析_第1页
第1页 / 共8页
西游记纸牌游戏中的人工智能分析_第2页
第2页 / 共8页
西游记纸牌游戏中的人工智能分析_第3页
第3页 / 共8页
西游记纸牌游戏中的人工智能分析_第4页
第4页 / 共8页
西游记纸牌游戏中的人工智能分析_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《西游记纸牌游戏中的人工智能分析》由会员分享,可在线阅读,更多相关《西游记纸牌游戏中的人工智能分析(8页珍藏版)》请在金锄头文库上搜索。

1、“西游记纸牌游戏西游记纸牌游戏”中的人工智能分析中的人工智能分析摘要摘要 “斗地主纸牌游戏”因其玩法简单、娱乐性强、老少皆宜的特点,在 近几年开始风靡全国,迅速成长为最受国人喜爱的牌类游戏之一。如今,许多 成熟的 AI 技术逐步应用到商业游戏中,取得了激动人心的结果,对游戏产业的 发展和 Game AI 的发展起到了决定性的推动作用。兴趣使然,作者将 AI 技术 与中国传统纸牌游戏结合,开发了一款基于安卓平台的人机交互游戏 app “西游记纸牌游戏”。本文基于作者的项目“西游记纸牌游戏”,以“西游记纸牌游戏”的 游戏规则为基础,对“西游记纸牌游戏”AI 程序的各个必要部分进行如下分析、 设计:

2、1、设计基于安卓手机平台的智能 NPC。基于游戏规则,综合考虑机器玩家 个性化、多样化、智能化等多个维度来对游戏 NPC 进行设计开发。大大提高游 戏的趣味性、玩家的挑战性、对手的神秘性,从而提高游戏的可玩性。2、提出通过权值矩阵来存储玩家手牌权值1大小,再结合手牌划分2评估机器玩家手牌强度。将纸牌信息量化,使其可计算、可比较,计算得出的手牌 权值大小和手牌强度将作为机器玩家是否叫牌、如何拆牌及出牌,系统评估的 重要依据。3、提出基于树搜索的不完全信息判断方法。我们将判断过程分为两个阶段 进行求解,第一阶段使用动态更新的博弈信息和合作博弈的知识来判断下一步 行为策略;第二阶段把已有的实例训练构

3、造成一棵决策树,先对已构造的决策 树进行完全搜索,将结果作为下一步行为。如果搜索结果为空,则采取第一阶 段的方法寻找行为策略。这个判断方法对算牌分析和拆牌分析起到了重大作用。4、提出基于博弈的规则决定合理出牌的方法。出牌方法的产生,依赖于几 个条件决策:座次和身份、算牌分析结果、出牌规则和自身的拆牌倾向。而出 牌规则的满足属于基本条件,座次和身份直接影响着各部分的权值分配,算牌 分析则是通过当前已知的所有信息对其余两家手牌和策略的一种估算及预测, 拆牌倾向性直接由拆牌方案给出出牌期望。综合以上条件,从而有针对性地给 出合理的出牌方案。12 关键词关键词 西游记纸牌游戏 拆牌算法 AI 技术 G

4、ame AI1 引言引言计算机博弈(也称机器博弈),是一个挑战无穷、生机勃勃的研究领域,是人工 智能领域的重要研究方向,是机器智能、兵棋推演、智能决策系统等人工智能领域的重 要科研基础。它包括两大应用场景棋类博弈和牌类博。国际计算机博弈已经 有了很长的历史,并且经历了一场波澜壮阔的“搏杀“,“深蓝“计算机的胜利也给人类留下 了难以忘怀的记忆,近年来,桥牌、扑克游戏也成为人工智能研究的热点问题。国内的 计算机博弈虽然起点低,困难大,但对于棋类博弈已日趋成熟。在我国,在线牌类游戏数量较多,其中“斗地主”作为中国广泛流传且 具有中国特色的纸牌游戏最受欢迎。“西游记纸牌游戏”是对“斗地主”的 创新化和

5、趣味化,它属于不完全知识博弈3范畴。中国的牌类游戏历史悠久、流传广泛、人气居高,但它的计算机研究却困难重重。将相关的人工智能技 术应用到“西游记纸牌游戏”,不仅使游戏生动灵活,极具商业价值和学术 价值,更是对祖国传统文化的继承与发扬。2.问题描述问题描述2.1“2.1“西西游记纸牌游戏游记纸牌游戏”基本规则:基本规则:一共 54 张牌,3 为沙僧,8 为八戒,5 为悟空,10 师傅,小王为观音,大 王为如来,2 为 pass 牌,其余牌按大小分为小妖怪到大妖怪。2 为 PASS,可以 通过上家出的任意牌,不包括如来和观音。玩家出牌阶段可以选择出单牌,对 牌,三张相同牌,四张相同牌。双王大过四张

6、相同牌,四张相同牌大过三张相 同牌,三张相同牌大过任何单牌,对牌,多张相同牌也可以压过多张相同牌, 前提是单张牌时要大于对方。如来和观音组合出牌,大于其他任何牌。初始阶段,一副牌 54 张,一人 17 张,留三张做底牌,在确定地主之前玩 家不能知道底牌。图 1 游戏流程图3 玩家1( 电脑)2.2“2.2“西游记纸牌游戏西游记纸牌游戏”的判定规则:的判定规则:有一个玩家牌出完,则所在方胜出。规定地主为一方,其余两家为一方。统计每位玩家积分区内扣置的牌数,一张即为一分,玩家最终所获分数, 依据分数的多少,确定玩家在游戏榜的排名。2.32.3 西游记纸牌游戏基本知识西游记纸牌游戏基本知识2.3.1

7、2.3.1 发牌 一副牌 54 张,一人 17 张,留 3 张做底牌,在确定地主之前玩家不能 看底牌。2.3.22.3.2 叫牌 叫牌按出牌的顺序轮流进行,叫牌时可以选择 “取经 ” 、“ 不取 ” 。如果有玩家选择 “取经 ” 则立即结束叫牌,该玩家为地主;如果都 “不叫”,则系统随机指明三位玩家其中一家为地主 。2.3.32.3.3 牌型2.3.3.12.3.3.1 牌型定义如下:火箭:即双王(如来和观音),最大的牌;玩家2(电脑)玩家 3发牌/叫牌/出牌发牌/叫牌/出牌发牌/叫牌/出牌随机从一家玩家开始,依次轮流随机发牌,直到留下三张做底牌。叫牌后选定地主,开始出牌。有一个玩家牌出完,则

8、所在方胜出。地主为一方,其余两家为一方。Pass: 2 为 PASS。炸弹:四张同数值牌(如四个 3,即四个沙僧);三张牌:数值相同的三张牌(如三个“J”字妖怪);对牌:数值相同但花色不同的两张牌(如红怪 4+黄怪 4);单牌:单个牌(如 5,即孙悟空);单顺:五张或更多的连续单牌(如:4 5 6 7 8 或 7 8 9 10 J Q K), 不包括 2 点和双王;双顺:三对或更多的连续对牌(如:3 3 4 4 5 5、7 7 8 8 9 9 10 10 J J),不包括 2 点和双王;三顺:二个或更多的连续三张牌(如:3 3 3 4 4 4、5 5 5 6 6 6 7 7 7 8 8 8),

9、不包括 2 点和双王;三带一:仅限三张悟空牌+一张单牌或一对牌,如:5 5 5+6 或 5 5 5+9 9,不包括 2 点和双王;四带(一)二:仅限四张悟空牌两张单牌或两对牌),如:5 5 5 538 或 5 5 5 5+6 67 7,不包括 2 点和双王。2.3.3.22.3.3.2 牌型大小各牌型的大小定义如下:火箭最大,可以打任意其它的牌;PASS 牌为 2,可以通过上家出的任意牌,不包括如来和观音。炸弹比火箭小,比其它牌大,都是炸弹时按牌的分值比大小;除火箭和炸弹外,其它牌必须牌型相同且总张数相同才能比大小;单牌按分值比大小,依次是大王小王过大妖唐僧中妖孙悟空八戒沙 僧小妖,不分花色(

10、玩家牌的布局由系统按从大到小的顺序,依次排列);对牌、三张牌都按分值比大小;顺牌按最大的一张牌的分值来比大小;带牌仅用于出牌,不能用于接牌,炸弹中分值大过 5 的和火箭可接带牌。3.相关人工智能技术相关人工智能技术3.1 设计基于安卓手机平台的智能设计基于安卓手机平台的智能 NPCNPC前面我们谈到要基于游戏规则,综合考虑 NPC 个性化、多样化、智能化等 多个维度来对游戏 NPC 进行设计开发。NPC 智能化就是要求它模拟人的思维、 行为,能够对环境作出适当反应或自主参与某一项活动。在本游戏中,NPC 智 能化指机器玩家能识别自己和其他玩家的扮演的角色和立场,通过对自己手牌 和当前牌局的分析

11、判断,完成叫牌、拆牌、出牌、让牌的动作。NPC 个性化、 多样化则指的是 NPC 的性格特征,具体体现于角色在候牌、取经4、出牌时的反应差异。比如,性格暴躁的角色,性格温和的角色,和古灵精怪的角色,面对 同样的情形,他们的反应肯定不一样。而多样化的人物设定,让游戏变得更加 逼真有趣。NPC 智能化我们在后面的内容中将做分条详细地介绍,这里我们先对 NPC 个性化、多样化做具体地设计与分析。综合考虑性格的复杂性、作者精力的局 限性和本游戏的实际需要,我们在此只做大体分类设计。下面给出一张表格来 了解本文 NPC 的性格特征分类:图 3 NPC 的性格特征分类表性格特征候牌取经出牌NPCid分类催

12、促频率取经概率出牌风格1标准型1 次/15s0.5标准2犹豫型1 次/20s0.1犹豫3耐心型1 次/25s0.3求稳4急躁型1 次/10s0.9快攻作者将 NPC 的性格特征融合进游戏流程中,通过一张图来帮助大家理解:图 5 NPC 个性化的游戏流程图4 真实玩家发生行为 1正在执行逻辑 A触发NPC逻辑 A 被中断,由行为1 触发判断性格特征分析执行行为 2执行行为 3执行行为 4执行行为 5NPC 性格特征设计好后,接下来就是 NPC 的投放,本文主要从两个方面进行考 虑:1、时间段:不同的时间段,玩家的流量不同,AI 的投放数量也会对应有波动;2、区域: 不同的区域、游戏场地,AI 投

13、放的数量、质量也会有区别。3.23.2 手牌权值评估手牌权值评估1,牌型的面值评估首先我们将扑克牌进行编码,转化为数值型数据。表 扑克牌编码表花色红牌黑牌绿牌黄牌编码abcd点 数沙 僧4悟 空67八 戒9师 父 2观 音如 来编 码12345678131415每张扑克牌用一个数组来表示,花色、点数、编号、单张面值、所属玩家 ID 是扑克牌数组的属性,用数组表示自己当前的手牌、其他玩家打出的手牌, 数组元素表示单张扑克牌,单张面值也就是单张牌值大小等于编号顺序大小, 用 CardValue 表示。接下来我们进行牌型的面值评估,初步的方法是直接给出各种牌型的面值, 牌型的面值 KindValue

14、=(CardNumber*CardValue),其中,KindValue 是指牌 型的面值,CardNumber 指该牌型的牌所具有的牌的张数,CardValue 指单张时 候牌的面值。2牌型关系的评估牌型间的关系也是手牌估值的重要内容之一,我们根据牌型关系给每种牌 型附一个牌型关系值动态变量,可以将某个牌型很有可能被敌方压住看成是一 个不利因素。例如手中持有 34567 的顺子,但是没有顺子回手,这时我们可以 根据该顺子的面值与恶劣的牌型关系导致的负牌型关系值之和来刻画。牌型关系的评估应该考虑到该谁出牌和地主农民的座次问题。如果自己是 农民,且是地主的下家,恶劣的牌型关系比较轻;如果是地主的

15、上家或者是地 主,牌型关系更加恶劣。3实时更改相应参数因子。因为牌类游戏属于不完全信息博弈,变数太多,情况极其复杂。玩家手 中的牌和牌池里打出的牌随时都在更新,那么相关预测参数也要相应更新。 故可以通过后验法来实时调整预测参数。例如:A、B(自己)、C 玩家,在 A 出了 333(编号 3 代表悟空)+4 的时候,参看自己手上没有 3,这样的情形 下,原本猜测 C 方有一个 7 的可信度为 1。可是在经过几局的后验之后,可 能出现 A 有含 7 的顺子,而 C 没有 7 的情形。从而可根据这种情形在总局数 中的比例,适当调整这个可信度。玩家手上的牌数也是牌型权值评估要考虑 的因素,例如,当三方

16、手上的牌较少时,长顺子的权值会更高。这就需要动 态、实时地调整预测参数了。 w1,1 w1,2 w1,3 W1,m定义非负实数权值矩阵 W= w2,1 w1,2 w1,3 W1,m ,wi,j 表示第 i 类牌wn,1 wn,2 wn,3 Wn,m型牌型面值落在vj-1,vj)区间的手牌权值。设玩家手中的牌集合为 X,牌型数目为 M,也就是说 X 中的元素可以分成 M 个类别,同一类别中的元素是按照相同规则组合而成。设每轮出牌的策略 空间为 S,表示在规则允许的范围内,出牌的牌型选择的集合。设 B 为 X 的 一个划分。我们用 fi(X)|B 来表示第 i 类牌型手牌权值的和,则fi(X)|B =( fiv0,v1)(wi,1 )|B ,fivk-1,vk)(wi,m)|B) (3.2.1)其中 Xa,b)为牌型面值坐落在左闭右开整数区间a,b)中的手牌;Wi,j(玩家握有 i 类且牌型面值落在vj

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号