一种掼蛋扑克的机器博弈出牌方法、系统及存储介质技术方案

技术编号:29041827 阅读:39 留言:0更新日期:2021-06-26 05:51
本发明专利技术涉及一种掼蛋扑克的机器博弈出牌方法、系统及存储介质,属于深度学习和机器博弈技术领域。首先计算所抽到牌面的能量,按照能量计算公式进行计算,然后将牌分成三种基础有效牌形,进行配牌,对牌面进行计算,通过深度学习训练参数,可以用一种最小的数据集获取公式,并取得参数,算Value值,按照Value值实时调整出牌策略,出牌的规则一共有三种类型,包括出牌、跟牌和冲刺。发明专利技术了一种基于深度学习的计算策略,在扑克游戏中实现机器算法,对家的两个角色采用相同的方法,两组算法进行扑克游戏竞赛,最终训练出更加智能的扑克竞赛方法。最终训练出更加智能的扑克竞赛方法。最终训练出更加智能的扑克竞赛方法。

【技术实现步骤摘要】
一种掼蛋扑克的机器博弈出牌方法、系统及存储介质


[0001]本专利技术涉及深度学习和机器博弈
,具体地说,涉及一 种掼蛋扑克的机器博弈出牌方法、系统及存储介质。

技术介绍

[0002]从上世纪40年代起,深蓝、AlphaGo引起全民的关注,机器 博弈一直以来都是验证计算理论与人工智能理论的试金石。计算机 博弈是测试人工智能所达到水平的重要平台,是研究、开发用于模 拟、延伸和拓展人的智能理论的方法、技术及应用的一门学科(参 考文献:杨善林,倪志伟.机器学习与智能决策支持系统[M].Ke xuechu ban she,2004.),机器博弈被誉为人工智能的果蝇(参考文献: 许燕红.人机博弈[J].艺术与设计,2016(4):150

151.),与果蝇在生物 遗传学中的作用相似,研究机器博弈产生的大量成果,可以应用在 下棋、扑克等更多领域中(参考文献:方园,赵姝颖,闻时光,等. 人机博弈技术展示——下棋机器人[J].机器人技术与应用, 2014(2):39

42.)。
[0003]惯蛋是一种在淮安地区广为流传的扑克游戏,是由地方的扑克 牌局“跑的快”发展而来,牌局采用四人结对竞赛,使用两副牌、 输赢升级的方式进行,使牌局更富有创造性和娱乐性,
[0004]牌型共有:两连对、炸弹、四王、同花顺、顺子、钢板、单牌、 对牌、三张牌、三带两等,其中牌型大小按照四个王>六张和六张 以上炸弹>同花顺>五张炸弹>四张炸弹>其他牌型,对于一般牌型 而言,只有点牌型相同和综述相同的牌,才可以比较大小,其中像 三带二、三顺等组合牌型,只要比较牌数最多牌值即可,只有当前 出的牌打的才能继续出牌。名次的先后顺序为头游、双下(就是和 对家最终为最后两名)、末游,扑克牌的顺序依次为大王、小王、 K、A、Q、J、10、9、8、7、6、5、4、3,其中升级规则为最先出 牌结束的为头游,最后一个出牌结束的是末游。其中,如果是双下, 赢家升3级;对手一家是末游赢家升2级;赢家的对门是末游,赢 家升1级;单方三次头家,升1级;4次升2级以此类推;单方三 次末游,推一级;当达到A即为游戏结束。
[0005]传统的扑克牌的计算方法存在:需要内存空间大,计算牌型不 够智能、配牌方式需要深度遍历和广度遍历结合的方式,每次出牌, 存在出牌时间久、缺乏通用型等问题。针对“淮安灌蛋”扑克的智 能博弈方法的研究较少,需要研究一种智能化、内存小、计算速度 快的出牌策略。

技术实现思路

[0006]本专利技术的目的是提供一种掼蛋扑克的机器博弈出牌方法、系统 及存储介质,计算方式简单,在每一个具体情境出现时进行推理, 实现更加接近人类玩家习惯的扑克策略。
[0007]为了实现上述目的,第一方面,本专利技术提供的掼蛋扑克的机器 博弈出牌方法包括以下步骤:
[0008]1)计算所持扑克牌中每种拆牌方式的拆牌损失E1及所拆牌型 对应的价值E2,计
算每种拆牌方式的能量值Ea=E1+E2;
[0009]2)比较每种拆牌方式的能量值,得到minEa;
[0010]3)计算价值k为常量;
[0011]4)根据Eb的值对应的牌型进行出牌。
[0012]上述技术方案中,以淮安惯蛋扑克为研究对象,通过能量最小 化算法计算出牌方式,计算方式简单,通过计算拆牌损失和红心牌 加入后对整体的价值,选择最优的出牌方式,通过深度学习,训练 得到最优的k值,该方法更加注重出牌时的策略,在每一个具体情 境出现时进行推理,实现更加接近人类玩家习惯的扑克策略。
[0013]作为优选,步骤1)中,所述的拆牌损失E1的值等于所持扑 克牌的个数。如“7、9、10、j、qqqq、k、红心5”的拆牌损失 为10。例如:当手中持有“8 10 J Q K AAAA”,AAAA当作炸弹 出牌时,剩余单牌的损失整体变大,因为持有单牌数量过多。
[0014]作为优选,步骤1)中,每种牌型对应的价值计算方式如下通 过以下方式确定:
[0015]三张相同牌的Value值:V3(i+1)=V3(i)+1;如V3(3)=V3(2)+1, 即3张3的值比3张2的Value值大1。
[0016]两张相同牌的Value值:V2(i+1)=V2(i)+1;
[0017]炸弹的Value值:V4(2)=V3(A)+1,V4(3)=V4(2)+1;
[0018]同花顺的Value值:V5(2)=V4(A)+1,V5(i+1)=V5(i)+1;
[0019]i为牌的数值;
[0020]在抽到一手牌时,共有26张牌,从2

