You are on page 1of 8

一种大众麻将计算机博弈的胡牌方法研究

彭丽蓉, 赵海璐, 甘春晏, 刘洁, 陈俊宇

引用本文:
彭丽蓉, 赵海璐, 甘春晏, 等. 一种大众麻将计算机博弈的胡牌方法研究[J]. 重庆理工大学学报(自
然科学), 2021, 35(12): 127-133.
PENG Lirong, ZHAO Hailu, GAN Chunyan, et al. Research on the Hu Method of a Popular Mahjong
Computer Game[J]. Journal of Chongqing University of Technology(Natural Science), 2021, 35(12): 127-
133.

相似文章推荐(请使用火狐或IE浏览器查看文章)
Similar articles recommended (Please use Firefox or IE to view the article)

一种德州扑克牌力评估方法
A Method of Evaluating Texas Hold' Em Poker
重庆理工大学学报(自然科学). 2021, 35(9): 130-135 https://doi.org/10.3969/j.issn.1674-
8425(z).2021.09.016

二打一智力游戏中残局局面数据标定方法研究
Research on Data Calibration Method of Endgame Situation for Fight the Landlords
重庆理工大学学报(自然科学). 2021, 35(3): 159-165 https://doi.org/10.3969/j.issn.1674-
8425(z).2021.03.021

一种非遗藏族久棋项目计算机博弈智能体的评估方法
An Evaluation Method for the Computer Game Agent of the Intangible Heritage Tibetan Jiu Chess Item
重庆理工大学学报(自然科学). 2021, 35(12): 119-126 https://doi.org/10.3969/j.issn.1674-
8425(z).2021.12.015

一种棋类计算机博弈强化学习智能体的决策依据解释方法
An Interpretation Method of Decision Basis for the Reinforcement Learning Agent of Chess Computer
Game
重庆理工大学学报(自然科学). 2021, 35(12): 140-146 https://doi.org/10.3969/j.issn.1674-
8425(z).2021.12.018

021年第 3
5卷第 1
2期


our
nalo
fCh
ong
qin
gUn
ive
rsi
tyo
fTe
chn
olo
gy(Na
tur
alS
cie
nce
) Vo
l.3
5 No
.12 2
021


oi:1
0.3
969/
j.i
ssn.
167
4-8
425(z
).2
021.
12.
016

●“机器博弈”专栏(主持人:张小川 教授)

一种大众麻将计算机博弈的胡牌方法研究
彭丽蓉1,2,赵海璐1,甘春晏1,刘 洁1,陈俊宇1
(1.重庆理工大学 人工智能系统研究所,重庆 401135;
2.重庆工业职业技术学院 人工智能与大数据学院,重庆 401120)

摘 要:麻将博弈游戏作为非完美信息博弈中的典型项目,与德州扑克、桥牌等其他非完美
信息博弈游戏相比,最大的不同是玩家游戏顺序时常被打乱而产生较大不确定性,导致博弈策
略设计及局面评估困难。针对大众麻将游戏规则,构造了一种快速胡牌方法。为此,首先分析
麻将的大众规则;其次,基于各种牌型和持有牌点数,提出一种胡牌距离概念,以最短胡牌距离
为标准,作为玩家的决策依据;最后,依据已知公开的出牌和玩家手上牌张信息,融合先验知识
后,进一步计算每种出牌行为的期望胜率,从而获得出牌行为评估值,作为玩家的决策依据。实
验结果表明:利用维持最短胡牌距离为核心的快速胡牌方法,在有限牌对局数下,比如在中国计
算机博弈锦标赛中此局数设定为 100
00局,依据设计的智能体,能取得 46.
85%以上的牌局胜
利,该值远高于仅仅使用纯粹经验方法的数值。
关 键 词:计算机博弈;非完美信息博弈;麻将博弈;胡牌方法;胡牌距离
中图分类号:TP311 文献标识码:A 文章编号:
167
4-84
25(2
021)12-0
127-07

Re
sea
rcho
ntheHuMe
tho
dofaPo
pul
arMa
hjo
ngCo
mput
erGa
me
1,2
PENGLi
rong ,ZHAOHa
iu1,GANChuny
l an1,LI
UJi
e1
,CHENJ
unu1

