100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 一种电子扑克游戏的数据处理方法 装置及存储介质与流程

一种电子扑克游戏的数据处理方法 装置及存储介质与流程

时间:2018-12-16 23:49:00

相关推荐

一种电子扑克游戏的数据处理方法 装置及存储介质与流程

本发明主要涉及电子竞技游戏数据处理技术领域,具体涉及一种电子扑克游戏的数据处理方法、装置及存储介质。

背景技术:

目前,在网络游戏行业中,电子扑克游戏ai的实现方式主要有决策树法以及解空间树的搜索算法,如分支限界法、alpha-beta剪枝搜索等,这些方法在处理过程存在漏洞,即容易出现出牌判断错误的情况,导致出牌局面不理想,影响玩家游戏体验。

技术实现要素:

本发明所要解决的技术问题是针对现有技术的不足,提供一种多线程链表处理方法、装置及计算机可读存储介质。

本发明解决上述技术问题的技术方案如下:一种电子扑克游戏的数据处理方法,包括如下步骤:

获取用户历史牌局数据作为样本数据列表;

将样本数据列表分为训练集和验证集;

构建cnn神经网络,将所述训练集作为所述cnn神经网络的输入,对所述cnn神经网络进行特征训练,得到训练后的cnn神经网络;

将所述验证集作为所述训练后的cnn神经网络的输入,通过所述验证集对所述训练后的cnn神经网络进行多次迭代处理,并统计经迭代处理的cnn神经网络输出的出牌准确率,若所述出牌准确率符合预设准确率,则停止迭代,得到最优cnn神经网络。

本发明的有益效果是:通过收集真实历史牌局数据,输入到cnn神经网络中进行神经网络训练,并对神经网络训练进行多次迭代处理进行优化,大幅降低网络参数量,能够提高训练速度和准确性。

本发明解决上述技术问题的另一技术方案如下:一种电子扑克游戏的数据处理装置,包括如下步骤:

获取模块,用于获取用户历史牌局数据作为样本数据列表;

分类模块,用于将样本数据列表分为训练集和验证集;

训练模块,用于构建cnn神经网络,将所述训练集作为所述cnn神经网络的输入,对所述cnn神经网络进行特征训练,得到训练后的cnn神经网络;

验证模块,用于将所述验证集作为所述训练后的cnn神经网络的输入,通过所述验证集对所述训练后的cnn神经网络进行多次迭代处理,并统计经迭代处理的cnn神经网络输出的出牌准确率,若所述出牌准确率符合预设准确率,则停止迭代,得到最优cnn神经网络。

本发明解决上述技术问题的另一技术方案如下:一种电子扑克游戏的数据处理装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,当所述处理器执行所述计算机程序时,实现如上所述的电子扑克游戏的数据处理方法。

本发明解决上述技术问题的另一技术方案如下:一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,实现如上所述的电子扑克游戏的数据处理方法。

本发明的有益效果是:通过收集真实历史牌局数据,输入到cnn神经网络中进行神经网络训练,并对神经网络训练进行多次迭代处理进行优化,大幅降低网络参数量,能够提高训练速度和准确性。

附图说明

图1为本发明一实施例提供的电子扑克游戏的数据处理方法的流程示意图;

图2为本发明一实施例提供的电子扑克游戏的数据处理装置的模块框图;

图3为本发明一实施例提供的cnn神经网络结构图;

图4为本发明一实施例提供的主要输入层数据格式的示意图;

图5为本发明一实施例提供的附加输入层数据格式的示意图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

如图1所示,一种电子扑克游戏的数据处理方法,包括如下步骤:

s1:获取用户历史牌局数据作为样本数据列表;

s2:将样本数据列表分为训练集和验证集;

s3:构建cnn神经网络,将所述训练集作为所述cnn神经网络的输入,对所述cnn神经网络进行特征训练,得到训练后的cnn神经网络;

s4:将所述验证集作为所述训练后的cnn神经网络的输入,通过所述验证集对所述训练后的cnn神经网络进行多次迭代处理,并统计经迭代处理的cnn神经网络输出的出牌准确率,若所述出牌准确率符合预设准确率,则停止迭代,得到最优cnn神经网络。

具体地,所述验证集的数量为n个,则将所述验证集依次输入cnn神经网络中,实现多次迭代处理,并设置“预设准确率”,将所述出牌准确率与所述“预设准确率”进行比较,如果大于或等于所述“预设准确率”,则停止迭代。

具体地,所述训练集的数量大于验证集的数量。

上述实施例中,通过收集真实历史牌局数据,输入到cnn神经网络中进行神经网络训练,并对神经网络训练进行多次迭代处理进行优化,大幅降低网络参数量,能够提高训练速度和准确性。