A共有13张牌,在灌蛋 扑克中会抽到一张牌,这张牌对应的红心就作为自由牌,可以替代 任何牌型;具体方式如下:
[0021]当随机抽到本局打牌为红心5时,2~4对应value值分别是1~3, 6~A对应的value值分别是4~12,方块5、黑桃5、梅花5对应的value值为13,红心牌作为14以此类推;两个2小于两个3,五个 2大于4个A的定义进行牌的value值的定义。
[0022]作为优选,步骤1)中,所持扑克牌分为以下三类:
[0023]第一类有效牌C1:不拆牌的情况下,能够降低组数的牌;例 如,当手中持有“333 22”时,可以分两手出牌,当三带二把牌出了, 在不拆牌的情况下降低了牌的组数。
[0024]第二类有效牌C2:不能降低组数,但可以增加价值;例如, 当手中持有“3333 45678”时,把原有的“333 345678”改出“3333 45678”,还是两手牌,把“3333”当作炸弹出牌,不降低整体出牌 组数,不降低出牌的组数,但是可以增加价值。
[0025]第三类有效牌C3:不能提高C1、C2的效率,但可以帮助对家 压牌。例如,当手中持有“7 8 999910 J”出牌时,拆了9压了上家 的顺子,C3指会降低出牌组数或降低价值的出牌方式,为了帮助 对家上牌,拆掉手里的牌。
[0026]第一类有效牌C1可以让组数降低,例如组数(Z)降低的价值, 组数Z表示一手牌,例如三个2是一组、两个3也是一组,拿到牌 不进行配牌,只要求组数最小Ez=min(Z)。
[0027]作为优选,步骤3)中,常量k通过以下方法得到:
[0028]预先给定k的值,当k=2,放大损失值进行计算,当k=1/2, 减少损失值战的比例进行计算,通过每次增加或减少0.5不断调整, 找到赢牌次数最多的k的值。首先通过把发到手中的一副牌,放入 深度学习神经网络中进行训练,通过改变参数:训练轮数 (epoch)、
归一化参数(min

max)、学习率(learning rate),获 得整副牌赢的概率最大的k的值。
[0029]每个k值训练20次,计算当前k的赢牌概率,在程序中预先 设定增加0.5作为自动训练的方式,每增加0.本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种掼蛋扑克的机器博弈出牌方法,其特征在于,包括以下步骤:1)计算所持扑克牌中每种拆牌方式的拆牌损失E1及所拆牌型对应的价值E2,计算每种拆牌方式的能量值Ea=E1+E2;2)比较每种拆牌方式的能量值,得到minEa;3)计算价值k为常量;4)根据Eb的值对应的牌型进行出牌。2.根据权利要求1所述的掼蛋扑克的机器博弈出牌方法,其特征在于,步骤1)中,所述的拆牌损失E1的值等于所持扑克牌的个数。3.根据权利要求1所述的掼蛋扑克的机器博弈出牌方法,其特征在于,步骤1)中,每种牌型对应的价值计算方式如下:三张相同牌的Value值:V3(i+1)=V3(i)+1;两张相同牌的Value值:V2(i+1)=V2(i)+1;炸弹的Value值:V4(2)=V3(A)+1,V4(3)=V4(2)+1;同花顺的Value值:V5(2)=V4(A)+1,V5(i+1)=V5(i)+1;i为牌的数值;在抽到一手牌时,共有26张牌,从2

A共有13张牌,在灌蛋扑克中会抽到一张牌,这张牌对应的红心就作为自由牌,可以替代任何牌型;具体方式如下:当随机抽到本局打牌为红心5时,2~4对应value值分别是1~3,6~A对应的value值分别是4~12,方块5、黑桃5、梅花5对应的value值为13,红心牌作为14以此类推;两个2小于两个3,五个2大于4个A的定义进行牌的value值的定义。4.根据权利要求1所述的掼蛋扑克的机器博弈出牌方法,其特征在于,步骤1)中,所持扑克牌分为以下三类:第一类有效牌C1:不拆牌的情况下,能够降低组数的牌;第二类有效牌C2:不能降低组数,但可以增加价值;第三类有效牌C3:不能提高C1、C2的效率,但可以帮助对家压牌。5.根据权利要求1所述的掼蛋扑克的机器博弈出牌方法,其特征在于,步骤3)中,常量k通过以下方法得到:预先给定k的值,当k=2,放大损失值进行计算,当k=1/2,减少损失值战的比...

【专利技术属性】
技术研发人员:潘志庚孙亚文张明敏徐守江朱兆辉高和蓓
申请(专利权)人:杭州师范大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1