(1.Schoo
lofAr t
if
ic
ialInt
el
lig
ence,Chongqi
ngUniver
sit
yofTechno
log
y ,
Chong
qing401135,Ch i
na;2.S ch
oolofArt
if
ici
alI
ntel
li
genceandBigDa t
a,
Chong
qingIns
tit
uteofIndus
tryandTechnol
ogy
,Cho ng
qing401120,China)

Abstr
ac t
:Ma hj
ongg a
mei sat yp
icali
temina nimperfe
ctinfo
r mat
iongame.Co mparedwit
ho t
her
imper
fectinf
ormati
ong amessuchasTexasHold’ema ndbridg
e ,thebigge
stdif
fer
enceisthatthe
pla
yer’sgames equenceisoft
endisr
upt
ed,res
ulti
nging rea
terun ce
rta
int
y,lea
dingtod i
ff
ic
ult
iesin
games t
rat
egyde s
ignands i
tua
ti
one v
alu
ati
on.Theq uanti
tat
iv
et hinki
ngofthebenef
it
so fHuPa iin
thepaperc o
ns t
ruc
tsaqu ickHuPa ime t
hodina cc
ordancewitht herul
esofthepo pul
arma hj
ong

收稿日期:20
21-1
1-0

基金项目:国家自然科学基金项目(6 0
443
004)
作者简介:彭丽蓉,女,副教授,主要从事计算机博弈、计算机应用研究,E mai
l:2
801
173
4@q
q.c
om;通讯作者 赵海璐,女,
硕士研究生,主要从事计算机博弈研究,Ema
il:
202
679
089
9@q
q.c
om。

本文引用格式:彭丽蓉,赵海璐,甘春晏,等.一种大众麻将计算机博弈的胡牌方法研究[J
].重庆理工大学学报(自然科学),20
21,35
(1
2):
127-133.
Ci
tat
ionf
ormat
:PENGLi
rong
,ZHAOHa
il
u,GANChuny
an,e
tal
.Re
sea
rcho
ntheHuMe
tho
dofaPo
pul
arMa
hjo
ngCo
mput
erGa
me[J
].J
our
nal

fCho
ngqi
ngUni
ver
si
tyo
fTe
chno
log
y(Na
tur
alSc
ienc
e),
2021,
35(12):
127-133.
128

game.Tot hise nd,t hep aperfi


rstanaly
zesthep opularrulesofma hjo
n g;s e
condly,basedonv ar
ious
cardtypesa ndt h enumbe rofcardsh e
ld,ac onceptofHuc ar
ddi st
ancei spropose
d,a ndtheshort
est
Huc arddis t
anc ei suseda stheba si
sf o
rp layer
s’d eci
sio
nma kin
g .Fi nal
ly,basedo nKn o
wingthe
publi
shedc ardsa ndthec ardinfor
ma t
ionint hep l
aye r
’sh and,a ndf usingthepriorknowle
dge,the
expect
edwi n ningr at
eo fea c
hc ardbehaviorisfurt
h ercalc
ulate
d,s oa st oobtai
nthee val
uat
ionval
ue
ofthec a
rdbe hav i
ora sthep l
ayer’sde c
isi
onma ki
n gba s
is.Ex per
imen tsshowt ha
tus i
ngthefastHu
cardme t
h o
dt hatma inta
insthes hort
estHuc ardd ist
an c
ea sthec or
e,i nal imite
dnumbe rofg a
me s,
suchast heChi naCo mp uterGa meCha mp ionshi
p,t henu mbero fg amess ett
ingto10000,t he

ntell
igentbo dyde s
igneda ccor
dingtot hep a
p erme t
ho dcano btai
n46.85% o rmo reofhandwi ns,
andthisv a
lu ei smuc hh igherthanthev al
ueo fp u
relye mpiri
calme t
ho ds.
Ke ywo rds:c ompu te
rg ame ;imp er
fec
ti
nforma t
io
ng a me;Ma hjong;h ume t
hod;hudi st
ance

