发明内容
基于此,本发明的目的是提供一种麻将对手定口预测方法、装置、存储介质及设备,以解决现有定口预测需要大量基于人类对于麻将规则的认知进行特征提取的技术问题。
根据本发明实施例的一种麻将对手定口预测方法,用于预测除本家以外的其他对手的定口概率,所述方法包括:
获取当前麻将对局的当前场面信息,所述当前场面信息为所述本家当前已知的牌面信息;
采用预设编码方法对所述当前场面信息进行编码,得到所述当前场面信息对应的编码数据;
将所述当前场面信息对应的编码数据输入预训练的定口预测模型当中,输出每个对手的当前定口概率;
其中,所述定口预测模型通过对历史麻将对局的编码数据进行麻将规则的深度学习训练得到,所述历史麻将对局的编码数据由历史麻将对局的场面信息按所述预设编码方法对应编码得到。
另外,根据本发明上述实施例的一种麻将对手定口预测方法,还可以具有如下附加的技术特征:
进一步地,所述定口预测模型的训练过程包括:
获取历史麻将对局的场面信息,并采用所述预设编码方法对所述历史麻将对局的场面信息进行编码,得到所述历史麻将对局的编码数据;
将所述历史麻将对局的编码数据输入到预设的卷积神经网络当中进行麻将规则的深度学习训练;
计算出所述卷积神经网络的当前损失函数,并根据所述当前损失函数调整所述卷积神经网络的网络参数,以对所述卷积神经网络进行迭代训练,直到所述卷积神经网络的损失函数收敛于预设目标值。
进一步地,所述卷积神经网络包括依次连接的卷积核、残差模块、两层全连接层和多个输出头,所述输出头的数量与对手数量对应;
所述卷积核的核大小为3*1,滤波器高度为256。
进一步地,所述卷积神经网络的损失函数为:
Loss=k 1 *loss 1 + k 2 *loss 2 + k n *loss n ;
n代表输出头的数量,n为整数且n≥2,k n 代表第n个输出头的权重系数,loss n 代表第n个输出头的交叉熵损失函数,其中:
式中, y i 表示样本i的标签、定口为1不定口为0,p i 表示样本i预测为定口的概率,N为样本数量,1≤i≤N。
进一步地,所述场面信息包括牌集特征、顺序特征和整数特征,所述牌集特征包括本家手牌、每家副露和宝牌,所述顺序特征包括每家出牌及其出牌顺序,所述整数特征包括当前轮数、每家飞宝数和牌墙数。
进一步地,采用预设编码方法对所述当前场面信息进行编码的步骤包括:
采用对应的预设编码方法分别对所述牌集特征、所述顺序特征和所述整数特征进行编码,得到所述牌集特征、所述顺序特征和所述整数特征对应的编码特征矩阵;
将所述牌集特征、所述顺序特征和所述整数特征对应的编码特征矩阵按预设顺序进行垂直维度的拼接,得到298*34的二维特征矩阵;
将298*34的二维特征矩阵转换为298*34*1的三维特征矩阵。
进一步地,所述采用对应的预设编码方法分别对所述牌集特征、所述顺序特征和所述整数特征进行编码的步骤包括:
对于所述牌集特征,通过不同的字符来标识每种牌,每种字符下方对应有四个编码单元,每个编码单元的取值为0或1,通过四个编码单元的编码值来代表每种牌的数量;
对于所述顺序特征,通过不同的字符来标识每种牌,每种字符下方对应有25个编码单元,25个编码单元分别对应25轮出牌,每个编码单元的取值为0或1,通过每个编码单元的编码值来代表每轮出牌;
对于所述整数特征,采用全0或全1编码方式进行编码,在表示特征时整行置为1或整行全置为0。
根据本发明实施例的一种麻将对手定口预测装置,用于预测除本家以外的其他对手的定口概率,所述装置包括:
信息获取模块,用于获取当前麻将对局的当前场面信息,所述当前场面信息为所述本家当前已知的牌面信息;
信息编码模块,用于采用预设编码方法对所述当前场面信息进行编码,得到所述当前场面信息对应的编码数据;
定口预测模块,用于将所述当前场面信息对应的编码数据输入预训练的定口预测模型当中,输出每个对手的当前定口概率;
其中,所述定口预测模型通过对历史麻将对局的编码数据进行麻将规则的深度学习训练得到,所述历史麻将对局的编码数据由历史麻将对局的场面信息按所述预设编码方法对应编码得到。
本发明还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的麻将对手定口预测方法。
本发明还提出一种麻将对手定口预测设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的麻将对手定口预测方法。
与现有技术相比:通过采用特定编码方法对麻将对局的场面信息进行编码,继而使用深度学习中卷积网络的强大特征表征能力让模型自主的学习隐藏在麻将博弈信息背后的逻辑关系(即麻将规则),由此训练得到了深度学习掌握了麻将规则的定口预测模型,后续根据当前麻将对局的当前场面信息按照相同编码方法编码得到的编码数据,即能够精确预测每个对手的当前定口概率。本方法当中的定口预测无需做过多人为的麻将特征设计和特征提取,相比于“爆打”AI能够简化特征工程,降低模型开发周期和对研究者的专业知识要求。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的若干实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
需要说明的是,当元件被称为“固设于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
实施例一
请参阅图1,所示为本发明第一实施例中的麻将对手定口预测方法,可应用于计算机设备中,用于预测除本家以外的其他对手的定口概率,所述方法具体包括步骤S01- S03。
步骤S01,获取当前麻将对局的当前场面信息,所述当前场面信息为所述本家当前已知的牌面信息。
具体地,当前场面信息是指相对本家而言、当前场面上除隐藏信息之外的所有已知的牌面信息,包括本家手牌、对手出牌、副露、宝牌等等。其中,隐藏信息例如包括对手手牌、墙牌等。
步骤S02,采用预设编码方法对所述当前场面信息进行编码,得到所述当前场面信息对应的编码数据。
步骤S03,将所述当前场面信息对应的编码数据输入预训练的定口预测模型当中,输出每个对手的当前定口概率。
其中,所述定口预测模型通过对历史麻将对局的编码数据进行麻将规则的深度学习训练得到,所述历史麻将对局的编码数据由历史麻将对局的场面信息按所述预设编码方法对应编码得到。
也即,通过收集历史麻将对局的场面信息,并通过相同的编码方式,以将历史麻将对局的场面信息转换为对应的编码数据,以得到历史麻将对局的编码数据,这些历史麻将对局的编码数据将作为模型训练数据集。在本实施例当中,定口预测模型具体可以为卷积神经网络模型,通过历史麻将对局的编码数据对卷积神经网络模型进行训练,以使用深度学习中卷积网络的强大特征表征能力让模型自主的学习隐藏在麻将博弈信息背后的逻辑关系(即麻将规则),由此训练得到了深度学习掌握了麻将规则的定口预测模型,后续根据当前麻将对局的当前场面信息按照相同编码方法编码得到的编码数据,即能够精确预测每个对手的当前定口概率。
具体地,模型训练用的历史场面信息的编码方法应当与实际应用当中的当前场面信息的编码方法相同,以保证定口预测模型能够正常识别当前场面信息对应的编码数据。为解决非完备信息麻将博弈中信息缺失、信息集巨大、多人决策下的不确定性等问题,本实施例对麻将的数据进行针对性的特征编码,以使得能够使用CNN网络表征麻将信息,即提出了一种适用于将麻将信息CNN网络化的编码方法,由此来解决该问题。具体编码方法如下:
在本实施例当中,以中国四人麻将为例,首先对中国四人麻将这类非完备信息机器博弈游戏中的场面信息进行分类,主要分为牌集特征、顺序特征、整数特征和类别特征,对不同部分的特征采取不同的编码格式。本实施例使用的特征信息如下表1所示,其中,本家手牌、4家副露、宝牌属于牌集特征,因为其就表示牌的信息;4家出牌属于顺序特征,除了牌的信息还需要表示出牌之间的一个顺序关系;当前轮数、4家飞宝数和牌墙数属于整数特征;庄家属于类别信息。每个特征由若干各编码单元构成,编码单元的格式是一个初始值全为0的34维向量。
表1:
其中,对于牌集特征采用如下表2的编码方法进行编码:
表2:
其中,w代表是万,s代表条,t代表筒,D、N、X、B、Z、F、Ba分别代表东、南、西、北、中、发、白,即通过不同的字符来标识每种牌。每种字符下方对应有四个编码单元,每个编码单元的取值为0或1,通过四个编码单元的编码值来代表每种牌的数量,例如表2当中的编码对应图2所示的手牌。
其中,对于顺序特征采用如下表3的编码方式进行编码:
表3:
以顺序特征的对手出牌举例,例如表3当中的编码对应图3所示的某个对手的历史出牌,中间行没有具体描述,总共有25行,表示前25轮各历史出牌,不足的用0补足。
此外,对于整数特征和类别特征则采用全0或全1编码方式进行编码,特点是在表示特征时要么整行置为1,要么整行全置为0。例如如果某个玩家的飞宝个数为4时,其编码后的特征如下表4所示。同样的庄家特征和轮次数特征也是类似编码,将庄家对应的一整行全置为1,将轮次对应的一整行全置为1。
表4:
牌墙数特征属于整数特征,所以和当前轮数、4家飞宝数执行一样的编码方式,即全0或者全1的编码。具体来说,对于牌墙数特征的编码,我们预先初始化一个全为0的84*34的矩阵,也是对应84个编码单元,将当前牌墙数对应的那一行全置为1,例如:如果当前牌墙数是60张,那将第60行全置为1。
另外,场面信息经过对应编码之后,最后构建成适应于卷积神经网络输入的类图片形式的训练样本。在本实施例当中,最后将麻将的场面信息特征编码成为(298*34*1)的矩阵数据,作为网络模型的输入数据。这样就可以通过网络模型中的多层卷积块捕获麻将信息并抽取麻将场面信息的表面信息以投射到更高维的空间,学习到麻将数据之间更深层次的关系。例如,通过当前对手的弃牌让模型隐式的学习到对手可能的胡牌倾向和番种,也进一步的推测出对手可能的手牌和对手需要的牌。给一些更具体的说明:对手出了连续序数牌,那么平胡概率很小,更可能是十三烂;对手有多个碰子副露,那么做碰碰胡的概率很大。而去预测对手的定口情况就是预测距离对手胡牌的最后一张需要的牌。由此可知,本实施例当中的预测模型只需要输入当前的场面信息,通过特征编码后,经过多层卷积的运行,最后以概率的形式直接给出对手的定口情况。属于使用一种网络模型就能完成数据的输入和输出,是一种端到端的网络自学习数据特征的麻将对手定口预测方法。
综上,本发明上述实施例当中的麻将对手定口预测方法,通过采用特定编码方法对麻将对局的场面信息进行编码,继而使用深度学习中卷积网络的强大特征表征能力让模型自主的学习隐藏在麻将博弈信息背后的逻辑关系(即麻将规则),由此训练得到了深度学习掌握了麻将规则的定口预测模型,后续根据当前麻将对局的当前场面信息按照相同编码方法编码得到的编码数据,即能够精确预测每个对手的当前定口概率。本方法当中的定口预测无需做过多人为的麻将特征设计和特征提取,相比于“爆打”AI能够简化特征工程,降低模型开发周期和对研究者的专业知识要求。
实施例二
请参阅图4,所示为本发明第二实施例当中的一种麻将对手定口预测方法,用于预测除本家以外的其他对手的定口概率,所述方法包括步骤S11- S16。
步骤S11,获取历史麻将对局的场面信息,并采用所述预设编码方法对所述历史麻将对局的场面信息进行编码,得到所述历史麻将对局的编码数据。
其中,所述场面信息包括牌集特征、顺序特征、整数特征和类别特征,所述牌集特征包括本家手牌、每家副露和宝牌,所述顺序特征包括每家出牌及其出牌顺序,所述整数特征包括当前轮数、每家飞宝数和牌墙数。庄家属于类别特征。
步骤S12,将所述历史麻将对局的编码数据输入到预设的卷积神经网络当中进行麻将规则的深度学习训练。
需要说明的是,除提出了一种适用于将麻将信息CNN网络化的编码方法之外,本方法还提出了一种用于预测麻将对手定口信息的卷积神经网络结构,如图5所示,所述卷积神经网络包括依次连接的卷积核、残差模块、两层全连接层和多个输出头,所述输出头的数量与对手数量对应,例如以中国四人麻将为例,对手数量为3,输出头的数量也为3。其数据处理过程如下:
首先,通过特征工程将麻将对局的场面信息进行编码,得到298*34*1的矩阵数据,再通过一个卷积核进行特征映射,将较内聚的特征信息扩散到高维的空间,便于卷积网络学习到不同层次的数据分布情况,然后通过残差模块保证尽可能学习到麻将负责的状态信息的同时保证模型训练的稳定性,最后将经过卷积之后的feature map 进行两层全连接,输出部分拆分成3个输出头,每个输出头对应该对手是否定口的二分类问题,即输出定口概率和不定口概率,定口概率和不定口概率之和等于1,最终输出定口概率。
具体来说,关于网络结构的具体设计,本方案主要有两个创新点:1)提出了一种适应于麻将牌组的卷积核,所述卷积核的核大小为3*1,滤波器高度为256;2)在网络的输出头使用多任务网络结构同时进行三家对手的定口情况的预测。下面将介绍这两点的具体过程:
1)由于模型输入的矩阵结构是298*34*1,矩阵结构太窄,只有1列宽,34行高,所以普通的卷积核,如3x3或5x5,不能很好地应用在我们的数据结构中。因此我们选择的核大小为3*1,滤波器高度为256。在卷积操作中用到的3*1的卷积核也是为了能够更好的捕获到手牌中的顺子,而刻子或者杠子也能通过多通道的卷积捕获到,所以神经网络能够学习到麻将基本信息;
2)我们的网络模型的输出层是对应3个对手玩家的输出头。数据通过残差模块的计算,将其拉平后经过两层全连接层进行数据的降维得到256维的向量,最后将该向量映射到3个输出层,都是采用softmax的二分类结构。输出层引入多任务结构,同时进行三家对手的定口可能性预测。因为多任务学习(multi-task learning)目的是利用多个相关学习任务之间的有用信息和共享相关任务之间的特征,提升各子任务的性能。而麻将的3家对手的手牌之间是符合某种联系的,所以预测3个对手的是否定口问题存在着信息共享或者关系牵制的特征。多任务网络结构就是去学习这种特征,得到更加合理的预测结果,提升模型的泛化能力。
步骤S13,计算出所述卷积神经网络的当前损失函数,并根据所述当前损失函数调整所述卷积神经网络的网络参数,以对所述卷积神经网络进行迭代训练,直到所述卷积神经网络的损失函数收敛于预设目标值,以训练得到定口预测模型当中。
具体地,所述卷积神经网络的损失函数为:
Loss=k 1 *loss 1 + k 2 *loss 2 + k n *loss n ;
n代表输出头的数量,n为整数且n≥2,k n 代表第n个输出头的权重系数,loss n 代表第n个输出头的交叉熵损失函数,其中:
式中, y i 表示样本i的标签、定口为1不定口为0,p i 表示样本i预测为定口的概率,N为样本数量,1≤i≤N。
具体地,以中国四人麻将为例,在本实施例当中,针对在输出层是3个对手是否定口的二分类问题,为了让神经网络能够同时学习到3个对手的定口信息,必须在反向传播参数更新的路径经过3个输出头,所以在loss函数的设计上,有如下定义:
Loss=k 1 *loss 1 + k 2 *loss 2 + k 3 *loss 3 。
其中的loss 1 , loss 2 , loss 3 分别表示的是三个输出头的预测值和真实值的损失函数,该损失函数具体为交叉熵损失函数,即本实施例使用交叉熵损失函数计算预测值与真实值之间的距离。
步骤S14,获取当前麻将对局的当前场面信息,所述当前场面信息为所述本家当前已知的牌面信息。
步骤S15,采用预设编码方法对所述当前场面信息进行编码,得到所述当前场面信息对应的编码数据。
步骤S16,将所述当前场面信息对应的编码数据输入所述定口预测模型当中,输出每个对手的当前定口概率。
其中,采用预设编码方法对场面信息进行编码的步骤具体包括:
采用对应的预设编码方法分别对所述牌集特征、所述顺序特征和所述整数特征进行编码,得到所述牌集特征、所述顺序特征和所述整数特征对应的编码特征矩阵;
将所述牌集特征、所述顺序特征和所述整数特征对应的编码特征矩阵按预设顺序进行垂直维度的拼接,得到298*34的二维特征矩阵;
将298*34的二维特征矩阵转换为298*34*1的三维特征矩阵。
其中,所述采用对应的预设编码方法分别对所述牌集特征、所述顺序特征和所述整数特征进行编码的步骤包括:
对于所述牌集特征,通过不同的字符来标识每种牌,每种字符下方对应有四个编码单元,每个编码单元的取值为0或1,通过四个编码单元的编码值来代表每种牌的数量;
对于所述顺序特征,通过不同的字符来标识每种牌,每种字符下方对应有25个编码单元,25个编码单元分别对应25轮出牌,每个编码单元的取值为0或1,通过每个编码单元的编码值来代表每轮出牌;
对于所述整数特征,采用全0或全1编码方式进行编码,在表示特征时整行置为1或整行全置为0。
具体地,所述牌集特征、所述顺序特征和所述整数特征的具体编码方式可参见上述第一实施例所述的方法。
通过之前的每个特征编码的描述,可以知道每个特征编码后的矩阵形状:我的手牌是4*34的矩阵,4家出牌是100*34的矩阵,4家副露是64*34的矩阵,宝牌是1*34的矩阵,当前轮次是25*34的矩阵,4家飞宝数是16*34的矩阵,庄家是4*34的矩阵,牌墙数是84*34的矩阵。将这些特征矩阵进行垂直维度的拼接,可以得到298*34的矩阵。最后,我们将二维的298*34的特征矩阵转换三维的298*34*1的特征张量,便于CNN卷积网络进行多个通道(通道数是298)之间的特征信息提取。例如,如果我的手牌中有234万的顺子,那么其编码在第一个通道的34*1的矩阵里,并且以竖立排列的3个1的形式呈现,那么我们的3*1的卷积核就能够取捕获到这个顺子;如果我的手牌中有222万的刻子,那么其编码就是在第1、第2、第3个通道里的34*1的矩阵里面对应2万的位置都置为1,在通道维度上这3个2万可以认为是在相同的位置,所以我们设计的多通道的卷积核也是能够在通道层面上捕获到这个2万的刻子。通过以上分析,我们的编码方式和卷积和设计能够很好的捕获到麻将中比较关键的顺子和刻子的信息。
除此之外,本实施例还提出了模型预测值的数据矫正,具体为:模型经过softmax之后得到的两个值,分别是定口概率和不定口概率,其和为1,对结果有帮助的是定口概率p i 。一般的,对于二分类问题的结果判断,都是通过设定阈值t=0.5来判断,即p i >= t时,结果取1(定口);p i <t时,结果取0(不定口)。但是针对我们的麻将定口任务,我们统计了10000局上饶麻将的后5手的情况,发现定口与不定口的比例并不是1:1,而是近似于1:3,即在模型的训练集中不定口的数据量更大。所以模型会更倾向于预测不定口。针对这个数据分布不均衡的问题,我们设定了不同阈值进行准确率的测试,发现把阈值设定在0.4的基准会是最好的效果。
对比现有‘爆打’AI的对手听牌预测模型,我们的麻将定口预测模型在特征工程、分类算法和网络结构上更具优势:
首先,麻将定口模型的特征表的可重用性高。麻将定口模型应用深度学习的特征工程方法,对麻将规则进行分析和建模,提出了特征映射方法。对麻将博弈原始数据进行处理,生成可供深度学习使用的特征数据集。在综合特征数基础上可动态地加入了麻将四种胡牌牌型(普通胡牌、七对、十三浪、九幺等)和玩家飞宝等动作抽象,并以合适的编码方式编码,适应性好,特征的可重用性高,可扩充性好。
再者,创新式地使用深度学习技术研究非完备信息博弈的对手建模问题。‘爆打’AI虽然也进行了对手听牌的研究,但其使用的是传统的逻辑回归算法并且特征工程繁多复杂、设计精巧,需要研究者对麻将规则和打法了然于心;而基于深度学习技术的方法无需做过多人为的麻将特征设计,让神经网络本身学习隐藏在麻将博弈信息背后的逻辑关系,如在当前博弈信息下的对手手牌、牌墙、对手可能的出牌等隐藏信息。通过深度学习的技术,很方便进行模型训练:使用BN(Batch Normalization 批正则化)结构防止模型训练过拟合,使用BP(Back Propagation 反向传播)算法进行模型优化,使用ResNet网络结构既能保证设计复杂的网络尽可能地拟合巨量的麻将场面信息,又能防止因网络复杂导致梯度弥散/爆炸。
最后,使用多任务的网络结构同时预测对手3家的定口可能性。‘爆打’AI的对手听牌预测模型需要重复3次预测才能够得到全部的对手的听牌可能性,而我们的定口模型通过在网络的最后输出层加入多任务网络结构,得以同时输出3家的定口概率。这样的设计更易于操作,在模型结果预测机理上也更为合理。多任务学习(multi-task learning)目的是利用多个相关学习任务之间的有用信息和共享相关任务之间的特征,提升各子任务的性能。而麻将的3家对手的手牌之间是符合某种联系的,所以预测3个对手的是否定口问题存在着信息共享或者关系牵制的特征。多任务网络结构就是去学习这种特征,得到更加合理的预测结果,提升模型的泛化能力。
实施例三
本发明另一方面还提供一种麻将对手定口预测装置,请查阅图6,所示为本发明第三实施例中的麻将对手定口预测装置,用于预测除本家以外的其他对手的定口概率,所述装置包括:
信息获取模块11,用于获取当前麻将对局的当前场面信息,所述当前场面信息为所述本家当前已知的牌面信息;
信息编码模块12,用于采用预设编码方法对所述当前场面信息进行编码,得到所述当前场面信息对应的编码数据;
定口预测模块13,用于将所述当前场面信息对应的编码数据输入预训练的定口预测模型当中,输出每个对手的当前定口概率;
其中,所述定口预测模型通过对历史麻将对局的编码数据进行麻将规则的深度学习训练得到,所述历史麻将对局的编码数据由历史麻将对局的场面信息按所述预设编码方法对应编码得到。
进一步地,在本实施例一些可选情况当中,所述麻将对手定口预测装置还包括:
模型训练模块,用于获取历史麻将对局的场面信息,并采用所述预设编码方法对所述历史麻将对局的场面信息进行编码,得到所述历史麻将对局的编码数据;将所述历史麻将对局的编码数据输入到预设的卷积神经网络当中进行麻将规则的深度学习训练;计算出所述卷积神经网络的当前损失函数,并根据所述当前损失函数调整所述卷积神经网络的网络参数,以对所述卷积神经网络进行迭代训练,直到所述卷积神经网络的损失函数收敛于预设目标值。
进一步地,在本实施例一些可选情况当中,所述卷积神经网络包括依次连接的卷积核、残差模块、两层全连接层和多个输出头,所述输出头的数量与对手数量对应;
所述卷积核的核大小为3*1,滤波器高度为256。
进一步地,在本实施例一些可选情况当中,所述卷积神经网络的损失函数为:
Loss=k 1 *loss 1 + k 2 *loss 2 + k n *loss n ;
n代表输出头的数量,n为整数且n≥2,k n 代表第n个输出头的权重系数,loss n 代表第n个输出头的交叉熵损失函数,其中:
式中, y i 表示样本i的标签、定口为1不定口为0,p i 表示样本i预测为定口的概率,N为样本数量,1≤i≤N。
进一步地,在本实施例一些可选情况当中,所述场面信息包括牌集特征、顺序特征和整数特征,所述牌集特征包括本家手牌、每家副露和宝牌,所述顺序特征包括每家出牌及其出牌顺序,所述整数特征包括当前轮数和每家飞宝数。
进一步地,在本实施例一些可选情况当中,所述信息编码模块还用于采用对应的预设编码方法分别对所述牌集特征、所述顺序特征和所述整数特征进行编码。
上述各模块、单元被执行时所实现的功能或操作步骤与上述方法实施例大体相同,在此不再赘述。
综上,本发明上述实施例当中的麻将对手定口预测装置,通过采用特定编码方法对麻将对局的场面信息进行编码,继而使用深度学习中卷积网络的强大特征表征能力让模型自主的学习隐藏在麻将博弈信息背后的逻辑关系(即麻将规则),由此训练得到了深度学习掌握了麻将规则的定口预测模型,后续根据当前麻将对局的当前场面信息按照相同编码方法编码得到的编码数据,即能够精确预测每个对手的当前定口概率。本方法当中的定口预测无需做过多人为的麻将特征设计和特征提取,相比于“爆打”AI能够简化特征工程,降低模型开发周期和对研究者的专业知识要求。
实施例四
本发明另一方面还提出一种麻将对手定口预测设备,请参阅图7,所示为本发明第四实施例当中的麻将对手定口预测设备,包括存储器20、处理器10以及存储在存储器上并可在处理器上运行的计算机程序30,所述处理器10执行所述计算机程序30时实现如上述的麻将对手定口预测方法。
其中,所述麻将对手定口预测设备可以为但不限于麻将机、电脑、手机等能够进行虚拟麻将游戏的计算机设备。
其中,处理器10在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器20中存储的程序代码或处理数据,例如执行访问限制程序等。
其中,存储器20至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器20在一些实施例中可以是麻将对手定口预测设备的内部存储单元,例如该麻将对手定口预测设备的硬盘。存储器20在另一些实施例中也可以是麻将对手定口预测设备的外部存储装置,例如麻将对手定口预测设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。进一步地,存储器20还可以既包括麻将对手定口预测设备的内部存储单元也包括外部存储装置。存储器20不仅可以用于存储安装于麻将对手定口预测设备的应用软件及各类数据,还可以用于暂时地存储已经输出或者将要输出的数据。
需要指出的是,图7示出的结构并不构成对麻将对手定口预测设备的限定,在其它实施例当中,该麻将对手定口预测设备可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
综上,本发明上述实施例当中的麻将对手定口预测设备,通过采用特定编码方法对麻将对局的场面信息进行编码,继而使用深度学习中卷积网络的强大特征表征能力让模型自主的学习隐藏在麻将博弈信息背后的逻辑关系(即麻将规则),由此训练得到了深度学习掌握了麻将规则的定口预测模型,后续根据当前麻将对局的当前场面信息按照相同编码方法编码得到的编码数据,即能够精确预测每个对手的当前定口概率。本方法当中的定口预测无需做过多人为的麻将特征设计和特征提取,相比于“爆打”AI能够简化特征工程,降低模型开发周期和对研究者的专业知识要求。
本发明实施例还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述的麻将对手定口预测方法。
本领域技术人员可以理解,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读存储介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读存储介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读存储介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。