可选地,作为本发明的一个实施例,对所述cnn神经网络进行特征训练包括:

根据电子扑克牌型中各输出节点的节点值进行排序,确定最大节点值对应的输出节点,根据所述最大节点值确定输出的电子扑克牌型和牌面。

可选地,作为本发明的一个实施例,所述cnn神经网络包括多个输出节点,所述电子扑克牌型包括多个主牌型,将所述主牌型中的每个牌面与所述多个输出节点分别一一对应;

所述根据电子扑克牌型中各输出节点的节点值进行排序,确定最大节点值对应的输出节点,根据所述最大节点值确定输出的牌型和牌面的过程包括:

根据所有所述主牌型的牌面对应的输出节点的节点值进行排序,得到最大节点值,所述最大节点值对应的输出节点所位于的主牌型为输出牌型,将所述输出牌型对应的牌面输出。

可选地,作为本发明的一个实施例,所述电子扑克牌型还包括多个主牌加副牌型,所述主牌加副牌型的牌面包括主牌牌面和副牌牌面;将所述主牌加副牌型中的每个牌面与所述多个输出节点分别一一对应;

所述根据电子扑克牌型中各输出节点的节点值进行排序,确定最大节点值对应的输出节点,根据所述最大节点值确定输出的牌型和牌面的过程包括:

根据所有所述主牌牌面对应的输出节点的节点值进行排序,得到主牌节点最大节点值,所述主牌节点最大节点值对应的输出节点所位于的牌型为主牌输出牌型;

再根据所有所述副牌牌面对应的输出节点的节点值进行排序,得到副牌节点最大节点值,所述副牌节点最大节点值对应的输出节点所位于的牌型为副牌输出牌型;

将所述主牌输出牌型对应的牌面和所述副牌输出牌型对应的牌面输出。

可选地,作为本发明的一个实施例,所述主牌加副牌型的牌面还包括主牌牌面和两个副牌牌面,将所述主牌加副牌型中的每个牌面与所述多个输出节点分别一一对应;

所述根据电子扑克牌型中各输出节点的节点值进行排序,确定最大节点值对应的输出节点,根据所述最大节点值确定输出的牌型和牌面的过程包括:

根据所有所述主牌牌面对应的输出节点的节点值进行排序,得到主牌节点最大节点值,所述主牌节点最大节点值对应的输出节点所位于的牌型为主牌输出牌型;

再根据所有所述副牌牌面对应的输出节点的节点值进行排序,选择第一副牌节点最大节点值和第二副牌节点最大节点值,所述第一副牌节点最大节点值对应的输出节点所位于的牌型为第一副牌输出牌型,所述第二副牌节点最大节点值对应的输出节点所位于的牌型为第二副牌输出牌型;

将所述第一主牌输出牌型对应的牌面、所述第一副牌输出牌型对应的牌面以及所述第二副牌输出牌型对应的牌面输出。

上述实施例中,各节点值是在cnn神经网络中计算得到的,选取节点的前提是“合法”,即选中的牌当前玩家可以在符合游戏规则的前提下打出。如果不合法,则按节点值大小排序进行顺延,直至取到一个合法的出牌输出。如果没有,则不出。cnn神经网络只需收集真实历史牌局数据进行神经网络的训练即可,提高了训练效率和速度。

可选地,作为本发明的一个实施例,所述得到训练后的cnn神经网络时,还包括步骤:

根据所述梯度下降法对所述cnn神经网络的参数进行更新。

所述梯度下降法为迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(gradientdescent)是最常采用的方法之一,另一种常用的方法是最小二乘法。在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。

具体地,梯度下降法中的函数为adam,ir=0.001,beta1=0.9,beta2=0.999,损失函数=交叉熵。从而对cnn神经网络的参数进行更新,提高cnn神经网络的准确性。

具体地,图3为cnn神经网络结构图,cnn神经网络结构中各层功能为:

附加输入层和主要输入层用于局面输入,也就是将接收的用户历史牌局数据输入;conv2d层用于对用户历史牌局数据进行向量卷积运算;batchnorm层用于加速收敛速度,使网络稳定;relu层用于对网络进行修正线性;flatten层用于将有结构的多维数据平摊成一维数据;

concatenate层用于将两路数据合并起来;dropout层用于平均预测概率,防止网络过拟合;dense层用于使用全连接神经网络作最终的逻辑预测;softmax层用于将网络中多个神经元映射到(0,1)区间内;最后,输出层用于将输出牌型对应的牌面进行输出。