计算机博弈,也被称为机器博弈,一直是人工 体,如微软 20
19年设计的 s
uphx
,但是其模型构建
智能研究中的热门领域,其覆盖面非常广泛,最广 难度大、训练成本高昂、普适性差,不利于推广。
为熟知的是在计算机博弈游戏中的应用,特别是 综上,拟提出一种既具有一定灵活性、又具备
棋牌类的游戏,许多研究者们致力于研发出能够 一定普适性和低训练代价的胡牌距离概念,再基
[1]
像人类一样思考和决策的游戏智能体 。麻将是 于最短胡牌距离数量值,融合牌局中的已知牌张
一种很受欢迎的多人游戏,老少皆宜,且种类与玩 信息和麻将博弈的先验知识,帮助博弈智能体快
法十分丰富。在计算机博弈中,根据博弈中的信 速胡牌,提升麻将智能体博弈水平。
息是否能完全公开,分为完美信息博弈和非完美
信息博弈 2个类型,显然麻将属于非完美信息博 1 麻将规则概述
弈类型。
麻将起源于中国,最初为上流阶层的游戏,在
顾名思义,在完美信息博弈中,对弈信息对对
历史演变过程中逐渐流传于民间,其规则也因而
弈各方是完全公开的、透明的,智能体的构造或策
演变成多种多样。本文以 2020年中国计算机博
略的设计大多可以基于树 搜 索 和 节 点 评 估 的 方
弈锦标赛中大众麻将项目的规则为案例,说明麻
式,通过构建博弈树,设计不同的评估函数或方法
将规则数量化的过程。
来评估博弈树中每个节点,即可能的博弈局面,如
概况:麻将有筒、条、万 3种花色,每种花色含
围棋、西洋跳棋、五子棋等 [2],由此产生了系列经
数字 1~9共 9个牌张,每个牌张共 4张,共 10
8张
典的、高 效 的 搜 索 算 法,比 如 极 大 极 小 搜 索 算
牌。分列如图 1所示的东、南、西、北 4位玩家,玩
法 [3]、a
lpha
be
ta剪枝算法 [4]、UCT算法 [5]等。
家每次出牌动作的时间限制在 3秒内。当有一个
在非完美信息博弈中,不适合于照搬完美信
玩家成功胡牌,则该牌局就结束。
息博弈方法来构造博弈智能体 [6]。比如,非完美
信息博弈游戏麻将博弈中,玩家除能知道已公开
的出牌牌张和自己手上牌张外,其余牌张信息是
不知道的,也就是不透明的,产生大量未知信息,
而且,麻规则中还存在杠、碰、吃等着法,将打乱出
牌顺序而产生随机性,从而增加决策困难。目前,
麻将智能体的博弈策略设计方法主要采用如下 2
种方法:① 基于规则和经验 [7-8];② 采用深度强
图 1 麻将博弈示意图及牌型图例
化学习算法 [9-10]。方法 ① 能够达到一定的牌力,
但缺乏灵活性 [11],并且对设计者的麻将游戏实战 报听:玩家手上的牌张还差一张牌,就可赢牌
能力提出要求,否则,将直接影响智能体的博弈水 时的牌局状态。按照博弈规则要求,在报听后,玩
平。方法②能够构造出较高水平的麻将博弈智能 家的博弈之閠提就进入托管模式,即除胡牌行为
彭丽蓉,等:一种大众麻将计算机博弈的胡牌方法研究 129

外,不能再做任何其他动作,比如换牌、吃牌、碰牌 b×DD (2)


