第16卷第3期 智能系统学报 Vol.16 No.3 2021年5月 CAAI Transactions on Intelligent Systems May 2021 D0L:10.11992tis.202007005 竞技二打一游戏中同等牌力的研究 李淑琴只,陈子鹏2,郑蓝舟3,孟坤2 (1.北京信息科技大学计算机学院,北京100101;2.北京信息科技大学感知与计算智能联合实验室,北京 100101:3.微智娱(北京)科技有限公司,北京100101) 摘要:全国竞技二打一扑克锦标赛是国家体育总局棋牌运动管理中心推出的新兴项目,比赛采用复式赛赛 制,然而这种赛制存在无法杜绝线上比赛作弊的问题,为此提出用同等牌力赛制来代替复式赛制进行比赛的设 想。本文主要针对如何判定和选取具有同等牌力的初始手牌进行研究,提出用等级难度评估指标来计算初始 手牌的难度,初始手牌难度相近的牌认定为同等牌力,并给出了同等牌力的选取方法:为保证一副牌所得等级 难度评估指标的可靠性,提出用多个不同水平的“二打一AI程序”来代替真人打牌产生牌谱的方法。实验证明 了同等牌力生成方法的有效性,本文提出的同等牌力方法应用于比赛是可行的。 关键词:计算机博弈;竞技二打一:同等牌力:等级难度:扑克锦标赛:手牌:神经网络;人工智能 中图分类号:TP18文献标志码:A 文章编号:1673-4785(2021)03-0466-08 中文引用格式:李淑琴,陈子鹏,郑蓝舟,等.竞技二打一游戏中同等牌力的研究.智能系统学报,2021,16(3):466-473. 英文引用格式:LIShuqin,CHEN Zipeng,.ZHENG Lanzhou,,ctal.Research on the equal card force competition system of compet.- itive two against one game[J].CAAI transactions on intelligent systems,2021,16(3):466-473. Research on the equal card force competition system of competitive two against one game LI Shuqin,CHEN Zipeng2,ZHENG Lanzhou2,MENG Kun2 (1.School of Computer Science,Beijing Information Science&Technology University,Beijing 100101,China;,2.Sensing &Com- putational Intelligence Joint Lab,Beijing Information Science&Technology University,Beijing 100101,China;3.WEIZHIYU (Beijing)Technology co.,LTd.,Beijing 100101,China) Abstract:The General Administration of Sport of China launched a new project that uses a double competition system, namely,the National Competitive Doudizhu(Two-on-One)Poker Tournament;however,this system does not eliminate online cheating.As a remedy,the idea of using the equal card force competition system to replace the double competi- tion system has been proposed.This paper focuses mainly on how to judge and select the initial hand with equal card force,suggesting the evaluation index of grade difficulty as a method of measuring the difficulty of the initial hand.This system offers a way to select cards of equal card force.Cards of similar grade difficulty in the initial hand are con- sidered to have equal card force.To ensure the reliability of the resultant evaluation of a deck of cards,this paper pro- poses an innovative "Doudizhu AI program"with different levels as an alternative.The validity of this method is veri- fied by experiments.It is feasible to apply this method in competitions. Keywords:computer game;competitive two against one game;the equal card force;grade difficulty;poker champion- ship;cards in hand;neural network;artificial intelligence 国家体育总局棋牌运动管理中心以“创新、协 国民素质与人民健康水平为发展目标,提出了“传统 调、绿色、开放、共享”的发展理念为指导,以提升 棋牌项目趣味化”和“趣味棋牌项目竞技化”的重 收稿日期:2020-07-03. 要发展战略。在巩固传统五棋一牌项目(围棋 基金项目:北京信息科技大学科技项目(5211910927,5121911019. KM201911232002). 象棋、国际象棋、国际跳棋阿、五子棋切、桥牌例 通信作者:李淑琴.E-mail:lishugin de@126.com 基础的同时,针对趣味棋牌竞技化的发展战略
DOI: 10.11992/tis.202007005 竞技二打一游戏中同等牌力的研究 李淑琴1,2,陈子鹏1,2,郑蓝舟2,3,孟坤1,2 (1. 北京信息科技大学 计算机学院,北京 100101; 2. 北京信息科技大学 感知与计算智能联合实验室,北京 100101; 3. 微智娱 (北京) 科技有限公司,北京 100101) 摘 要:全国竞技二打一扑克锦标赛是国家体育总局棋牌运动管理中心推出的新兴项目,比赛采用复式赛赛 制,然而这种赛制存在无法杜绝线上比赛作弊的问题,为此提出用同等牌力赛制来代替复式赛制进行比赛的设 想。本文主要针对如何判定和选取具有同等牌力的初始手牌进行研究,提出用等级难度评估指标来计算初始 手牌的难度,初始手牌难度相近的牌认定为同等牌力,并给出了同等牌力的选取方法;为保证一副牌所得等级 难度评估指标的可靠性,提出用多个不同水平的“二打一 AI 程序”来代替真人打牌产生牌谱的方法。实验证明 了同等牌力生成方法的有效性,本文提出的同等牌力方法应用于比赛是可行的。 关键词:计算机博弈;竞技二打一;同等牌力;等级难度;扑克锦标赛;手牌;神经网络;人工智能 中图分类号:TP18 文献标志码:A 文章编号:1673−4785(2021)03−0466−08 中文引用格式:李淑琴, 陈子鹏, 郑蓝舟, 等. 竞技二打一游戏中同等牌力的研究 [J]. 智能系统学报, 2021, 16(3): 466–473. 英文引用格式:LI Shuqin, CHEN Zipeng, ZHENG Lanzhou, et al. Research on the equal card force competition system of competitive two against one game[J]. CAAI transactions on intelligent systems, 2021, 16(3): 466–473. Research on the equal card force competition system of competitive two against one game LI Shuqin1,2 ,CHEN Zipeng1,2 ,ZHENG Lanzhou2,3 ,MENG Kun1,2 (1. School of Computer Science, Beijing Information Science & Technology University, Beijing 100101, China; 2. Sensing & Computational Intelligence Joint Lab, Beijing Information Science & Technology University, Beijing 100101, China; 3. WEIZHIYU (Beijing) Technology co., LTd., Beijing 100101, China) Abstract: The General Administration of Sport of China launched a new project that uses a double competition system, namely, the National Competitive Doudizhu (Two-on-One) Poker Tournament; however, this system does not eliminate online cheating. As a remedy, the idea of using the equal card force competition system to replace the double competition system has been proposed. This paper focuses mainly on how to judge and select the initial hand with equal card force, suggesting the evaluation index of grade difficulty as a method of measuring the difficulty of the initial hand. This system offers a way to select cards of equal card force. Cards of similar grade difficulty in the initial hand are considered to have equal card force. To ensure the reliability of the resultant evaluation of a deck of cards, this paper proposes an innovative “Doudizhu AI program” with different levels as an alternative. The validity of this method is verified by experiments. It is feasible to apply this method in competitions. Keywords: computer game; competitive two against one game; the equal card force; grade difficulty; poker championship; cards in hand; neural network; artificial intelligence 国家体育总局棋牌运动管理中心以“创新、协 调、绿色、开放、共享”的发展理念为指导,以提升 国民素质与人民健康水平为发展目标,提出了“传统 棋牌项目趣味化”和“趣味棋牌项目竞技化”的重 要发展战略。在巩固传统五棋一牌项目 (围棋[1-3] 、 象棋[4] 、国际象棋[5] 、国际跳棋[6] 、五子棋[7] 、桥牌[8] ) 基础的同时,针对趣味棋牌竞技化的发展战略, 收稿日期:2020−07−03. 基金项目:北京信息科技大学科技项目 (5211910927,5121911019, KM201911232002). 通信作者:李淑琴. E-mail:lishuqin_de@126.com. 第 16 卷第 3 期 智 能 系 统 学 报 Vol.16 No.3 2021 年 5 月 CAAI Transactions on Intelligent Systems May 2021
第3期 李淑琴,等:竞技二打一游戏中同等牌力的研究 ·467· 国家体育总局棋牌运动管理中心首先推出了以民 牌的玩家为获胜者。如果对局结束,统计此次对 间趣味棋牌运动“斗地主例为原型的竞技二打一 局每个玩家的得分。 扑克项目。2016年9月3日,举办了首届全国竞 对于竞技游戏,每一场牌局可以被视为一次 技二打一扑克锦标赛(China competitive poker 考试,给选手发的初始手牌可以看作考试试题。 championship,CCPC)o,锦标赛中引入了复式赛 试题的区分度计算可以参照心理学著名的经典测 制四,复式赛制就是在不同的牌桌上,同一个方位 试理论s-i(classical test theory,CTT),在CTT框架 的选手发一模一样的牌,把相同牌面下打出的成 下,通过每个试题与总测试分数的相关关系来反 绩进行汇总,看谁能打出最好的效果,这样就完 映试题区分度。基于此想法,文献[17]通过统计 全避免了发牌的偶然性,达到竞技化的目的。复 真人牌谱,计算初始手牌的得分均值和方差,利 式赛制的这些特点决定了二打一游戏等项目能够 用得分的均值和方差划分将初始手牌划分为 被纳入智力运动这一体系。但与传统线下的比赛 10个分类,认为同一类中的手牌具有同等牌力。 不同,在互联网环境下,复式赛制尚存在一些不 然而,这种用得分均值和方差来划分区间的分类 公平因素,例如,两个不同方位的人很容易通过 方法存在较大的误差,为此文献[18]对其进行了 语音、视频等方式互相告知自己的手牌,存在网 改进,通过统计真人牌谱计算初始手牌的得分概 上作弊的问题。同等牌力赛制不需要把同样的牌 率分布,并以得分概率分布为特征进行聚类从而 发给每个参赛的人,而是发同样牌力的牌,以此 将初始手牌划分成若干个分类。然而,其仍存在 杜绝网络上打相同牌带来的作弊问题。同时,在 两个问题:1)通过统计不同批玩家的得分分布, 同等牌力赛制中,用户不再需要同时开赛,可以 来计算不同初始手牌的得分概率分布,作为该初 充分利用其碎片时间随时参赛,也可以中途停 始手牌的特征,这个方法在小样本的情况下, 顿,而不会影响整个竞赛的过程,等完成打牌的 由于不同批玩家统计的得分概率分布不同,实验 人数满足比赛要求时就计算排名,比复式赛制更 结果难以验证;2)聚类个数是人为预设定的,无 加方便。同时,同等牌力的相关研究成果还能应 法在实际应用中准确地设定出准确的类别数。为 用于能力评测系统。目前该项目已列人中国大学 解决第1个问题,本文训练了多个不同水平的“竞 生计算机博弈大赛暨全国锦标赛竞标赛中2。 技二打一AI程序”,作为固定的“玩家”,打牌生成 因此,本文拟对竞技二打一比赛中的同等牌力问 大量的牌谱,易于同等牌力的验证;为解决第2个 题进行研究。 问题,本文提出同等牌力的选取方法。 1相关工作 2同等牌力系统设计与实现 竞技二打一是一种玩法简单、娱乐性强的 2.1同等牌力系统设计思想 3人扑克牌游戏。一局牌需3个玩家,1个玩家称 同等牌力就是初始手牌的难度近似。本文通 为地主,地主的逆时针第1个农民称为下家,逆时 过等级评估指标(grade difficulty index,GD)来表 针第2个农民称为上家或顶家。在每一局游戏 示初始手牌的难度。等级难度评估指标的含义 中,地主独立存在,而其他两名玩家以农民的身 是:假设一局牌玩完对应的得分共有k种,得分按 份组成一队与地主对抗。农民队伍只要有一人比 从小到大排列,将它们看成k个等级。本文认为 地主先出完手中的牌,农民便可获得游戏胜利, 如果玩家能达到第ⅰ个等级,则玩家必能达到第 否则地主胜,并计算本局地主得分。 i-1个等级,不必考虑比他低的等级。故玩家能 一副完整的纸牌共54张牌,由1张红色小丑 达到第ⅰ个等级的难度就是玩家能达到第ⅰ个及 牌、1张黑色小丑牌和52张标准牌组成。52张标 其以上等级的概率。由于玩家达到第1个等级的 准牌共包括大小不同的13种牌(2、A、K、Q、J、 概率是100%,所以不考虑玩家达到第1个等级的 T(10)、9、8、7、6、5、4、3),每一种牌各有4张,且 难度。等级评估指标由k-1个等级概率值组成。 大小相同。在每一轮开始时,地主将持有20张 定义1等级难度评估指标。衡量一副牌难 牌,其他人每人有17张牌。地主先出牌,且可以 易程度的指标,记为G=(g1,g2,…,g-,其中g表 打一张牌或任何合法的组合。按逆时针顺序玩家 示固定玩家能达到第ⅰ个及其以上等级的概率, 依次出牌,每个后续玩家必须要么“过”(不打牌) k表示二打一规则中规定得分的数量。 要么通过打出相同数量的牌和相同类型的牌的更 定义2具有同等牌力的初始手牌。两副初 高组合来击败前一个玩家。最先出完手中的所有 始手牌,由同一批玩家打,得到的两个GDI的欧
国家体育总局棋牌运动管理中心首先推出了以民 间趣味棋牌运动“斗地主” [9] 为原型的竞技二打一 扑克项目。2016 年 9 月 3 日,举办了首届全国竞 技二打一扑克锦标赛 (China competitive poker championship,CCPC)[10] ,锦标赛中引入了复式赛 制 [11] ,复式赛制就是在不同的牌桌上,同一个方位 的选手发一模一样的牌,把相同牌面下打出的成 绩进行汇总,看谁能打出最好的效果,这样就完 全避免了发牌的偶然性,达到竞技化的目的。复 式赛制的这些特点决定了二打一游戏等项目能够 被纳入智力运动这一体系。但与传统线下的比赛 不同,在互联网环境下,复式赛制尚存在一些不 公平因素,例如,两个不同方位的人很容易通过 语音、视频等方式互相告知自己的手牌,存在网 上作弊的问题。同等牌力赛制不需要把同样的牌 发给每个参赛的人,而是发同样牌力的牌,以此 杜绝网络上打相同牌带来的作弊问题。同时,在 同等牌力赛制中,用户不再需要同时开赛,可以 充分利用其碎片时间随时参赛,也可以中途停 顿,而不会影响整个竞赛的过程,等完成打牌的 人数满足比赛要求时就计算排名,比复式赛制更 加方便。同时,同等牌力的相关研究成果还能应 用于能力评测系统。目前该项目已列入中国大学 生计算机博弈大赛暨全国锦标赛竞标赛中[12-14]。 因此,本文拟对竞技二打一比赛中的同等牌力问 题进行研究。 1 相关工作 竞技二打一是一种玩法简单、娱乐性强的 3 人扑克牌游戏。一局牌需 3 个玩家,1 个玩家称 为地主,地主的逆时针第 1 个农民称为下家,逆时 针第 2 个农民称为上家或顶家。在每一局游戏 中,地主独立存在,而其他两名玩家以农民的身 份组成一队与地主对抗。农民队伍只要有一人比 地主先出完手中的牌,农民便可获得游戏胜利, 否则地主胜,并计算本局地主得分。 一副完整的纸牌共 54 张牌,由 1 张红色小丑 牌、1 张黑色小丑牌和 52 张标准牌组成。52 张标 准牌共包括大小不同的 13 种牌 (2、A、K、Q、J、 T(10)、9、8、7、6、5、4、3),每一种牌各有 4 张,且 大小相同。在每一轮开始时,地主将持有 20 张 牌,其他人每人有 17 张牌。地主先出牌,且可以 打一张牌或任何合法的组合。按逆时针顺序玩家 依次出牌,每个后续玩家必须要么“过”(不打牌), 要么通过打出相同数量的牌和相同类型的牌的更 高组合来击败前一个玩家。最先出完手中的所有 牌的玩家为获胜者。如果对局结束,统计此次对 局每个玩家的得分。 对于竞技游戏,每一场牌局可以被视为一次 考试,给选手发的初始手牌可以看作考试试题。 试题的区分度计算可以参照心理学著名的经典测 试理论[15-16] (classical test theory,CTT),在 CTT 框架 下,通过每个试题与总测试分数的相关关系来反 映试题区分度。基于此想法,文献 [17]通过统计 真人牌谱,计算初始手牌的得分均值和方差,利 用得分的均值和方差划分将初始手牌划分为 10 个分类,认为同一类中的手牌具有同等牌力。 然而,这种用得分均值和方差来划分区间的分类 方法存在较大的误差,为此文献 [18] 对其进行了 改进,通过统计真人牌谱计算初始手牌的得分概 率分布,并以得分概率分布为特征进行聚类从而 将初始手牌划分成若干个分类。然而,其仍存在 两个问题:1) 通过统计不同批玩家的得分分布, 来计算不同初始手牌的得分概率分布,作为该初 始手牌的特征,这个方法在小样本的情况下, 由于不同批玩家统计的得分概率分布不同,实验 结果难以验证;2) 聚类个数是人为预设定的,无 法在实际应用中准确地设定出准确的类别数。为 解决第 1 个问题,本文训练了多个不同水平的“竞 技二打一 AI 程序”,作为固定的“玩家”,打牌生成 大量的牌谱,易于同等牌力的验证;为解决第 2 个 问题,本文提出同等牌力的选取方法。 2 同等牌力系统设计与实现 2.1 同等牌力系统设计思想 同等牌力就是初始手牌的难度近似。本文通 过等级评估指标 (grade difficulty index,GDI) 来表 示初始手牌的难度。等级难度评估指标的含义 是:假设一局牌玩完对应的得分共有 k 种,得分按 从小到大排列,将它们看成 k 个等级。本文认为 如果玩家能达到第 i 个等级,则玩家必能达到第 i−1 个等级,不必考虑比他低的等级。故玩家能 达到第 i 个等级的难度就是玩家能达到第 i 个及 其以上等级的概率。由于玩家达到第 1 个等级的 概率是 100%,所以不考虑玩家达到第 1 个等级的 难度。等级评估指标由 k−1 个等级概率值组成。 G = (g1,g2,··· ,gk−1) gi 定义 1 等级难度评估指标。衡量一副牌难 易程度的指标,记为 ,其中 表 示固定玩家能达到第 i 个及其以上等级的概率, k 表示二打一规则中规定得分的数量。 定义 2 具有同等牌力的初始手牌。两副初 始手牌,由同一批玩家打,得到的两个 GDI 的欧 第 3 期 李淑琴,等:竞技二打一游戏中同等牌力的研究 ·467·
·468· 智能系统学报 第16卷 氏距离小于一定阈值,则两副初始手牌具有同等 个DDZAI训练集中,共分为n个训练集,要求每 牌力。 个训练集中数据量尽量均衡。 然而,从现有的真人打牌数据中难以找到同 使用文献[21]中提出的竞技二打一出牌算 一批玩家打若干副初始手牌的数据集,短时间内 法,分别训练出n个具有不同水平的DDZAI程 召集一批玩家打若干副初始手牌同样不现实。因 序。为了验证用上述方法选出的n个DDZAI水 此,本文提出生成多个不同水平的“二打一AI程 平是否有差异,本文通过让这n个DDZAI进行复 序”来代替真人打牌,以保证一副牌所得等级难度 式赛,其中n个DDZAI的对手相同,并组成 评估指标的可靠性。 n桌。复式赛包括m场比赛,每一场比赛包括多 利用“二打一AI程序”生成的大量牌谱数据, 轮比赛来保证n桌DDZAI的地主a1,a2,…,an的 本文构建了一个可指定难度的同等牌力生成系 排名满足:a:的水平高于a的水平,,这表明用 统。同等牌力生成系统主要由4部分构成:1)训 上述方法选出的n个DDZAI水平有异。具体验 练多个不同水平的DDZAI来产生大量牌谱;2)统 证方法如图2所示。 计牌谱,计算每个初始手牌的等级难度评估指 统计 每桌地 标;3)基于等级难度评估指标,指定1个或几个 主的牌 难度作为同等牌力的中心,设定阈值,进行不同 获得每 牌谱分类,即得到不同级别的同等牌力;4)验证 个名次 同等牌力生成方法的可靠性。同等牌力系统框架 的概率 第 统计 每桌地 如图1所示。 主的牌 场 ® 名,Xm 收集其人玩家 训练多个不同水平 图2多个DDZAI不同水平的验证方法 的对局数据 的DDZAI来产生 Fig.2 Verification methods at different DDZAI levels 大量牌谱 2.3计算初始手牌的等级难度评估指标 为了对指定难度挑选同等牌力的初始手牌, 基于GDL,指定I 个或几个难度作 统计牌谱,计算 需要将每副牌难度量化为GDL,初始手牌h的 为同等牌力的中 每个初始手牌 心,设定圆值,进 GDI的计算过程为:假设一局牌玩完对应的得分 的GDI 行牌谱分类 共有k种可能的分值,即s1,S2,…,;选取n个地 主DDZAI,每个地主DDZAI,与同1个下家 DDZAI和1个顶家DDZAI组成1桌,共构成 验证同等牌力生成 方法的可靠性 n桌AI牌局。为每桌分发同一副初始手牌h,对 局后记录每桌的地主得分,假设得分分别为 图1同等牌力系统框架 C1,c2,…,C,其中Cm∈{s1,2,…,5l,=1,2,,n按等 Fig.1 System framework of the equal card force 级排序,统计得分对应的等级次数记为 2.2训练多个不同水平的“二打一A程序” l4,2,…,l。计算初始手牌h对应的等级难度评估 笔者将真人打牌日志进行整理,依据输赢次 指标G=(g1,82,…,gx),8影的计算公式为 数进行归类,使用文献[19-25]中提出的竞技二打 一出牌算法,该算法通过真人打牌日志使用CNN j+1 模型训练出具有似人智能的出牌策略。训练n个 81= (1) 不同水平的“二打一AI程序”,具体如算法1。 例1根据比赛规则,得分计算公式为:分数= 算法1训练n个不同水平的DDZAI程序 胜负系数×本局出现的炸弹数量+胜负系数。若 输入真人打牌日志; 地主胜利则胜负系数为1,否则胜负系数为-1。 输出n个不同水平DDZAI程序。 本局出现的炸弹数量为1,则本局的分数为集合 1)将同一玩家的牌谱划分到同一个牌谱集; ={-2,-1,1,2}中的数之一。这4个分数从小到 2)清洗掉牌谱集中数据量少于10局的牌 大排序,定义它们对应的等级分别是1、2、3、4, 谱集; 那么一副牌对应的等级难度评估指标G=(g1,82,83, 3)统计玩家的胜率,并按照胜率对玩家进行 结束后统计得分情况:1桌地主获得-2分,3桌地主 非递减排序; 获得-1分,2桌地主获得1分,4桌地主获得2分, 4)将水平接近玩家对应的牌谱集划分到同一 则81=3+2+4 10 09,=2=06,=合-04, 10
氏距离小于一定阈值,则两副初始手牌具有同等 牌力。 然而,从现有的真人打牌数据中难以找到同 一批玩家打若干副初始手牌的数据集,短时间内 召集一批玩家打若干副初始手牌同样不现实。因 此,本文提出生成多个不同水平的“二打一 AI 程 序”来代替真人打牌,以保证一副牌所得等级难度 评估指标的可靠性。 利用“二打一 AI 程序”生成的大量牌谱数据, 本文构建了一个可指定难度的同等牌力生成系 统。同等牌力生成系统主要由 4 部分构成:1) 训 练多个不同水平的 DDZAI 来产生大量牌谱;2) 统 计牌谱,计算每个初始手牌的等级难度评估指 标;3) 基于等级难度评估指标,指定 1 个或几个 难度作为同等牌力的中心,设定阈值,进行不同 牌谱分类,即得到不同级别的同等牌力;4) 验证 同等牌力生成方法的可靠性。同等牌力系统框架 如图 1 所示。 收集真人玩家 的对局数据 训练多个不同水平 的 DDZAI 来产生 大量牌谱 统计牌谱, 计算 每个初始手牌 的 GDI 验证同等牌力生成 方法的可靠性 基于 GDI, 指定 1 个或几个难度作 为同等牌力的中 心,设定阈值, 进 行牌谱分类 图 1 同等牌力系统框架 Fig. 1 System framework of the equal card force 2.2 训练多个不同水平的“二打一 AI 程序” 笔者将真人打牌日志进行整理,依据输赢次 数进行归类,使用文献 [19-25] 中提出的竞技二打 一出牌算法,该算法通过真人打牌日志使用 CNN 模型训练出具有似人智能的出牌策略。训练 n 个 不同水平的“二打一 AI 程序”,具体如算法 1。 算法 1 训练 n 个不同水平的 DDZAI 程序 输入 真人打牌日志; 输出 n 个不同水平 DDZAI 程序。 1) 将同一玩家的牌谱划分到同一个牌谱集; 2) 清洗掉牌谱集中数据量少于 10 局的牌 谱集; 3) 统计玩家的胜率,并按照胜率对玩家进行 非递减排序; 4) 将水平接近玩家对应的牌谱集划分到同一 个 DDZAI 训练集中,共分为 n 个训练集,要求每 个训练集中数据量尽量均衡。 a1,a2,··· ,an ai aj 使用文献 [21] 中提出的竞技二打一出牌算 法,分别训练出 n 个具有不同水平的 DDZAI 程 序。为了验证用上述方法选出的 n 个 DDZAI 水 平是否有差异,本文通过让这 n 个 DDZAI 进行复 式赛,其 中 n 个 DDZAI 的对手相同,并组 成 n 桌。复式赛包括 m 场比赛,每一场比赛包括多 轮比赛来保证 n 桌 DDZAI 的地主 的 排名满足: 的水平高于 的水平,i<j,这表明用 上述方法选出的 n 个 DDZAI 水平有异。具体验 证方法如图 2 所示。 第 1 场 第 m 场 · · · A B A A B B 1 n n A B 1 ··· ··· 统计 统计 每桌地 主的牌 名, x1 每桌地 主的牌 名, xm 获得每 个名次 的概率 图 2 多个 DDZAI 不同水平的验证方法 Fig. 2 Verification methods at different DDZAI levels 2.3 计算初始手牌的等级难度评估指标 s1,s2,··· ,sk c1, c2,··· , cn cu ∈ {s1,s2,··· ,sk} u= 1,2,··· l1,l2,··· ,lk Gh = (g1,g2,··· ,gk) gj 为了对指定难度挑选同等牌力的初始手牌, 需要将每副牌难度量化为 GDI,初始手牌 h 的 GDI 的计算过程为:假设一局牌玩完对应的得分 共有 k 种可能的分值,即 ;选取 n 个地 主 DDZAI,每个地 主 DDZAI, 与 同 1 个 下 家 DDZAI 和 1 个顶家 DDZAI 组成 1 桌,共构成 n 桌 AI 牌局。为每桌分发同一副初始手牌 h,对 局后记录每桌的地主得分,假设得分分别为 ,其中 , ,n 按等 级排序,统计得分对应的等级次数记为 。计算初始手牌 h 对应的等级难度评估 指标 , 的计算公式为 gj = ∑ li⩾j+1 li n (1) G = (g1,g2,g3) g1 = 3+2+4 10 = 0.9 g2 = 2+4 10 = 0.6 g3 = 4 10 = 0.4 例 1 根据比赛规则,得分计算公式为:分数= 胜负系数×本局出现的炸弹数量+胜负系数。若 地主胜利则胜负系数为 1,否则胜负系数为−1。 本局出现的炸弹数量为 1,则本局的分数为集合 R={−2,−1,1,2}中的数之一。这 4 个分数从小到 大排序,定义它们对应的等级分别是 1、2、3、4, 那么一副牌对应的等级难度评估指标 , 结束后统计得分情况:1 桌地主获得−2 分,3 桌地主 获得−1 分,2 桌地主获得 1 分,4 桌地主获得 2 分, 则 , , , ·468· 智 能 系 统 学 报 第 16 卷
第3期 李淑琴,等:竞技二打一游戏中同等牌力的研究 ·469· 这副牌对应的等级难度G=(0.9,0.6,0.4)。 2080 Ti GPU和Ubuntu16.04系统的服务器,Py- 一般来说,g:值表示玩家能达到等级ⅰ的概 thon语言,对所提方法进行了3个实验。 率,某等级对应的值越大代表能获胜的难度越 实验1生成多个具有区分度的DDZAI 小。如例1,G:的难度就表示地主的获胜的难度 利用国内某著名竞技二打一游戏平台提供 是0.6,出炸弹能够胜利的难度是0.4。 的7000万条游戏日志,使用算法1,将地主的数 2.4选取具有同等牌力的初始手牌 据集划分为70个,分别训练了70个地主DDZAI; 若两副初始手牌的GDI值完全相同或差距足 另外利用下家和顶家数据,训练了1个下家 够小,就认为这两副牌的难度相同,即它们具有 DDZAI和1个顶家DDZAI。每桌固定下家和顶 同等牌力。等级难度评估指标的n个值之间的差 家DDZAI,与不同的地主共组成70桌牌局。本 距可用欧氏距离计算,计算公式为 文随机选取了其中的10桌DDZAI,根据图2所示 进行复式赛。I0个DDZAI获得每个名次的概率 g1-82) (2) 以及每个DDZAI的排名如图3所示。 式中两副初始手牌的等级难度评估指标分别为 1.0 0.8 G1=(g11,812,…,g1n)和G2=(g21,822,…,g2n),若d12值 小于预设距离阈值,则G,与G2具有同等牌力值, 0.6 否则不具有同等牌力。 系统中也可以任意地或者有目的性地指定一 03 个难度G。比如一轮同等牌力比赛中决定分发 0 2345 67 8910 一副难度中等的手牌,就可以指定G。=0.75,0.52, 名次 0.25),G的难度就表示地主获胜的难度是0.52,出 图310个DDZAI获得每个名次的概率 炸弹能够胜利的难度是025。然后设定一个阈 Fig.3 Probability of ten DDZAI winning each place 值,通过找出GDI与G。的距离小于e的初始手 实验结果表明:10个DDZAI在不同名次的 牌,来生成与这个难度相对应的同等牌力的牌。 概率值是不同的,与复式赛得出的排名基本 为验证同等牌力生成方法的可靠性,本文指 致,表明生成的DDZAI是具有一定区分度的。 定了n个不同水平的地主DDZAI,与相同的1个 实验2具有同等牌力的初始手牌测试 下家DDZAI和1个上家DDZAI组成n桌,作为 随机生成20万副3家持有的炸弹总和数为 同一批比赛选手,分别进行复式赛、同等牌力赛 1的初始手牌,发给70桌,共生成1400万个牌 和随机发牌赛。复式赛指每一轮为每桌分发相同 谱,分别计算20万副初始手牌的GDI。 的初始手牌。同等牌力赛是指每一轮为每桌分发 本文以初始手牌Center难度GDI=(0.96 0.91,0.79)作为参照,设置参数=0.15,选取了5个 不同的具有同等牌力的初始手牌。随机发牌赛指 具有不同难度的GDL,如表1所示。利用式(2). 每一轮为每桌随机分发不同的初始手牌。 分别计算与center的距离,计算结果显示前3个 3种比赛都采用同一批选手,分别进行r场比 都小于0.15,这表明三者具有同等牌力。后2个 赛,每场比赛进行m轮。每轮比赛记录每桌DDZAI 计算与center的距离大于0.l5,表明这两者不具 的地主得分。m轮比赛后,统计每桌DDZAI地主 有同等牌力。 总得分,并记录每桌DDZAI的地主名次。r场比 赛后,统计每桌DDZAI地主获得每个名次的概 表15个具有不同难度的GDI Table 1 Five GIDs with different difficulties 率,并以概率最大对应的名次作为地主DDZAI的 中心点 排名。由于比赛选手固定,如果r场比赛后,同等 81 82 83 Centerl 0.950 0.950 0.809 牌力赛后选手排名与复式赛后选手的排名基本一 Center2 0.971 0.971 0.824 致,而与随机发牌比赛后选手的排名不一致,就 Center3 1.000 0.85 0.720 表明同等牌力生成方法是有效的,同等牌力赛代 替复式赛是可行的。 Center4 0.736 0.677 0.618 Center5 1.000 1.000 1.000 3实验与分析 首先从手牌对应的难度值上分析同等牌力情 本文使用Intel Xeon E5-2640CPU,NVIDIA 况。手牌Center难度GD=(0.96,0.91,0.79)表明此
这副牌对应的等级难度 Gk = (0.9,0.6,0.4)。 gi Gk 一般来说, 值表示玩家能达到等级 i 的概 率,某等级对应的值越大代表能获胜的难度越 小。如例 1, 的难度就表示地主的获胜的难度 是 0.6,出炸弹能够胜利的难度是 0.4。 2.4 选取具有同等牌力的初始手牌 若两副初始手牌的 GDI 值完全相同或差距足 够小,就认为这两副牌的难度相同,即它们具有 同等牌力。等级难度评估指标的 n 个值之间的差 距可用欧氏距离计算,计算公式为 d12 = vt∑n j=1 (g1 j −g2 j) 2 (2) G1 = (g11,g12,··· ,g1n) G2 = (g21,g22,··· ,g2n) d12 G1 G2 式中两副初始手牌的等级难度评估指标分别为 和 ,若 值 小于预设距离阈值,则 与 具有同等牌力值, 否则不具有同等牌力。 Gc Gc = (0.75,0.52, 0.25) Gc Gc 系统中也可以任意地或者有目的性地指定一 个难度 。比如一轮同等牌力比赛中决定分发 一副难度中等的手牌,就可以指定 , 的难度就表示地主获胜的难度是 0.52,出 炸弹能够胜利的难度是 0.25。然后设定一个阈 值,通过找出 GDI 与 的距离小于 ε 的初始手 牌,来生成与这个难度相对应的同等牌力的牌。 为验证同等牌力生成方法的可靠性,本文指 定了 n 个不同水平的地主 DDZAI,与相同的 1 个 下家 DDZAI 和 1 个上家 DDZAI 组成 n 桌,作为 同一批比赛选手,分别进行复式赛、同等牌力赛 和随机发牌赛。复式赛指每一轮为每桌分发相同 的初始手牌。同等牌力赛是指每一轮为每桌分发 不同的具有同等牌力的初始手牌。随机发牌赛指 每一轮为每桌随机分发不同的初始手牌。 3 种比赛都采用同一批选手,分别进行 r 场比 赛,每场比赛进行 m 轮。每轮比赛记录每桌 DDZAI 的地主得分。m 轮比赛后,统计每桌 DDZAI 地主 总得分,并记录每桌 DDZAI 的地主名次。r 场比 赛后,统计每桌 DDZAI 地主获得每个名次的概 率,并以概率最大对应的名次作为地主 DDZAI 的 排名。由于比赛选手固定,如果 r 场比赛后,同等 牌力赛后选手排名与复式赛后选手的排名基本一 致,而与随机发牌比赛后选手的排名不一致,就 表明同等牌力生成方法是有效的,同等牌力赛代 替复式赛是可行的。 3 实验与分析 本文使用 Intel Xeon E5-2 640 CPU,NVIDIA 2080Ti GPU 和 Ubuntu 16.04 系统的服务器,Python 语言,对所提方法进行了 3 个实验。 实验 1 生成多个具有区分度的 DDZAI 利用国内某著名竞技二打一游戏平台提供 的 7 000 万条游戏日志,使用算法 1,将地主的数 据集划分为 70 个,分别训练了 70 个地主 DDZAI; 另外利用下家和顶家数据,训练 了 1 个 下 家 DDZAI 和 1 个顶家 DDZAI。每桌固定下家和顶 家 DDZAI,与不同的地主共组成 70 桌牌局。本 文随机选取了其中的 10 桌 DDZAI,根据图 2 所示 进行复式赛。10 个 DDZAI 获得每个名次的概率 以及每个 DDZAI 的排名如图 3 所示。 1 2 3 4 5 6 7 8 9 10 名次 0 0.2 0.4 0.6 0.8 1.0 概率值 图 3 10 个 DDZAI 获得每个名次的概率 Fig. 3 Probability of ten DDZAI winning each place 实验结果表明:10 个 DDZAI 在不同名次的 概率值是不同的,与复式赛得出的排名基本一 致,表明生成的 DDZAI 是具有一定区分度的。 实验 2 具有同等牌力的初始手牌测试 随机生成 20 万副 3 家持有的炸弹总和数为 1 的初始手牌,发给 70 桌,共生成 1 400 万个牌 谱,分别计算 20 万副初始手牌的 GDI。 本文以初始手牌 Center 难度 GDI=(0.96, 0.91,0.79) 作为参照,设置参数 ε=0.15,选取了 5 个 具有不同难度的 GDI,如表 1 所示。利用式 (2), 分别计算与 center 的距离,计算结果显示前 3 个 都小于 0.15,这表明三者具有同等牌力。后 2 个 计算与 center 的距离大于 0.15,表明这两者不具 有同等牌力。 表 1 5 个具有不同难度的 GDI Table 1 Five GIDs with different difficulties 中心点 g1 g2 g3 Center1 0.950 0.950 0.809 Center2 0.971 0.971 0.824 Center3 1.000 0.85 0.720 Center4 0.736 0.677 0.618 Center5 1.000 1.000 1.000 首先从手牌对应的难度值上分析同等牌力情 况。手牌 Center 难度 GDI=(0.96,0.91,0.79) 表明此 第 3 期 李淑琴,等:竞技二打一游戏中同等牌力的研究 ·469·
·470· 智能系统学报 第16卷 牌有91%的概率赢得比赛,有79%的概率出炸弹四 的概率为72%,对于地主来说获胜难度较小。 并赢得比赛,对于地主来说获胜难度很小。Cen- Center4获胜的概率是67.7%,出炸弹并能胜利的 ter1对应的初始手牌有95%的概率赢得比赛,有 概率为61.8%,对于地主来说打牌难度很大。 95%的概率出炸弹并赢得比赛,对于地主来说获 Center5获胜的概率是100%,出炸弹并能胜利的 胜难度很小。Center2获胜的概率是97%,出炸弹 概率为100%,对于地主来说打牌获胜过于简单。 并能胜利的概率为82%,对于地主来说获胜难度 对应表1生成的初始手牌事例,如表2所示, 小。Center.3获胜的概率是85%,出炸弹并能胜利 下面从牌面对这5副初始手牌的难度进行分析。 表2生成的与center具有同等牌力的初始手牌事例 Table 2 Generated initial hand case with the same force as center 第副手牌 地主手牌 下家手牌 顶家手牌 1 33444556789 TJKKA2222 556677889TTJQQKAX 33467899TJJQQKAAD 2 4455566799TJJJQQQQA2 33466778889JKKA2D 3345789TTTKKAA22X 3 33334577888 JQQKKK22X 44455699TTTJQKA2D 566677899TJJQAAA2 4 34444588TTJOKKKAAA2D 3355666778899JQQ2 3567799TTJJOKA22X 5 333677899 TTTTJQQQ222 34456667JJQKKAA2D 44555788899 JKKAAX 第1副初始手牌:地主持有最大的3张,且地 0.20、0.25。复式赛每个DDZAI获得排名1~5的 主出顺子6789TJ或者56789TJ后会将农民的手 概率如表3所示。 牌拆散,若农民的水平不够,只要放走地主一手 表3复式赛中每个DDZAI获得前5名的概率 小单牌或者小对子,则地主能够出炸弹并胜利, Table 3 Probability of each DDZAI winning the first five 因此第l副初始手牌符合Center的难度。 places in a duplicate tournament 第2副初始手牌:地主持有最大的3张,且 复式赛中 比赛 2家农民掉张过多,会放走地主的小牌,地主能够 DDZAI第1第2第3第4第5 DDZAI 轮次 大概率出炸弹并胜利,因此第2副初始手牌符合 名次 Center的难度。 0 0.700.20 0 0 0.05 第3副初始手牌:地主持有最大的对子,如果 0.050.750.15 0 0.05 2 农民拆AAA管地主的QQ,则地主的KKK又变 5 00.050.700.200.05 3 成最大,地主能够大概率出炸弹并胜利,因此第 3副初始手牌符合Center的难度。 3 0.1000.100.700.10 第4副初始手牌:农民持有最大的对子,且地 4 0.050.050.050.100.75 5 主不善于打对子,农民有控制牌权的能力,且地 0 0.710.200.04 0.05 主小牌较多,但是地主持有KKKAAA2D大牌和 炸弹,能够大概率胜利,但是难度要高于前3副牌。 0.050.750.15 0 0.05 2 第5副初始手牌:地主持有3个3张带单, 2 0 0.040.710.20 0.05 3 1个炸弹,2个对子,地主必能出炸弹胜利,此手 3 0.1000.100.700.10 4 牌过于简单,因此第5副初始手牌也不符合Center 4 0.050.100 0.100.75 5 的难度。 0 0.700.25 0 0 0.05 实验结果表明,根据不同初始手牌GDI值的 相近程度,来认定哪些牌具有同等牌力的方法是 1 0.050.750.15 00.05 可行的。 20 00.050.700.200.05 实验3验证同等牌力应用于比赛的可行性 3 0.100 0.100.700.10 4 本文共选取了5桌DDZAI参加比赛,复式 4 0.050.050.050.100.75 赛、随机发牌赛和同等牌力赛的比赛场数都为 20,一场比赛的轮数分别设置为5、10、20。选取 随机发牌赛每个DDZAI获得排名1~5的概 同等牌力的初始手牌时,设置Center难度为 率如表4所示,参数ε不同取值的同等牌力赛后, GD=(0.96,0.91,0.79),e的取值分别设置为0.15、 每个DDZAI获得排名1~5的概率如表5所示
牌有 91% 的概率赢得比赛,有 79% 的概率出炸弹[14] 并赢得比赛,对于地主来说获胜难度很小。Center1 对应的初始手牌有 95% 的概率赢得比赛,有 95% 的概率出炸弹并赢得比赛,对于地主来说获 胜难度很小。Center2 获胜的概率是 97%,出炸弹 并能胜利的概率为 82%,对于地主来说获胜难度 小。Center3 获胜的概率是 85%,出炸弹并能胜利 的概率为 72%,对于地主来说获胜难度较小。 Center4 获胜的概率是 67.7%,出炸弹并能胜利的 概率为 61.8%,对于地主来说打牌难度很大。 Center5 获胜的概率是 100%,出炸弹并能胜利的 概率为 100%,对于地主来说打牌获胜过于简单。 对应表 1 生成的初始手牌事例,如表 2 所示, 下面从牌面对这 5 副初始手牌的难度进行分析。 表 2 生成的与 center 具有同等牌力的初始手牌事例 Table 2 Generated initial hand case with the same force as center 第i副手牌 地主手牌 下家手牌 顶家手牌 1 33444556789TJKKA2222 556677889TTJQQKAX 33467899TJJQQKAAD 2 4455566799TJJJQQQQA2 33466778889JKKA2D 3345789TTTKKAA22X 3 33334577888JQQKKK22X 44455699TTTJQKA2D 566677899TJJQAAA2 4 34444588TTJQKKKAAA2D 3355666778899JQQ2 3567799TTJJQKA22X 5 333677899TTTTJQQQ222 34456667JJQKKAA2D 44555788899JKKAAX 第 1 副初始手牌:地主持有最大的 3 张,且地 主出顺子 6789TJ 或者 56789TJ 后会将农民的手 牌拆散,若农民的水平不够,只要放走地主一手 小单牌或者小对子,则地主能够出炸弹并胜利, 因此第 1 副初始手牌符合 Center 的难度。 第 2 副初始手牌:地主持有最大的 3 张 ,且 2 家农民掉张过多,会放走地主的小牌,地主能够 大概率出炸弹并胜利,因此第 2 副初始手牌符合 Center 的难度。 第 3 副初始手牌:地主持有最大的对子,如果 农民拆 AAA 管地主的 QQ,则地主的 KKK 又变 成最大,地主能够大概率出炸弹并胜利,因此第 3 副初始手牌符合 Center 的难度。 第 4 副初始手牌:农民持有最大的对子,且地 主不善于打对子,农民有控制牌权的能力,且地 主小牌较多,但是地主持有 KKKAAA2D 大牌和 炸弹,能够大概率胜利,但是难度要高于前 3 副牌。 第 5 副初始手牌:地主持有 3 个 3 张带单, 1 个炸弹,2 个对子,地主必能出炸弹胜利,此手 牌过于简单,因此第 5 副初始手牌也不符合 Center 的难度。 实验结果表明,根据不同初始手牌 GDI 值的 相近程度,来认定哪些牌具有同等牌力的方法是 可行的。 实验 3 验证同等牌力应用于比赛的可行性 本文共选取了 5 桌 DDZAI 参加比赛,复式 赛、随机发牌赛和同等牌力赛的比赛场数都为 20,一场比赛的轮数分别设置为 5、10、20。选取 同等牌力的初始手牌时,设 置 Cente r 难 度 为 GDI=(0.96,0.91,0.79),ε 的取值分别设置为 0.15、 0.20、0.25。复式赛每个 DDZAI 获得排名 1~5 的 概率如表 3 所示。 表 3 复式赛中每个 DDZAI 获得前 5 名的概率 Table 3 Probability of each DDZAI winning the first five places in a duplicate tournament 比赛 轮次 DDZAI 第1 第2 第3 第4 第5 复式赛中 DDZAI 名次 5 0 0.70 0.20 0 0 0.05 1 1 0.05 0.75 0.15 0 0.05 2 2 0 0.05 0.70 0.20 0.05 3 3 0.10 0 0.10 0.70 0.10 4 4 0.05 0.05 0.05 0.10 0.75 5 10 0 0.71 0.20 0.04 0 0.05 1 1 0.05 0.75 0.15 0 0.05 2 2 0 0.04 0.71 0.20 0.05 3 3 0.10 0 0.10 0.70 0.10 4 4 0.05 0.10 0 0.10 0.75 5 20 0 0.70 0.25 0 0 0.05 1 1 0.05 0.75 0.15 0 0.05 2 2 0 0.05 0.70 0.20 0.05 3 3 0.10 0 0.10 0.70 0.10 4 4 0.05 0.05 0.05 0.10 0.75 5 随机发牌赛每个 DDZAI 获得排名 1~5 的概 率如表 4 所示,参数 ε 不同取值的同等牌力赛后, 每个 DDZAI 获得排名 1~5 的概率如表 5 所示。 ·470· 智 能 系 统 学 报 第 16 卷