其中,如图4-5所示,所述局面输入具体为,在主要输入层中,将用户历史牌局数据分为4行15列8个通道。将所述训练集的数据分为8个通道进行输入,分别为:输入“我的手牌数据”的通道、输入“另两个玩家手牌的合集”的通道、输入“地主底牌”的通道、输入“我已出的牌”的通道、输入“上家已出的牌”的通道、输入“下家已出的牌”的通道和输入“上家本轮出牌和下家本轮出牌”的通道。4行排列为,同一张牌不分花色,连续排列。

在附加输入层中,每个输入节点只有0/1两个数值。

上述实施例中,将主要输入层中的扑克数据分为8个通道,利用了斗地主牌型中大量两张、三张、四张相同的牌可共用filter的特性,不但可以大幅降低网络参数量,而且可以提高训练速度。

cnn神经网络结构操作输出节点为一维数组,按主牌中节点值大小进行排序,取最大的合法节点作为实际的操作输出。输出节点的定义如下排列:

表1为对输出节点的定义:

其中,第一副牌即副牌1,第二副牌即副牌2。

上述实施例中,输出节点的格式定义,将主、副牌都分散到多个0/1的输出节点列表中,输出明确,利于训练精度的持续提高。而把有主副牌的牌型输出分别定义在两段或三段0/1的输出节点列表中,可以避免输出节点数目膨胀,减少了输出节点数目,有利于加快训练速度。

可选地,作为本发明的另一个实施例,一种电子扑克游戏的数据处理装置,包括如下步骤:

获取模块,用于获取用户历史牌局数据作为样本数据列表;

分类模块,用于将样本数据列表分为训练集和验证集;

训练模块,用于构建cnn神经网络,将所述训练集作为所述cnn神经网络的输入,对所述cnn神经网络进行特征训练,得到训练后的cnn神经网络;

验证模块,用于将所述验证集作为所述训练后的cnn神经网络的输入,通过所述验证集对所述训练后的cnn神经网络进行多次迭代处理,并统计经迭代处理的cnn神经网络输出的出牌准确率,若所述出牌准确率符合预设准确率,则停止迭代,得到最优cnn神经网络。

可选地,作为本发明的另一个实施例,所述训练模块,具体用于:

根据电子扑克牌型中各输出节点的节点值进行排序,确定最大节点值对应的输出节点,根据所述最大节点值确定输出的电子扑克牌型和牌面。

可选地,作为本发明的一个实施例,一种电子扑克游戏的数据处理装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,当所述处理器执行所述计算机程序时,实现如上所述的电子扑克游戏的数据处理方法。

可选地,作为本发明的另一个实施例,一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,实现如上所述的电子扑克游戏的数据处理方法。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

技术特征:

1.一种电子扑克游戏的数据处理方法,其特征在于,包括如下步骤:

获取用户历史牌局数据作为样本数据列表;

将样本数据列表分为训练集和验证集;

构建cnn神经网络,将所述训练集作为所述cnn神经网络的输入,对所述cnn神经网络进行特征训练,得到训练后的cnn神经网络;

将所述验证集作为所述训练后的cnn神经网络的输入,通过所述验证集对所述训练后的cnn神经网络进行多次迭代处理,并统计经迭代处理的cnn神经网络输出的出牌准确率,若所述出牌准确率符合预设准确率,则停止迭代,得到最优cnn神经网络。

2.根据权利要求1所述的电子扑克游戏的数据处理方法,其特征在于,对所述cnn神经网络进行特征训练包括:

根据电子扑克牌型中各输出节点的节点值进行排序,确定最大节点值对应的输出节点,根据所述最大节点值确定输出的电子扑克牌型和牌面。

3.根据权利要求2所述的电子扑克游戏的数据处理方法,其特征在于,所述cnn神经网络包括多个输出节点,所述电子扑克牌型包括多个主牌型,将所述主牌型中的每个牌面与所述多个输出节点分别一一对应;

所述根据电子扑克牌型中各输出节点的节点值进行排序,确定最大节点值对应的输出节点,根据所述最大节点值确定输出的牌型和牌面的过程包括:

根据所有所述主牌型的牌面对应的输出节点的节点值进行排序,得到最大节点值,所述最大节点值对应的输出节点所位于的牌型为输出牌型,将所述输出牌型对应的牌面输出。

4.根据权利要求2所述的电子扑克游戏的数据处理方法,其特征在于,所述电子扑克牌型还包括多个主牌加副牌型,所述主牌加副牌型的牌面包括主牌牌面和副牌牌面;将所述主牌加副牌型中的每个牌面与所述多个输出节点分别一一对应;