和杠牌等。 其中 b=7。
出牌行为顺序:在打牌中,每方玩家起手牌规 在表 1或式 ⑴ 或式 ⑵ 中,a、b均为整数;AAA
定是 13张,但指定的“庄家”将打出第一手牌,就 表示同花色的任意相同 3张牌,称为刻子,如图 1
会手持 14张,然后按顺时针方向依次出牌。除正 中 3张四筒;ABC表示同花色的连续顺序的 3张
常的出牌外,还有 4种特殊的出牌行为,其优先级 牌,称之为顺子,如图 1中 3张一、二、三万;DD表
顺序为“胡牌 >杠 >碰 >吃”: 示同花色的任意 2张相同牌张,称之为对子,也称
1)吃牌:吃牌是指玩家拥有两张相邻或相隔 为将牌,如图 1中 2张四条。
一张的牌,当上家打出相邻或是中间的这张牌时, 从上可见,牌张分分合合的过程,其实就是一
可以进行吃牌; 个牌局逼近胡牌状态的过程,与此同时,尽量追求
2)碰牌:碰牌是指有一对一样的牌,当其他 最快时间和最大番值。进一步分析发现,通过计
任何一位玩家打出相同牌的时候,玩家可碰牌; 算,可以得到 10
8张麻将牌中每一种胡牌类型的
3)直杠:杠牌的一种,指玩家拥有刻子(3张 牌型数目,再将牌型数目值由大到小排列可得“基
一样的牌),当其他任何玩家打出该刻子的第 4张 本胡 >碰碰胡 >清一色 >七对”,简称为“x>y>
牌时,进行开杠即为直杠。 z>q
”,这说明表 1中番值大小也是玩家胡牌获胜
4)暗杠:杠牌的一种,当玩家手牌有 4张一样 概率的大小写照,番值越大,获胜概率也越小,难
牌张时,进行开杠即为暗杠,与直杠的区别的在于 度越大,反之亦然。
刻子的第 4张牌由玩家自己从牌墙获得。 此外,笔者注意到不同地区的麻将博弈规则
5)补杠:玩家碰牌后,再摸到第 4张与已碰牌 差异较大。比如,大众麻将规则与成都地区的“血
相同的牌,并杠牌,即为补杠。
战到底”麻将规则比较,至少存在 2点巨大差异:
6)听牌:玩家的手牌还差一张牌即可胡牌的
一是胡牌花色种类不同,“血战麻将”任何胡牌类
状态,称为听牌状态。玩家可选择是否报听,报听
型,花色限制不超过 2种,即必须打缺;而大众麻
后可以获得分数奖励,但是不可再换牌,即摸什么
将从表可见,除表 1中 z类外,其他 3种 x
、y、q胡
牌就打什么牌,但在不影响牌的情况下,有杠可以
牌类型,没有花色种类限制;二是游戏结束方式不
选择是否杠。
同,大众麻将只要有某个玩家胡牌,就宣告游戏结
7)胡牌:玩家手上的 14张牌能够组成特定组
束,而“血战麻将”即使某个玩家胡牌,也不意味着
合条件的牌型时,即称为胡牌。此组合条件是不
游戏结束,而是剩余玩家需要继续对弈,直到局面
同地区、不同玩法的麻将,最大的不同所在。
中仅有一名玩家没有胡牌或堂子中牌张清零,游
为了胡牌,玩家需要不断地依据进张组合、拆
戏才宣告结束,这也就是“血战到底”的含义。显
分,再组合、再拆分,目标就是能最快地将手中 14
然,“血战麻将”的博弈智能体构建难度更大,因为
张牌组成特定牌型,这可以用式 ⑴ 量化表示,同时
不断的胡牌玩家将会同时隐藏许多牌张信息,让
在满足式 ⑴ 或式 ⑵ 基础上,尽可能保证赢得表 1
后续玩家难以准确判断局面中剩余牌张,这将极
所示的最大番值。
大影响后 续 玩 家 的 计 算、判 断 和 决 策,增 加 博 弈
表 1 牌种及番数 难度。
胡牌类型 番数 花色数 对应牌张组合
x-基本胡 6番 3 (4-a)×AAA+a×ABC+DD 2 胡牌方法
y-碰碰胡 8番 3 4×AAA+DD
2.
1 胡牌距离概念
z-清一色 1
2番 1 (4-a)×AAA+a×ABC+DD
所谓的胡牌距离 d,就是玩家当前手牌与胡牌
q-七对 1
2番 3 7×DD
状态度量值,即玩家当前手牌到最近胡牌类型所
(4-a)×AAA+a×ABC+DD (1) 需牌张的数量,本质就是缺牌数量。如图 2牌例
其中 0≤a≤4。 中,尽管存在满足式 ⑴ 的 3个顺子或刻子,还有 2
130

个对子,此时,玩家就面临拆 4张“二条”为 1个刻 2.


2 手牌信息集
子,寻求 1个条、筒花色的新对子,还是保留 2张 尽管胡牌距离 d的大小可以是麻将博弈智能
“二条”为将牌,再寻求 3张条或筒花色的 1个顺 体的胡牌路线的选择依据,左右胡牌路线的方向
子或刻子,此时前 1种情况距离胡牌还差 2张牌、 选择,但是,博弈进程中,随着麻将游戏开始,东南
后 1种情况距离胡牌还差 3张牌,这样 2种选择的 西北 4个玩家首先逐次摸牌获得起手 13张牌,其
胡牌距离 d就分别是 2和 3。从胡牌距离大小来 中庄家多一张最先出牌张,为 1
4张,然后是依照
讲,选择 d=2这条胡牌路线更好,这也是引入胡 麻将规则摸牌、打牌,从而图 1堂子中的牌张将会
牌距离的本意,就是利用可量化的概念,告诉麻将 越来越多、玩家手上牌张通常至少有 13张,除非
博弈智能体胡牌路线的选择方向。当然,理论上 有“杠”组合牌张存在或胡牌,牌张数会大于 13。
讲,胡牌距离 d是介于[0,12]区间的整数值,当 因此,玩家能看见的牌张信息就是堂子中的明牌、
d=0时,玩家起手就胡牌,这称为天牌,当 d=1
3 自己手上的牌和其他玩家各类吃牌、碰牌动作后
时,就是手上 13张牌全是散乱,没有任何顺子、刻 的明牌,其余牌张信息是不清楚的,这些就是隐藏
子、对子,理论上需要的胡牌 14张牌,需要更换全 牌张。此时,如果单纯依据距离 d大小,而不考虑
部手上的 13张牌,这称为烂牌。 隐藏牌张信息,就可能造成永远都不能胡牌,因为
需要的胡牌张可能在其他玩家手中,而且是他们
固定下来的组合,无论是有意还是无意,都不会打
出来。比如,某玩家东仅仅只差将牌,手上有 1张
“二条”,此时 d=1,但是在另外玩家西手中 “二
条”是 1个刻子,此时玩家西不会将“二条”打出,
而且还希望杠“二条”以加番,如果玩家东不能洞
察而等“二条”,显然东家永远不能胡牌,此时最小
图 2 麻将游戏玩家手牌实例图 的 d值反而成为累赘。
除此之外,有时候不同的胡牌路线会拥有相
此外,麻将博弈常采用拆分方法、寻找其中隐
同的胡牌距离。比如某玩家当前手牌为 2
3345B
藏的不同胡牌路线,而面对诸多胡牌路线,胡牌距
(条),所有可能的获胜牌型共有 9种,玩家在逼近
离 d就可以是其选择的依据。但是,d值的应用又
胡牌的过程中,对手牌不断进行拆分,根据不同的
不能太僵化,这是因为在逼近胡牌的过程中,玩家
获胜牌型,玩家需要等待和需要丢弃的牌张是不
按照表 1需要,不断对手上的牌进行顺、刻、对组
同的,具体情况如图 4、
5所示。
合或拆分并同时考虑花色的搭配,这个过程中会
产生一些新的牌张组合,如二连牌、搭子,如图 3
所示。这些新组合是逼近顺、刻、对的最佳牌档,
以它们为基础可以建立满足式 ⑶ 的集合 Q,称之
为缺牌集:
d=mi
n{|Qi| |i∈ [1,n]} ⑶
可以把二连牌、搭子等组合,理解为获得顺、
图 4 对 3为将牌的获胜牌型
刻、对组合的最佳中间牌张搭档。

图 3 麻将博弈牌张组合图例 图 5 其他牌作为将牌的获胜牌型
彭丽蓉,等:一种大众麻将计算机博弈的胡牌方法研究 131

图 4、
5中带有下划线的数字表示玩家若想要 计算每个可能动作的期望胜率 Eaction。式(5)表示
以这种牌型获胜所需要的牌张,对应下方则为不 其计算公式。
需要的牌张。也就是说,玩家若想要以 3
323
4B的 Eaction =αPDi +βPQi (5)

牌型获胜,就必须从当前的手牌中丢弃 5B(条),
PDi =∏ p
(t),t
j j∈ D,j∈ [1,n] (6)

等待 3B(条);想要以 3
334
5B的牌型获胜,就必须 =1