所述根据电子扑克牌型中各输出节点的节点值进行排序,确定最大节点值对应的输出节点,根据所述最大节点值确定输出的牌型和牌面的过程包括:

根据所有所述主牌牌面对应的输出节点的节点值进行排序,得到主牌节点最大节点值,所述主牌节点最大节点值对应的输出节点所位于的牌型为主牌输出牌型;

再根据所有所述副牌牌面对应的输出节点的节点值进行排序,得到副牌节点最大节点值,所述副牌节点最大节点值对应的输出节点所位于的牌型为副牌输出牌型;

将所述主牌输出牌型对应的牌面和所述副牌输出牌型对应的牌面输出。

5.根据权利要求3所述的电子扑克游戏的数据处理方法,其特征在于,所述主牌加副牌型的牌面还包括主牌牌面和两个副牌牌面,将所述主牌加副牌型中的每个牌面与所述多个输出节点分别一一对应;

所述根据电子扑克牌型中各输出节点的节点值进行排序,确定最大节点值对应的输出节点,根据所述最大节点值确定输出的牌型和牌面的过程包括:

根据所有所述主牌牌面对应的输出节点的节点值进行排序,得到主牌节点最大节点值,所述主牌节点最大节点值对应的输出节点所位于的牌型为主牌输出牌型;

再根据所有所述副牌牌面对应的输出节点的节点值进行排序,选择第一副牌节点最大节点值和第二副牌节点最大节点值,所述第一副牌节点最大节点值对应的输出节点所位于的牌型为第一副牌输出牌型,所述第二副牌节点最大节点值对应的输出节点所位于的牌型为第二副牌输出牌型;

将所述第一主牌输出牌型对应的牌面、所述第一副牌输出牌型对应的牌面以及所述第二副牌输出牌型对应的牌面输出。

6.根据权利要求1所述的电子扑克游戏的数据处理方法,其特征在于,所述得到训练后的cnn神经网络时,还包括步骤:

根据所述梯度下降法对所述cnn神经网络的参数进行更新。

7.根据权利要求1所述的电子扑克游戏的数据处理方法,其特征在于,所述将所述训练集作为所述cnn神经网络的输入,具体为:

将所述训练集的数据分为8个通道进行输入,分别为:

输入“我的手牌数据”的通道、输入“另两个玩家手牌的合集”的通道、输入“地主底牌”的通道、输入“我已出的牌”的通道、输入“上家已出的牌”的通道、输入“下家已出的牌”的通道和输入“上家本轮出牌和下家本轮出牌”的通道。

8.一种电子扑克游戏的数据处理装置,其特征在于,包括如下步骤:

获取模块,用于获取用户历史牌局数据作为样本数据列表;

分类模块,用于将样本数据列表分为训练集和验证集;

训练模块,用于构建cnn神经网络,将所述训练集作为所述cnn神经网络的输入,对所述cnn神经网络进行特征训练,得到训练后的cnn神经网络;

验证模块,用于将所述验证集作为所述训练后的cnn神经网络的输入,通过所述验证集对所述训练后的cnn神经网络进行多次迭代处理,并统计经迭代处理的cnn神经网络输出的出牌准确率,若所述出牌准确率符合预设准确率,则停止迭代,得到最优cnn神经网络。

9.一种电子扑克游戏的数据处理装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,当所述处理器执行所述计算机程序时,实现如权利要求1至7任一项所述的电子扑克游戏的数据处理方法。

10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,当所述计算机程序被处理器执行时,实现如权利要求1至7任一项所述的电子扑克游戏的数据处理方法。

技术总结

本发明提供一种电子扑克游戏的数据处理方法、装置及存储介质,方法包括:获取用户历史牌局数据作为样本数据列表;将样本数据列表分为训练集和验证集;构建CNN神经网络,将训练集作为CNN神经网络的输入,对CNN神经网络进行特征训练,得到训练后的CNN神经网络;将验证集作为训练后的CNN神经网络的输入,根据验证集的数量对训练后的CNN神经网络进行多次迭代处理,并统计经迭代处理的CNN神经网络输出的出牌准确率,若出牌准确率符合预设准确率,则停止迭代,得到最优CNN神经网络。本发明通过收集真实历史牌局数据,输入到CNN神经网络中进行神经网络训练,并对神经网络训练进行多次迭代处理进行优化,大幅降低网络参数量,能够提高训练速度和准确性。

技术研发人员:杨潇;揭指;邱慧宁;温万成;叶永庆

受保护的技术使用者:桂林力港网络科技股份有限公司

技术研发日:.10.18

技术公布日:.02.28

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。