丢弃 2B(条),等待 3B。这样的情况总共有 9种。 PQi =∏ p
(tm),t
m∈ Q,m∈ [1,n] (7)

同时,由式(3)可得,图中①②③④ 的获胜路线d= m=1

式(5)中的 α、β分别表示 Qi和 Di的大小,式(6)


2,而其余 5种获胜牌型 d=1,显然 ①②③④ 的获
中的 PDi表示玩 家 丢 弃 弃 牌 集 中 元 素 的 概 率,式
胜路线并不是玩家的最佳选择。如果仅仅根据 d
(7)中的 PQi表示玩家得到缺牌集中元素的概率。
的值来确定玩家的胡牌路线,那么玩家当前有 5
在图 4中,Qi和 Di的大小均为 2,因此 α=β=2,
种胡牌路线可以选择,这 5种胡牌路线所需的牌
同理,在图 5中可得 α=2,β=1。通过式(5)(6)
张信息,就构成了信息集 I
,其中需要的牌张组成
(7),可以计算出每个可能执行动作的期望胜率。
缺牌集合 Q,不需要的牌张组成弃牌集合 D。I与
基于游戏规则可知,玩家的动作分为两类:出
Q、D的关系如式(4)所示。
牌动作和其他动作,而其他动 作 是 指 吃、碰、杠。

i ={Qi:Di|i∈ [1,n]} (4)
本质上,可以将玩家吃和碰的动作决策与玩家出
若按照图 4的拆牌方式,Q1 ={3B,
6B},对应
牌动作的决策归为一类。吃、碰的动作与出牌动
D1 ={2B,5B};若按照图 5拆牌方式,Q2 ={2B,
作有着共 同 点,其 都 需 得 到 一 张 牌,再 丢 出 一 张
5B},对应 D2 ={3B},就这样,不同拆牌方式得到
牌,区别在于出牌动作是系统自动为 AI玩家随机
的 Q和 D,共同构建了当前手牌的信息集 I

获得一张牌,然后 AI玩家再丢弃一张牌,而吃、碰
本质上,信息集 I中存储的信息,就是玩家当
是“获得”其余玩家丢弃的一张牌,相当于摸进一
前手牌下,所有可能执行的最优动作策略的合集。
张已知牌,然后再进行出牌动作,因此,可将吃、碰
当然,依据胡牌距离 d构建的信息集 I
,只是玩家
动作与出牌动作归为一类,看作统一决策情形进
在仅考虑自身手牌下的理想可执行动作,行牌过
行处理 [12]。
程中诸多的隐藏信息,必定会影响玩家最终动作
行为决策总体逻辑是:轮到玩家出牌时,系统
决策。因此,胡牌距离 d必须与手牌信息、缺牌信
已自动替玩家执行“摸牌”动作,因此程序输入牌
息进行 融 合 决 策,才 能 实 现 博 弈 智 能 体 的 胡 牌
的张数只可能是 2、5、8、1
1、14张,然后进行出牌
目标。
动作决策;当其他玩家动作时,AI玩家不断收集场
2.
3 行为决策 上已知信息,并关注其他玩家丢弃的牌,判断是否
进行吃、碰。AI玩家整体执行的逻辑流程如图 6
根据玩家在当前手牌下计算的胡牌距离以及 所示。
构建的信息集 I
,本节的行为决策将介绍在获得手 图 6中,ha
nd表示玩家当前手牌,s
tat
e表示玩
牌信息集的基础上,针对相同胡牌距离下玩家如 家当前状态,s
tat
e=0,表示玩家当前状态是出牌状
何决定出牌动作及是否进行吃碰杠动作,提出一 态,若不为零,则表示玩家为非出牌状态,即吃或
种融合场上信息,计算期望胜率的方法,指导玩家 碰的状态。ha
nd′
表示玩家处于非出牌状态下的手
具体动作的决策。 牌。T表示一张牌,初始值为空。d和 I分别为根
在麻将游戏中,玩家所有可执行的动作包括: 据玩家当前手牌计算的胡 牌 距 离 及 构 建 的 信 息
吃、碰、杠、出牌、摸牌。在计算机中,摸牌动作不 集,t表示最终计算得到的玩家可以丢弃的牌,Ac

需要 AI玩家设计实现,直接由计算机程序控制发 t
io
n表示玩家最终的动作。
牌,AI玩家每次自动获得一张新牌,并按序排列。 当玩家为出牌状态,ha
nd的值为玩家当前手
每当轮到玩家执行游戏动作时,首先结合当前场 牌,T的值为空,首先计算 d,并构建 I
,然后计算每
上信息,构建手牌信息集,然后根据手牌信息集, 个可执行动作 (即每张可以丢弃的牌)的期望胜
132

率,最后选择出期望胜率最高的动作(即最终丢弃 平台中有随机发牌的 AI及判胡处理程序。实验


的牌 t
),判断 t的值是否与 T的值相等,若不相 程序只需按照接口文档,返回规定的数据,即可将
等,则执行该动作。由于在出牌状态下,T的值始 多个不同类型的实验程序接入该平台,进行麻将
终为空,因此 T和 t永远都不会相等,Ac
ti
on=t
,表 对战。对手设置如表 2所示。
示丢弃的牌为 t

表 2 实验对手设置
名称 版本 注释
MJ
1 Ex
p 基于专家经验
MJ
2 Hu
man 基于普通玩家经验

基于胡牌距离设置的程序 MJ
D,分别与上述
对手进行 10
00局的对弈,根据最终累计的胡牌总
得分来判定胜负关系。实验设计一个 MJ
D分别
和 3个 MJ
1、MJ
2对局,这样可以保证 3个对手的
游戏水平是一致的,能尽可能避免位置不同带来
的影响。表 3和表 4分别为和 MJ
1、MJ
2的对局
结果。

表 3 对局结果
版本 总得分 胡牌次数 平均得分 /

MJ
D 20
65 4
28 4.
82
MJ
1 11
59 1
90 6.
10
MJ
1 7
74 1
29 6.
00
图 6 整体流程框图 MJ
1 15
99 2
53 6.
32

当玩家为非出牌状态,即说明此时需要执行
表 4 对局结果
的动作是判断玩家是否进行吃或碰。程序中先假
版本 总得分 胡牌次数 平均得分 /

设已经进行吃或碰,将 T的值赋为可吃或可碰的
MJ
D 22
98 5
09 4.
51
那张牌的值,并更新 ha
nd,处理逻辑与玩家处于出 MJ
2 8
95 1
79 5.
00
牌状态时一致,只是 T的值不再为空。最后当 T MJ
2 13
78 2
12 6.
50
与 t相等时,Ac
ti
on的值为 pa
ss,表示玩家不执行 MJ
2 6
50 1
00 6.
50
吃或碰的动作;T与 t不等时,表示玩家执行吃或
碰的动作,并丢弃 t
。 表 1中 MJ
1基于专家经验设置而成,具备一
定的对战 能 力,牌 力 在 普 通 玩 家 之 上,而 表 2中
3 实验结果与分析 MJ
2的牌力,更接近普通人类水平。根据表 3和
根据游戏规则,在有限的游戏局数中,游戏的 表 4的对局结果可得,MJ
D在 1000局对弈中,虽
获胜是由玩家最终累计获得的分数多少决定,而 然每局的平均得分并不是最高的,但是总的胡牌

每局游戏,只 要 有 一 个 玩 家 胡 牌,则 本 局 游 戏 结 次数最多,最终的总得分也是最高的。由此,基于

束,因此,采用维持最少缺牌数的胡牌方法,来实 胡牌距离的胡牌方法舍弃高分牌型,以快速胡牌

现快速胡牌,通过在胡牌次数上的优势,来获得最 为目的,能够在胡牌次数的优势上赢得更多的分

终的游戏胜利。为了验证本文方法的有效性,设 数,从而获取最终游戏胜利。

计了与基于专家经验出牌程序 MJ
1和普通人类玩
4 结论
家 MJ
2的对照实验。使用平台为竞技世界(成都)
网络技术有限公司研发的麻将博弈对战平台,该 提出了麻将博弈胡牌方法,基于胡牌距离构
彭丽蓉,等:一种大众麻将计算机博弈的胡牌方法研究 133

建手牌信息集,融合场上信息,通过维持最少缺牌 [4] PLAATA,S


CHAEFFER J
,PI
JLSW,e
tal
.A mi
nima

数,计算相同胡牌距离局面下的期望获胜概率,更 a
lgo
rit
hmb
ett
ert
hana
lph
ab
et?Noa
a ndy
es[J
].J
our
nal

好地决定玩家动作,实现快速胡牌,从而在有限的 o
fTe
leme
dic
ine&Te
lec
are
,20
17,
6(1
3):
47-4
9.
[5] GELLYS,
WANGY.Ex
plo
rat
io
nex
plo
it
at
io
ning
o:UCT
游戏局数中,取得较多次数的游戏胜利。实验显

orMo
nte
Ca
rlog
o[C]//
NIPS:Ne
ura
lIn
for
mat
io
nPr
o
示,基于胡牌距离的胡牌方法能够更为准确的决

ess
ingS
yst
emsCo
nfe
ren
ceOn
li
net
rad
ingo
fEx
plo
ra
定玩家动作,虽然每局的平均得分不是最高的,但

io
nan
dEx
plo
it
at
io
nWo
rks
hop.
200
6.
是在多局游戏中的获胜次数,明显高于基于经验 [6] 贺德富,
涂睿,
苏喜生.
基于属性的计算机兵棋规则模
的方法,最终的累积得分也是最高的。本文方法 型研究[J
].重庆理工大学学报(自然科学),
201
9,3

存在的不足是:① 在游戏中,需要收集场上所有已 (6):
165-1
70.
知牌的信息,并据此计算该局面期望胜率,而前期 [7] 高强,
徐心和,
王昊,等.一种基于经验的德州扑克博
场上已知信息较少,胡牌距离较大时,信息集的构 弈系 统 架 构 [J
].智 能 系 统 学 报,2
020,1
5(3):4
68
建会存在不可避免的偏差,导致游戏前期动作决 -4
74.

策失误;② 舍弃了高分牌型,丧失了一部分获得高 [8] MI


ZUKAMIN,TS
URUOKA Y.Bu
ild
ingac
omp
ute

Ma
hjo
ngp
lay
erb
ase
donMo
nteCa
rlos
imu
lat
io
nan
dop

分的机会。后 续 将 对 游 戏 前 期 已 知 牌 信 息 较 少

one
ntmo
del
s[C]//
201
5IEEECo
nfe
ren
ceo
nCo
mpu
ta
时,信息集的构建进行进一步研究,以减少前期错

io
nalI
nte
ll
ig
enc
ean
dGa
mes(CI
G).I
EEE,2
015:2
75
误动作对后续行为决策的影响,同时,加入高分牌
-2
83.
型的处理决策。 [9] 闫天伟.
基于深度学习的不完全信息博弈决策的研究
与应用[D].
南昌:
南昌大学,
201
9.
参考文献:
[1
0]雷 捷 维,王 嘉 ,任 航,等.基 于 Ex
pec
ti
max搜 索 与

[1] 唐杰.浅谈人工智能的下一个十年[J
].智能系统学 Do
ubl
eDQN的非完备信息博弈算法[J
].计算机工

报,
202
0,1
5(1):
187-1
92. 2
程,02
1,4
7(3):
304-3
10,
320.

[2] S
CHAEFFERJ
,BURCH N,BJ
?RNS
SON Y,e
tal
. [1
1]LIJ
,KOYAMADAS,
YEQ,
eta
l.S
uph
x:Ma
ste
rin
gMa
h

Ch
eck
ersi
sso
lve
d[J
].S
cie
nce
,20
07,3
17(5
844):1
518 j
ongwi
thd
eepr
ein
for
ceme
ntl
ear
nin
g[J
].2
020.

-1
522. [1
2]任航.
基于知识与树搜索的非完备信息博弈决策的研

[3] PLAATA,S
CHAEFFER J
,PI
JLSW,e
tal
.A mi
nima
x 究与应用[D].
南昌:
南昌大学,
202
0.


lgo
rit
hmb
ett
ert
hanS
SS [J
].Ar
ti
fi
ci
alI
nte
ll
ig
enc
e,

996,
87(1/
2):
255-2
93. (责任编辑 王 欢)

You might also like