CN109011580B - 残局牌面获取方法、装置、计算机设备及存储介质 - Google Patents
残局牌面获取方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109011580B CN109011580B CN201810712903.0A CN201810712903A CN109011580B CN 109011580 B CN109011580 B CN 109011580B CN 201810712903 A CN201810712903 A CN 201810712903A CN 109011580 B CN109011580 B CN 109011580B
- Authority
- CN
- China
- Prior art keywords
- card
- face
- initial
- game
- solution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/67—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/6027—Methods for processing data by generating or executing the game program using adaptive systems learning from user actions, e.g. for skill level adjustment
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请是关于一种残局牌面获取方法。该方法包括:生成所述牌类竞技项目的初始牌面,所述初始牌面包含至少两个纸牌集合,每个纸牌集合包含指定数量的虚拟纸牌;通过第一搜索算法搜索所述初始牌面的解法树,所述第一搜索算法用于搜索所述至少两个纸牌集合中的指定纸牌集合获胜的解法,所述解法树用于指示所述初始牌面的各种解法;当所述指定纸牌集合获胜的解法的数量小于预设数量阈值且不为零时,将所述初始牌面获取为所述牌类竞技项目的残局牌面。相比于人工设置残局牌面的方法,上述方案能够快速并且准确的判断一个牌面是否满足残局要求,从而达到提高牌类竞技项目的残局牌面生成效率和生成准确性的效果。
Description
技术领域
本申请实施例涉及计算机应用技术领域,特别涉及一种残局牌面获取方法、装置、计算机设备及存储介质。
背景技术
目前很多支持牌类竞技项目的应用程序可以提供牌类竞技项目的残局模式。
在牌类竞技项目的残局模式中,各个参与方从开局即持有少量虚拟纸牌进行对战,不同的残局中的每一参与方所持有的虚拟纸牌的组合也各不相同。在相关技术中,残局模式下各参与方的虚拟纸牌的组合由应用程序的开发者或者运营者人工编辑获得。
然而,人工编辑残局模式下各参与方的虚拟纸牌的组合的过程通常较长,并且无法保证编辑获得的虚拟纸牌的组合满足残局要求,导致生成残局模式下各参与方的虚拟纸牌的组合的效率和准确率较低。
发明内容
本申请实施例提供了一种残局牌面获取方法、装置、计算机设备及存储介质,可以用于解决相关技术中生成残局模式下各参与方的虚拟纸牌的组合的效率和准确率较低的问题,技术方案如下:
第一方面,提供了一种残局牌面获取方法,所述方法包括:
生成所述牌类竞技项目的初始牌面,所述初始牌面包含至少两个纸牌集合,每个纸牌集合包含指定数量的虚拟纸牌;
通过第一搜索算法搜索所述初始牌面的解法树,所述第一搜索算法用于搜索所述至少两个纸牌集合中的指定纸牌集合获胜的解法,所述解法树用于指示所述初始牌面的各种解法;
当所述指定纸牌集合获胜的解法的数量小于预设数量阈值且不为零时,将所述初始牌面获取为所述牌类竞技项目的残局牌面。
第二方面,提供了一种残局牌面获取装置,所述装置包括:
牌面生成模块,用于生成所述牌类竞技项目的初始牌面,所述初始牌面包含至少两个纸牌集合,每个纸牌集合包含指定数量的虚拟纸牌;
解法搜索模块,用于通过第一搜索算法搜索所述初始牌面的解法树,所述第一搜索算法用于搜索所述至少两个纸牌集合中的指定纸牌集合获胜的解法,所述解法树用于指示所述初始牌面的各种解法;
残局确定模块,用于当所述指定纸牌集合获胜的解法的数量小于预设数量阈值且不为零时,将所述初始牌面获取为所述牌类竞技项目的残局牌面。
第三方面,提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面所述的残局牌面获取方法。
第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如第一方面所述的残局牌面获取方法。
计算机设备在生成初始牌面后,自动搜索初始牌面的解法树,并当搜索结果指示初始牌面中的指定纸牌集合存在获胜的解法,且该指定纸牌集合获胜的解法的数量合适时,将该初始牌面获取为残局牌面,相比于人工设置残局牌面的方法,本申请实施例所示的方案能够快速并且准确的判断一个牌面是否满足残局要求,从而达到提高牌类竞技项目的残局牌面生成效率和生成准确性的效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是根据一示例性实施例示出的牌类竞技项目服务系统的结构示意图;
图2是根据一示例性实施例示出的一种残局牌面获取方法的流程图;
图3是根据一示例性实施例示出的一种残局牌面获取方法的流程图;
图4是根据一示例性实施例示出的一种残局难度与用户出牌正确概率的对应示意图;
图5是根据一示例性实施例示出的一种概率确定模型的模型结构图;
图6是根据一示例性实施例示出的一种牌类闯关模式的界面示意图;
图7是根据一示例性实施例示出的一种提供残局模式服务的流程示意图;
图8是根据一示例性实施例示出的一种残局牌面获取装置的结构方框图;
图9是根据一示例性实施例示出的一种计算机设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
本申请实施例提出了一种高效残局牌面获取方案,该方案能够快速生成满足残局要求的牌面,以便牌类应用程序向用户提供不同的残局模式,从而提高牌类应用程序的用户体验。为了便于理解,下面对本申请实施例涉及的几个名词进行解释。
(1)牌类竞技项目:通常指通过实体或虚拟纸牌进行竞技的项目,比如,基于扑克牌或者桥牌进行的游戏项目。例如,以基于扑克牌的游戏项目为例,该牌类竞技项目可以是斗地主(游戏最少由2个玩家进行,使用一副54张牌,其中一方为地主,剩余玩家为另一方农名,双方对战,先出完牌的一方获胜)等游戏项目。
(2)牌面:在本申请中,牌面是指牌类竞技项目中,参与竞技的各参与方持有的实体或虚拟纸牌的分配情况,即每一参与方分别持有哪些实体或虚拟纸牌。
(3)残局牌面:在本申请中,残局牌面是指参与竞技的各参与方分别持有少量实体或虚拟纸牌的牌面。通常情况下,残局牌面中的某一参与方有一种或一种以上必胜的出牌方法,需要考量各个参与方的智力。
(4)完全信息博弈和非完全信息博弈:完全信息博弈是指竞技中的每一参与方都拥有所有其他参与方的特征、策略及得益函数等方面的准确信息的博弈。而非完全信息博弈是指竞技中的每一参与方不完全拥有其他参与方的准确信息的博弈。在本申请中,残局牌面的玩法可以是完全信息博弈,也就是说,在残局模式下,参与方可以看到其它各个参与方手中持有的虚拟或实体纸牌;或者,残局牌面的玩法可以是非完全信息博弈,比如,在残局模式下,参与方无法看到其它各个参与方手中持有的虚拟或实体纸牌。
(5)解法树:解法树可以是牌类竞技项目中的博弈树,其中,博弈树是组合博弈理论中用来表达一个赛局中各种后续可能性的树。在本申请中,一个完整的解法树会有一个起始节点,代表赛局中初始牌面,接着下一层的子节点是原来父节点赛局下一步的各种可能性,依照这规则扩展直到赛局结束。
(6)极小值极大化(min-max)算法:极小值极大化算法通常用于寻找博弈中的一个参与方的最优行动方案。
图1是根据一示例性实施例示出的一种牌类竞技项目服务系统的结构示意图。该系统包括:若干个终端120和服务器集群140。
终端120可以是手机、平板电脑、电子书阅读器、智能眼镜、智能手表、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
终端120中可以安装有支持牌类竞技项目服务的应用程序,相应的,服务器集群140可以是支持牌类竞技项目的应用程序对应的服务器。
终端120与服务器集群140之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。
服务器集群140是一台服务器,或者由若干台服务器,或者是一个虚拟化平台,或者是一个云计算服务中心。
在本申请实施例中,服务器集群140向终端120提供参与牌类竞技项目的残局模式的服务。即终端120对应的用户,可以通过终端120中安装的应用程序接入服务器,并作为牌类竞技项目的残局模式中的一个参与方,与同一残局中的其它参与方进行对抗。其中,其它参与方可以是其它用户,或者,其他参与方也可以是服务器集群140中运行的人工智能(Artificial Intelligence,AI)。
可选的,该系统还可以包括管理设备160,该管理设备160与服务器集群140之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。
可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local AreaNetwork,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(WideArea Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(HyperText Mark-up Language,HTML)、可扩展标记语言(Extensible MarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(InternetProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
在本申请实施例中,牌类竞技项目的残局模式所使用的残局牌面可以由具有一定的计算能力的计算机设备生成并存储到服务器集群140的数据库中,以便服务器集群140在向终端120对应的用户提供牌类竞技项目的残局模式的服务时,可以从数据库中选取合适的残局牌面,并基于选取的残局牌面,向终端120对应的用户提供残局模式的服务。
其中,上述生成残局牌面的计算机设备可以是服务器集群140,也可以是管理设备160,或者,也可以是服务器集群140和管理设备160之外的其它第三方计算机设备。
在实际应用中,一个牌类竞技项目的牌面中的纸牌通常分为两个或者两个以上的纸牌集合,各个纸牌集合中包含的牌数可以相同,也可以不同。与完整牌面不同的是,牌类竞技项目中的一个残局牌面中,各个纸牌集合的并集通常只包含一副牌中的部分,比如,只包含一副牌中的一半或者三分之一。除此之外,为了提高残局模式的可玩性,一个残局牌面中,分类给某一个或者多个参与方的纸牌集合,在本局中必须要有获胜的解法,同时,该获胜的解法也不能太多。
基于此,请参考图2,其是根据一示例性实施例示出的一种残局牌面获取方法的流程图。如图2所示:
步骤21,计算机设备可以首先生成该牌类竞技项目的初始牌面。
其中,该初始牌面包含至少两个纸牌集合,每个纸牌集合包含指定数量的虚拟纸牌。上述指定数量可以是开发者或者运营者预先设置的数量,并且,上述各个纸牌集合各自包含的虚拟纸牌的数量可以相同,也可以不同。
步骤22,在生成初始牌面后,计算机设备可以通过第一搜索算法搜索该初始牌面的解法树,该第一搜索算法用于搜索该至少两个纸牌集合中的指定纸牌集合获胜的解法。
其中,初始牌面的解法树可以用于指示该初始牌面的各种解法。在本申请实施例中,初始牌面的解法树中的根节点可以是初始牌面,根节点的下一级节点中,每一个节点对应初始牌面的一种出牌走法之后的牌面,以此类推,解法树中的每个非根节点都是上一级节点的牌面对应的一种出牌走法之后的牌面。而解法树的每个叶子节点,可以是初始牌面中的某一个纸牌集合中的虚拟纸牌全部出完之后的牌面。在上述解法树中,从根节点到一个叶子节点之间的路径对应初始牌面的一种解法,当该路径上的叶子节点对应的牌面中,全部出外虚拟纸牌的纸牌集合是上述指定纸牌集合时,该路径对应的解法即为指定纸牌集合获胜的解法。
在本申请实施例中,计算机设备可以从初始牌面开始对各个纸牌集合进行模拟出牌的方式搜索初始牌面的解法树,以搜索该指定纸牌集合获胜的解法。
步骤23,当该指定纸牌集合获胜的解法的数量小于预设数量阈值且不为零时,将该初始牌面获取为该牌类竞技项目的残局牌面。
在本申请实施例中,当计算机设备通过搜索解法树确定初始牌面中的指定纸牌集合存在获胜的解法,且该指定纸牌集合获胜的解法小于预设数量阈值时,可以认为该初始牌面满足残局牌面的要求,并将该初始牌面获取为牌类竞技项目的残局牌面。
其中,上述预设数量阈值可以是开发者或者运营者预先设置的数量阈值,比如,该预设数值可以预先设置为2、3或者其它数值。本申请实施例对于预设数量阈值的数值不做限定。
通过上述图2所示的方案,计算机设备在生成初始牌面后,自动搜索初始牌面的解法树,并当搜索结果指示初始牌面中的指定纸牌集合存在获胜的解法,且该指定纸牌集合获胜的解法的数量合适时,将该初始牌面获取为残局牌面,相比于人工设置残局牌面的方法,本申请实施例所示的方案能够快速并且准确的判断一个牌面是否满足残局要求,从而达到提高牌类竞技项目的残局牌面生成效率和生成准确性的效果。
在上述图2所示的方案中,计算机设备通过第一搜索算法搜索初始牌面的解法树的目的,是确定初始牌面中的指定纸牌集合获胜的解法是否小于预设数量阈值,因此,在搜索解法树的过程中,当计算机已经搜索出的,该指定纸牌集合获胜的解法已经达到该小于预设数量阈值时,即可以认为该初始牌面不满足残局的要求,此时就可以停止对该初始牌面的解法树的搜索,以节约处理和存储资源。上述搜索过程可以参考后续图3所示的方案。
图3是根据一示例性实施例示出的一种残局牌面获取方法的流程图。如图3所示,该残局牌面获取方法可以包括如下步骤:
步骤301,生成该牌类竞技项目的初始牌面,该初始牌面包含至少两个纸牌集合,每个纸牌集合包含指定数量的虚拟纸牌。
在本申请实施例中,计算机设备可以随机生成初始牌面。比如,以斗地主为例,预先设置给定地主5张虚拟纸牌,农民8张虚拟纸牌,计算机设备从52张虚拟纸牌中随机挑出5张虚拟纸牌给地主,并从其余虚拟纸牌中随机挑选8张虚拟纸牌给农民。
步骤302,获取第一纸牌集合中的各个纸牌组合的搜索优先级,该第一纸牌集合是至少两个纸牌集合中率先出牌的纸牌集合。
其中,上述纸牌组合包含允许同时出牌的至少一张虚拟纸牌。比如,以牌类竞技项目是扑克牌中的斗地主项目为例,在斗地主中,允许同时出牌的组合包括单张纸牌(单牌)、两张相同字符的纸牌(对子)、三张相同字符的纸牌(三张)、四张相同字符的纸牌(炸弹)、三张相同字符的纸牌加上两张相同字符的纸牌(三带二)、三张相同字符的纸牌加上另一张不同字符的纸牌(三带一)以及五张或五张以上连续字符的纸牌(顺子)等等。
而对于初始牌面的解法树,该解法树的根节点下的各个子树,分别是第一纸牌集合的各种首次出牌方式所对应的子树。比如,以斗地主项目的初始牌面中,第一纸牌集合包含一个对子、一个三张以及一张单牌为例,该纸牌集合中的纸牌组合包括对子、三张、单牌、三带二以及三带一这四种,相应的,该初始牌面的解法树中,根节点下也有四个子树,每个子树对应第一纸牌集合先打出上述一种纸牌组合的情况。
在实际应用中,对于一个纸牌集合而言,先打出该纸牌集合中的哪一个纸牌组合,通常能在相当大的程度上决定该纸牌集合能否获胜。而本申请实施例的目的,是要搜索其中指定纸牌集合获胜的解法的数量是否小于预设数量阈值,因此,如果计算机设备按照指定纸牌集合获胜的可能性从高到低的子树依次搜索,则能够在消耗最少的处理资源的情况下,尽可能的快的确定指定纸牌集合获胜的解法的数量是否小于预设数量阈值。也就是说,在搜索初始牌面的解法树时,计算机设备可以首先搜索根节点下,指定纸牌集合获胜的可能性最高的子树,然后再搜索指定纸牌集合获胜的可能性次高的子树,以此类推。
需要说明的是,上述最先出牌的纸牌集合(即第一纸牌集合)并不一定是指定纸牌集合,因此,对于第一纸牌集合是否为指定纸牌集合这两种情况,获取第一纸牌集合中的搜索优先级的方式也不相同。
当第一纸牌集合是指定纸牌集合时,该第一纸牌集合中的各个纸牌组合的搜索优先级从高到低的顺序,与第一纸牌集合中的各个纸牌组合被首先打出时获胜的可能性从高到低的顺序相同。
而当第一纸牌集合不是指定纸牌集合时,在某一出牌方式下,该第一纸牌集合获胜的可能越高,则指定纸牌集合获胜的可能性越低,相应的,该在某一出牌方式下,该第一纸牌集合获胜的可能越低,则指定纸牌集合获胜的可能性越高。因此,当第一纸牌集合不是指定纸牌集合时,该第一纸牌集合中的各个纸牌组合的搜索优先级从高到低的顺序,与第一纸牌集合中的各个纸牌组合被首先打出时获胜的可能性从高到低的顺序相反。
在一种可能的实现方式中,在获取第一纸牌集合中的各个纸牌组合的搜索优先级时,计算机设备可以获取该各个纸牌组合的组合类型;根据该各个纸牌组合的组合类型,以及预先设置的优先规则获取该各个纸牌组合的搜索优先级;该优先规则中包含组合类型与搜索优先级之间的对应关系。
在本申请实施例中,第一纸牌集合中某个纸牌组合被率先打出时,该第一纸牌集合获胜的可能性的高低,可以由开发者或者运营者根据经验自行设置。比如,开发者或者运营者可以预先设置组合类型与搜索优先级之间的对应关系。例如,当第一纸牌集合是指定纸牌组合时,优先规则中包含的组合类型与搜索优先级之间的对应关系可以如下述表1所示;当第一纸牌集合不是指定纸牌组合时,优先规则中包含的组合类型与搜索优先级之间的对应关系可以如下述表2所示。
表1
表2
在上述表1或表2中,搜索优先级对应的数字越小,对应的组合类型的搜索优先级越高。如上述表1所示,当第一纸牌集合是指定纸牌组合时,计算机设备将优先搜索解法树中对应第一纸牌集合首次打出顺子的子树,其次搜索解法树中对应第一纸牌集合首次打出单张的子树,以此类推。而如上述表2所示,当第一纸牌集合不是指定纸牌组合时,计算机设备将优先搜索解法树中对应第一纸牌集合首次打出炸弹的子树,其次搜索解法树中对应第一纸牌集合首次打出三张的子树,以此类推。
在另一种可能的实现方式中,在获取第一纸牌集合中的各个纸牌组合的搜索优先级时,计算机设备可以将该第一纸牌集合的纸牌数据输入优先级确定模型,获得该第一纸牌集合中的各个纸牌组合的搜索优先级,该纸牌数据用于指示对应的纸牌集合中包含的各个虚拟纸牌;该优先级确定模型是通过第一训练样本训练获得的机器学习模型,该第一训练样本包含纸牌集合样本、该纸牌集合样本中首先出牌的纸牌组合以及该纸牌集合样本的胜负结果。
在本申请实施例中,计算机设备也可以结合实际中发生的牌局过程以及牌局结果,通过机器训练的方式训练出由牌面中的纸牌集合,到纸牌集合中的各个纸牌组合分别被率先打出时,该纸牌集合获胜的概率的机器学习模型(即上述优先级确定模型)。比如,开发者或者运营者首先收集网络中实际发生的各个牌局,将收集的各个牌局中,每个纸牌集合、纸牌集合中首先出牌的纸牌组合以及牌局结果(该纸牌集合是否获胜)作为训练数据,输入预先设置好模型架构的机器学习模型进行训练,获得上述优先级确定模型。在生成残局牌面的过程中,计算机设备将上述第一纸牌集合的纸牌数据输入优先级确定模型后,优先级确定模型即可以输出第一纸牌集合中的各个纸牌组合的搜索优先级。
其中,当上述第一纸牌集合的纸牌数据,可以对第一纸牌集合中包含的各个虚拟纸牌进行数值化获得。比如,以扑克牌为例,一副扑克牌中包含A、2、3、4、5、6、7、8、9、10、J、Q、K、大王以及小王这15中字符的纸牌,在一种可能的实现方式中,上述纸牌数据可以是一个向量,该向量中包含15个元素,每个元素对应的是第一纸牌集合中包含的一种字符的纸牌的数量。比如,假设第一纸牌集合中包含三张字符为4的虚拟纸牌、两张字符为J的虚拟纸牌,以及一张字符为10的虚拟纸牌,则该第一纸牌集合的纸牌数据可以如下:
(0,0,0,3,0,0,0,0,0,1,2,0,0,0,0)。
步骤303,通过第一搜索算法,按照该第一纸牌集合中的各个纸牌组合的搜索优先级从高到低的顺序搜索该初始牌面的解法树。
在本申请实施例中,计算机设备在按照该第一纸牌集合中的各个纸牌组合的搜索优先级从高到低的顺序搜索该初始牌面的解法树时,可以在已搜索到的该指定纸牌集合获胜的解法的数量达到该预设数量阈值时停止搜索,或者,在已搜索到的该指定纸牌集合获胜的解法的数量未达到该预设数量阈值,但是已完成搜索该解法树时停止搜索。
其中,上述第一搜索算法可以是α-β剪枝算法,即计算机设备通过α-β剪枝算法,按照该指定纸牌集合中的各个纸牌组合的搜索优先级从高到低的顺序搜索该初始牌面的解法树。
在本申请实施例中,上述判断是否属于残局牌面的过程可以使用基于α-β剪枝的min-max算法。本申请对算法做的优化包括:改进每次剪枝操作选取子树的顺序,通过预设规则或机器学习模型的方式,使得计算机设备有限选择更有可能结束当前搜索的子树,从而提高搜索效率。如某个牌面下,有N种出牌动作(对应N颗子树),在用α-β剪枝时,可以不搜索完整的子树,如果已经发现当前牌面不适合作为残局,就停止搜索。比如,计算机搜索到第K颗子树,若发现该牌面中指定方获胜的解法已经达到一定的阈值,就可以确定该牌面不属于残局牌面并停止继续搜索剩余子树,而本申请的优化就是尽可能的减小K的值,在最优的情况下,可以在搜索第一颗子树的时候就得到想要的结果。
步骤304,在已完成搜索该解法树之前,当已搜索到的该指定纸牌集合获胜的解法的数量达到预设数量阈值时,丢弃该初始牌面。
其中,在已完成搜索该解法树之前,如果计算机设备在搜索到某个子树时发现已搜索到的指定纸牌集合获胜的解法已经达到预设数量阈值,则可以认为该初始牌面不适合作为残局牌面,此时停止后续的搜索,并丢弃该初始牌面。
步骤305,在完成搜索该解法树,且搜索到的该指定纸牌集合获胜的解法的数量小于预设数量阈值且不为零时,将该初始牌面获取为该牌类竞技项目的残局牌面。
若计算机设备在搜索完成整个解法树,且搜索到的该指定纸牌集合存在获胜的解法,且获胜的解法小于预设数量阈值时,可以确定该初始牌面中的指定纸牌集合存在少量获胜的解法,此时可以将该初始牌面确定为牌类竞技项目的残局牌面。
综上所述,在本申请实施例所示的方案中,计算机设备在生成初始牌面后,自动搜索初始牌面的解法树,并当搜索结果指示初始牌面中的指定纸牌集合存在获胜的解法,且该指定纸牌集合获胜的解法的数量合适时,将该初始牌面获取为残局牌面,相比于人工设置残局牌面的方法,本申请实施例所示的方案能够快速并且准确的判断一个牌面是否满足残局要求,从而达到提高牌类竞技项目的残局牌面生成效率和生成准确性的效果。
此外,在本申请实施例所示的方案中,计算机设备在搜索指定纸牌集合获胜的解法时,可以获取率先出牌的第一纸牌集合中的各个纸牌组合的搜索优先级,并按照确定的搜索优先级从高到低的顺序搜索初始牌面的解法树直至已搜索到的指定纸牌集合获胜的解法的数量达到预设数量阈值,或者,已完成搜索解法树,可以从指定纸牌集合最可能获胜的子树开始依次搜索,从而在消耗最少的处理资源的情况下,尽可能的快的确定指定纸牌集合获胜的解法的数量是否小于预设数量阈值。
在一种可能的实现方式中,计算机设备通过上述图2或图3所示的方案确定出满足要求的残局牌面后,还可以通过第二搜索算法搜索该初始牌面的解法树,获得该解法树的完整解法。其中,上述第二搜索算法是极小值极大化算法。即在本申请实施例中,计算机设备可以对挑选出来的残局牌面,使用min-max算法来生成解法,并存储入残局牌面的侯选库。
比如,计算机设备确定初始牌面为残局牌面后,可以将该初始牌面和初始牌面的完整解法一并存储至服务器集群的数据库中,服务器集群在向用户提供牌类竞技项目的残局模式时,若选中该初始牌面作为残局模式的牌面,则服务器集群可以通过AI与用户进行对战,并根据该初始牌面的完整解法,确定针对用户出牌的应对动作,比如,针对用户的出牌,确定是否出牌,以及出哪些牌。
在一种可能的实现方式中,计算机设备通过上述图2或图3所示的方案确定出满足要求的残局牌面后,还可以确定初始牌面是否与其它残局牌面重复。
在本申请实施例中,计算机设备可以按照预设的映射规则对该初始牌面的解法树进行映射获得第一字符串,该第一字符串唯一表示该初始牌面的解法树;计算该第一字符串与第二字符串之间的相似度,该第二字符串是按照该映射规则对目标牌面的解法树进行映射获得的字符串,其中,目标牌面是该初始牌面之外的另一残局牌面;当该第一字符串与该第二字符串之间的相似度大于预设的相似度阈值时,确定该初始牌面与该目标牌面是相似牌面。
其中,初始牌面的解法树中的各个节点分别对应该初始牌面,以及从该初始牌面开始的每一步出牌后的牌面;在按照预设的映射规则对该初始牌面的解法树进行映射获得第一字符串时,计算机设备可以按照预设的化简规则对该初始牌面的解法树中的每个节点对应的牌面进行化简,获得该初始牌面的解法树对应的牌面数组;对该初始牌面的解法树对应的牌面数组进行哈希计算,获得该第一字符串。
由于初始牌面是随机生成的,在找到残局牌面之后,计算机设备可以判断一下,新生成的残局牌面和已有的残局牌面是不是在类似的,以及出法上是否重复。在本申请实施例中,计算机设备可以将残局的解法树映射成一个唯一的字符串,然后使用哈希(Hash)表的方式进行排重。
在本申请实施例中,计算机设备确定初始牌面与目标牌面是相似牌面时,可以将初始牌面与目标牌面聚类到同一个相似牌面分组中,后续服务器集群向用户提供残局模式服务时,可以避免连续通过同一个相似牌面分组中的各个残局牌面向用户提供残局模式服务。
在一种可能的实现方式中,计算机设备通过上述图2或图3所示的方案确定出满足要求的残局牌面后,还可以自动计算该残局牌面的难度。比如,计算机设备将初始牌面确定为残局牌面后,将该初始牌面中的至少两个纸牌集合的纸牌数据输入概率确定模型,获得该指定纸牌集合每一步出牌正确的概率;并根据该指定纸牌集合每一步出牌正确的概率获得该初始牌面的牌面难度。
其中,上述概率确定模型是通过第二训练样本训练获得的机器学习模型,该第二训练样本包含牌面样本以及该牌面样本中的各个纸牌集合的每一步出牌结果。
在根据该指定纸牌集合每一步出牌正确的概率获得该初始牌面的牌面难度时,计算机设备获取该指定纸牌集合每一步出牌正确的概率的乘积;根据指定纸牌集合每一步出牌正确的概率的乘积查询难度关系表,获得该初始牌面的牌面难度,该难度关系表中包含乘积与牌面难度之间的对应关系。
对于找到的残局牌面,计算机设备需要评估它的难度。残局牌面的难度可以等价为用户持有指定纸牌集合时,在这个残局牌面上的胜率。在本申请实施例中,计算机设备可以用深度神经网络搭建一个模型,用来预测用户在该残局牌面下获胜的概率,从而得到残局牌面的难度。
以斗地主残局为例,给定一个斗地主的残局牌面,判断其难度是一个困难的工作,当前并没有实用的自动化的残局方案。而依靠人工的方式,需要耗费大量的精力来摸清残局的结构和关巧,效率低下,也带有一定的主观性。
请参考图4,其是根据一示例性实施例示出的一种残局难度与用户出牌正确概率的对应示意图。如图4所示,在本申请实施例中,可以把残局牌面的难度等价于用户持有指定纸牌集合时获胜的概率。而用户持有指定纸牌集合时获胜的概率,又可以等价于用户持有指定纸牌集合时,每一步都出牌正确的概率。因此,本申请实施例中,可以预先构建一个机器学习模型(即上述概率确定模型),来预测用户持有指定纸牌集合时,每一步出牌正确的概率,从而间接的得到残局牌面的难度。对于该概率确定模型,输入是残局牌面中至少两个纸牌集合的纸牌数据,输出是指定纸牌集合每一步出牌方式的概率。计算机设备可以根据概率确定模型输出的,指定纸牌集合每一步出牌方式的概率,确定指定纸牌集合每一步出牌方式的概率,获取指定纸牌集合每一步出牌正确的概率。
比如,获取指定纸牌集合在某一步中出牌正确的概率,可以是该指定纸牌集合在该步中,打出正确的出牌方式的概率之和。比如,假设指定纸牌集合在某一步中有三种出牌方式,其中第一种出牌方式的概率为40%,第二种和第三种出牌方式的概率分别为30%,若这三种出牌方式中仅有第一种出牌方式是正确的方式,其它两种是错误的出牌方式,则指定纸牌集合在该步中出牌正确的概率为40%;若这三种出牌方式中的第一种和第二种出牌方式是正确的方式,而第三种种是错误的出牌方式,则指定纸牌集合在该步中出牌正确的概率为40%+30%=70%。
其中,上述概率确定模型可以使用真实用户的数据(即实际应用中,各个实际的牌局中的牌面、该牌面中的各个纸牌集合在本次牌局中每一步的出牌方式以及本次牌局的结果)来进行训练。模型训练好之后,可以认为得到了一个从(残局牌面,出牌动作)到获胜概率的映射。其中,该概率确定模型可以是深度学习模型。
请参考图5,其是根据一示例性实施例示出的一种概率确定模型的模型结构图。如图5所示,该概率确定模型包括输入层、中间层和输出层,其中,输入层输入的是确定的残局牌面,包括牌面中的各个纸牌集合的纸牌数据(以残局牌面是斗地主项目的牌面为例,如图5所示,输入层输入的数据可以是地主对应的纸牌集合的纸牌数据以及农民对应的纸牌集合的纸牌数据),中间层可以包括若干个全连接层,输出层是每一步中的各种出牌方式的概率。
残局牌面的难度可以由如下公式决定:
其中,Card_i是残局牌面第i步的局面,Action_i是残局牌面中的指定纸牌集合在第i步的正确的出牌方式,f是对应的映射,表示该第i步中的正确的出牌方式发生的概率。
在获得上述残局牌面的难度之后,计算机设备可以将残局牌面的难度,连同该残局牌面一并存储至服务器集群的数据库中。服务器集群后续向用户提供残局模式服务时,可以结合数据库中各个残局牌面的难度,选取残局模式服务的残局牌面。比如,服务器集群可以按照从易到难的顺序,依次向同一用户提供多个残局牌面。
在牌类竞技项目的残局模式下,需要能够准确的评估残局牌面的难度,才能准确的向用户提供合适的对局,确保不会太容易也不会太难,避免影响用户体验。同时,还需要能够生成残局牌面的完整解法,这样才能构建AI来和用户进行对战。对于上述两点,本申请上述各个实施例所示的方案,通过对博弈树算法的优化搭建了一个快速搜索残局牌面和生成解法的系统,从而快速判断一个初始牌面是否符合残局牌面的定义并给出完整解法。通过该系统,能够很容易的收集大量(千万级别或者更多)不同的残局牌面。另外,本申请述各个实施例所示的方案还通过机器学习模型对残局牌面的难度进行准确评估。
以本申请上述各个实施例涉及的方案应用于单人闯关模式为例,请参考图6,其是根据一示例性实施例示出的一种牌类闯关模式的界面示意图。在图6中,支持牌类竞技项目(比如斗地主项目)的应用程序界面60中,包含有残局闯关模式入口61,用户点击该残局闯关模式入口61后,进入残局模式界面62,通过该残局模式界面62,用户和AI双方分别持有一个纸牌集合,且用户可以同时看到双方具体持有的虚拟纸牌。其中,残局闯关模式可以包含若干组残局牌面,每组残局牌面中包含从易到难的多个残局牌面(比如每组包含30个残局牌面),在每一局中,应用程序提供一个残局牌面,以供用户与AI进行对抗,用户获胜则进入下一关(即进入下一个残局牌面)。
请参考图7,其是根据一示例性实施例示出的一种提供残局模式服务的流程示意图。以应用于斗地主项目的闯关模式为例,如图7所示,从生成残局牌面到向用户提供残局模式服务的完成过程可以如下:
首先,计算机设备随机生成若干初始牌面,每个初始牌面中包含地主方的纸牌集合以及农名方的纸牌集合(71)。随后,计算机设备通过极小值极大化(min-max)算法中的α-β剪枝算法搜索每个初始牌面中,地主方的纸牌集合获胜的解法的数量,当地主方的纸牌集合存在获胜的解法,且数量不高于预设阈值(比如2)时,将该初始牌面确定为残局牌面(72)。对于确定的各个残局牌面,一方面,计算机设备可以通过min-max算法搜索每个残局牌面的完整解法(73);另一方面,计算机设备对各个残局牌面的解法树分别进行化简并进行哈希计算,获得各个残局牌面的唯一字符串,根据各自对应的唯一字符串之间的相似度,将各个残局牌面进行聚类,将牌面和出法类似的残局牌面聚到同一类,获得多类残局牌面(74);再一方面,计算机设备通过预先训练好的概率确定模型确定各个残局牌面的难度(75)。最后,计算机设备将各个残局牌面、各个残局牌面的完整解法、各个残局牌面的聚类情况以及各个残局牌面的难度存储到应用程序对应的服务器集群的数据库中。
服务器集群在生成每一组残局牌面时,结合数据库中各个残局牌面的难度和聚类情况,从数据库中选取不同难度且属于不同分类的指定数量个残局牌面,并将选取的残局牌面按照由易到难的顺序排列(76)。
服务器集群在向用户提供残局模式服务时,对于每一个残局牌面,将该牌面中的两方纸牌集合分别分配给用户和AI,并将控制AI根据该残局牌面的完整解法与用户进行对战(77)。
图8是根据一示例性实施例示出的一种残局牌面获取装置的结构方框图。该残局牌面获取装置可以用于计算机设备中,以执行图2或图3所示实施例中的全部或者部分步骤。该残局牌面获取装置可以包括:
牌面生成模块801,用于生成所述牌类竞技项目的初始牌面,所述初始牌面包含至少两个纸牌集合,每个纸牌集合包含指定数量的虚拟纸牌;
解法搜索模块802,用于通过第一搜索算法搜索所述初始牌面的解法树,所述第一搜索算法用于搜索所述至少两个纸牌集合中的指定纸牌集合获胜的解法,所述解法树用于指示所述初始牌面的各种解法;
残局确定模块803,用于当所述指定纸牌集合获胜的解法的数量小于预设数量阈值且不为零时,将所述初始牌面获取为所述牌类竞技项目的残局牌面。
可选的,在通过第一搜索算法搜索所述初始牌面的解法树时,所述解法搜索模块802,具体用于,
获取第一纸牌集合中的各个纸牌组合的搜索优先级,所述第一纸牌集合是所述至少两个纸牌集合中率先出牌的纸牌集合,所述纸牌组合包含允许同时出牌的至少一张虚拟纸牌;
通过所述第一搜索算法,按照所述第一纸牌集合中的各个纸牌组合的搜索优先级从高到低的顺序搜索所述初始牌面的解法树,直至已搜索到的所述指定纸牌集合获胜的解法的数量达到所述预设数量阈值,或者,已完成搜索所述解法树。
可选的,在获取第一纸牌集合中的各个纸牌组合的搜索优先级时,所述解法搜索模块802,具体用于,
获取所述各个纸牌组合的组合类型;
根据所述各个纸牌组合的组合类型,以及预先设置的优先规则获取所述各个纸牌组合的搜索优先级;所述优先规则中包含组合类型与搜索优先级之间的对应关系。
可选的,在获取第一纸牌集合中的各个纸牌组合的搜索优先级时,所述解法搜索模块802,具体用于,
将所述第一纸牌集合的纸牌数据输入优先级确定模型,获得所述第一纸牌集合中的各个纸牌组合的搜索优先级,所述纸牌数据用于指示对应的纸牌集合中包含的各个虚拟纸牌;所述优先级确定模型是通过第一训练样本训练获得的机器学习模型,所述第一训练样本包含纸牌集合样本、所述纸牌集合样本中首先出牌的纸牌组合以及所述纸牌集合样本的胜负结果。
可选的,在通过所述第一搜索算法,按照所述第一纸牌集合中的各个纸牌组合的搜索优先级从高到低的顺序搜索所述初始牌面的解法树时,所述解法搜索模块802,具体用于,
通过α-β剪枝算法,按照所述第一纸牌集合中的各个纸牌组合的搜索优先级从高到低的顺序搜索所述初始牌面的解法树。
可选的,所述解法搜索模块802,还用于在所述残局确定模块803将所述初始牌面获取为所述牌类竞技项目的残局牌面后,通过第二搜索算法搜索所述初始牌面的解法树,获得所述解法树的完整解法。
可选的,所述第二搜索算法是极小值极大化算法。
可选的,所述装置还包括:
映射模块,用于按照预设的映射规则对所述初始牌面的解法树进行映射获得第一字符串,所述第一字符串唯一表示所述初始牌面的解法树;
相似度计算模块,用于计算所述第一字符串与第二字符串之间的相似度,所述第二字符串是按照所述映射规则对目标牌面的解法树进行映射获得的字符串,所目标牌面是所述初始牌面之外的另一残局牌面;
相似牌面确定模块,用于当所述第一字符串与所述第二字符串之间的相似度大于预设的相似度阈值时,确定所述初始牌面与所述目标牌面是相似牌面。
可选的,所述初始牌面的解法树中的各个节点分别对应所述初始牌面,以及从所述初始牌面开始的每一步出牌后的牌面;在按照预设的映射规则对所述初始牌面的解法树进行映射获得第一字符串时,所述映射模块,具体用于,
按照预设的化简规则对所述初始牌面的解法树中的每个节点对应的牌面进行化简,获得所述初始牌面的解法树对应的牌面数组;
对所述初始牌面的解法树对应的牌面数组进行哈希计算,获得所述第一字符串。
可选的,所述装置还包括:
概率确定模块,用于在所述残局确定模块803将所述初始牌面获取为所述牌类竞技项目的残局牌面后,将所述至少两个纸牌集合的纸牌数据输入概率确定模型,获得所述指定纸牌集合每一步出牌正确的概率;所述概率确定模型是通过第二训练样本训练获得的机器学习模型,所述第二训练样本包含牌面样本以及所述牌面样本中的各个纸牌集合的每一步出牌结果;
难度获取模块,用于根据所述指定纸牌集合每一步出牌正确的概率获得所述初始牌面的牌面难度。
可选的,所述难度获取模块,具体用于,
获取所述指定纸牌集合每一步出牌正确的概率的乘积;
根据指定纸牌集合每一步出牌正确的概率的乘积查询难度关系表,获得所述初始牌面的牌面难度,所述难度关系表中包含乘积与牌面难度之间的对应关系。
图9是根据一示例性实施例示出的一种计算机设备的结构示意图。所述计算机设备900包括中央处理单元(CPU)901、包括随机存取存储器(RAM)902和只读存储器(ROM)903的系统存储器904,以及连接系统存储器904和中央处理单元901的系统总线905。所述计算机设备900还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)906,和用于存储操作系统913、应用程序914和其他程序模块915的大容量存储设备907。
所述基本输入/输出系统906包括有用于显示信息的显示器908和用于用户输入信息的诸如鼠标、键盘之类的输入设备909。其中所述显示器908和输入设备909都通过连接到系统总线905的输入输出控制器910连接到中央处理单元901。所述基本输入/输出系统906还可以包括输入输出控制器910以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器910还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备907通过连接到系统总线905的大容量存储控制器(未示出)连接到中央处理单元901。所述大容量存储设备907及其相关联的计算机可读介质为计算机设备900提供非易失性存储。也就是说,所述大容量存储设备907可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器904和大容量存储设备907可以统称为存储器。
计算机设备900可以通过连接在所述系统总线905上的网络接口单元911连接到互联网或者其它网络设备。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器901通过执行该一个或一个以上程序来实现图2或图3所示的方法的全部或者部分步骤。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括计算机程序(指令)的存储器,上述程序(指令)可由计算机设备的处理器执行以完成本申请各个实施例所示的方法的全部或者部分步骤。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (14)
1.一种残局牌面获取方法,其特征在于,所述方法包括:
生成牌类竞技项目的初始牌面,所述初始牌面包含至少两个纸牌集合,每个纸牌集合包含指定数量的虚拟纸牌;
通过第一搜索算法搜索所述初始牌面的解法树,所述第一搜索算法用于搜索所述至少两个纸牌集合中的指定纸牌集合获胜的解法,所述解法树用于指示所述初始牌面的各种解法;
当所述指定纸牌集合获胜的解法的数量小于预设数量阈值且不为零时,将所述初始牌面获取为所述牌类竞技项目的残局牌面;
在将所述初始牌面获取为所述牌类竞技项目的残局牌面后,将所述至少两个纸牌集合的纸牌数据输入概率确定模型,获得所述指定纸牌集合每一步出牌正确的概率;所述概率确定模型是通过第二训练样本训练获得的机器学习模型,所述第二训练样本包含牌面样本以及所述牌面样本中的各个纸牌集合的每一步出牌结果;
根据所述指定纸牌集合每一步出牌正确的概率获得所述初始牌面的牌面难度。
2.根据权利要求1所述的方法,其特征在于,所述通过第一搜索算法搜索所述初始牌面的解法树,包括:
获取第一纸牌集合中的各个纸牌组合的搜索优先级,所述第一纸牌集合是所述至少两个纸牌集合中率先出牌的纸牌集合,所述纸牌组合包含允许同时出牌的至少一张虚拟纸牌;
通过所述第一搜索算法,按照所述第一纸牌集合中的各个纸牌组合的搜索优先级从高到低的顺序搜索所述初始牌面的解法树,直至已搜索到的所述指定纸牌集合获胜的解法的数量达到所述预设数量阈值,或者,已完成搜索所述解法树。
3.根据权利要求2所述的方法,其特征在于,所述获取第一纸牌集合中的各个纸牌组合的搜索优先级,包括:
获取所述各个纸牌组合的组合类型;
根据所述各个纸牌组合的组合类型,以及预先设置的优先规则获取所述各个纸牌组合的搜索优先级;所述优先规则中包含组合类型与搜索优先级之间的对应关系。
4.根据权利要求2所述的方法,其特征在于,所述获取第一纸牌集合中的各个纸牌组合的搜索优先级,包括:
将所述第一纸牌集合的纸牌数据输入优先级确定模型,获得所述第一纸牌集合中的各个纸牌组合的搜索优先级,所述纸牌数据用于指示对应的纸牌集合中包含的各个虚拟纸牌;所述优先级确定模型是通过第一训练样本训练获得的机器学习模型,所述第一训练样本包含纸牌集合样本、所述纸牌集合样本中首先出牌的纸牌组合以及所述纸牌集合样本的胜负结果。
5.根据权利要求2所述的方法,其特征在于,所述通过所述第一搜索算法,按照所述第一纸牌集合中的各个纸牌组合的搜索优先级从高到低的顺序搜索所述初始牌面的解法树,包括:
通过α-β剪枝算法,按照所述第一纸牌集合中的各个纸牌组合的搜索优先级从高到低的顺序搜索所述初始牌面的解法树。
6.根据权利要求1所述的方法,其特征在于,将所述初始牌面获取为所述牌类竞技项目的残局牌面后,所述方法还包括:
通过第二搜索算法搜索所述初始牌面的解法树,获得所述解法树的完整解法。
7.根据权利要求6所述的方法,其特征在于,所述第二搜索算法是极小值极大化算法。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
按照预设的映射规则对所述初始牌面的解法树进行映射获得第一字符串,所述第一字符串唯一表示所述初始牌面的解法树;
计算所述第一字符串与第二字符串之间的相似度,所述第二字符串是按照所述映射规则对目标牌面的解法树进行映射获得的字符串,所目标牌面是所述初始牌面之外的另一残局牌面;
当所述第一字符串与所述第二字符串之间的相似度大于预设的相似度阈值时,确定所述初始牌面与所述目标牌面是相似牌面。
9.根据权利要求8所述的方法,其特征在于,所述初始牌面的解法树中的各个节点分别对应所述初始牌面,以及从所述初始牌面开始的每一步出牌后的牌面;
所述按照预设的映射规则对所述初始牌面的解法树进行映射获得第一字符串,包括:
按照预设的化简规则对所述初始牌面的解法树中的每个节点对应的牌面进行化简,获得所述初始牌面的解法树对应的牌面数组;
对所述初始牌面的解法树对应的牌面数组进行哈希计算,获得所述第一字符串。
10.根据权利要求1所述的方法,其特征在于,所述根据所述指定纸牌集合每一步出牌正确的概率获得所述初始牌面的牌面难度,包括:
获取指定纸牌集合每一步出牌正确的概率的乘积;
根据指定纸牌集合每一步出牌正确的概率的乘积查询难度关系表,获得所述初始牌面的牌面难度,所述难度关系表中包含乘积与牌面难度之间的对应关系。
11.一种残局牌面获取装置,其特征在于,所述装置包括:
牌面生成模块,用于生成牌类竞技项目的初始牌面,所述初始牌面包含至少两个纸牌集合,每个纸牌集合包含指定数量的虚拟纸牌;
解法搜索模块,用于通过第一搜索算法搜索所述初始牌面的解法树,所述第一搜索算法用于搜索所述至少两个纸牌集合中的指定纸牌集合获胜的解法,所述解法树用于指示所述初始牌面的各种解法;
残局确定模块,用于当所述指定纸牌集合获胜的解法的数量小于预设数量阈值且不为零时,将所述初始牌面获取为所述牌类竞技项目的残局牌面;
概率确定模块,用于在所述残局确定模块将所述初始牌面获取为所述牌类竞技项目的残局牌面后,将所述至少两个纸牌集合的纸牌数据输入概率确定模型,获得所述指定纸牌集合每一步出牌正确的概率;所述概率确定模型是通过第二训练样本训练获得的机器学习模型,所述第二训练样本包含牌面样本以及所述牌面样本中的各个纸牌集合的每一步出牌结果;
难度获取模块,用于根据所述指定纸牌集合每一步出牌正确的概率获得所述初始牌面的牌面难度。
12.根据权利要求11所述的装置,其特征在于,在通过第一搜索算法搜索所述初始牌面的解法树时,所述解法搜索模块,具体用于,
获取第一纸牌集合中的各个纸牌组合的搜索优先级,所述第一纸牌集合是所述至少两个纸牌集合中率先出牌的纸牌集合,所述纸牌组合包含允许同时出牌的至少一张虚拟纸牌;
通过所述第一搜索算法,按照所述第一纸牌集合中的各个纸牌组合的搜索优先级从高到低的顺序搜索所述初始牌面的解法树,直至已搜索到的所述指定纸牌集合获胜的解法的数量达到所述预设数量阈值,或者,已完成搜索所述解法树。
13.一种计算机设备,其特征在于,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至10任一所述的残局牌面获取方法。
14.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至10任一所述的残局牌面获取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810712903.0A CN109011580B (zh) | 2018-06-29 | 2018-06-29 | 残局牌面获取方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810712903.0A CN109011580B (zh) | 2018-06-29 | 2018-06-29 | 残局牌面获取方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109011580A CN109011580A (zh) | 2018-12-18 |
CN109011580B true CN109011580B (zh) | 2021-12-21 |
Family
ID=65521394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810712903.0A Active CN109011580B (zh) | 2018-06-29 | 2018-06-29 | 残局牌面获取方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109011580B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109925717B (zh) * | 2019-03-06 | 2022-07-12 | 网易(杭州)网络有限公司 | 一种游戏胜率的预测方法、模型生成方法和装置 |
CN109821228B (zh) * | 2019-03-07 | 2022-08-05 | 网易(杭州)网络有限公司 | 棋牌游戏的对象控制方法及装置 |
CN110263937B (zh) * | 2019-06-18 | 2021-09-28 | 深圳市腾讯网域计算机网络有限公司 | 一种数据处理方法、设备及存储介质 |
CN110457534A (zh) * | 2019-07-30 | 2019-11-15 | 深圳市腾讯网域计算机网络有限公司 | 一种基于人工智能的数据处理方法、装置、终端及介质 |
CN112675539B (zh) * | 2020-12-30 | 2024-05-03 | 成都乐信圣文科技有限责任公司 | 牌类游戏的难度等级判断方法、牌面生成方法及电子设备 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1710736A4 (en) * | 2004-01-21 | 2011-11-16 | Metalogic Inc | METHOD, DEVICE AND SYSTEM FOR RESOLVING RESTRICTIONS |
KR20040052733A (ko) * | 2004-04-30 | 2004-06-23 | 바이어스아이티 주식회사 | 인터넷을 이용한 고도리포커 게임 서비스 방법 및 시스템 |
CN101313322A (zh) * | 2005-11-21 | 2008-11-26 | 微软公司 | 队伍匹配 |
US8370394B2 (en) * | 2009-07-17 | 2013-02-05 | International Business Machines Corporation | Parallel processing of data organized in a tree structure |
CN106339582B (zh) * | 2016-08-19 | 2019-02-01 | 深圳市云安晟科技有限公司 | 一种基于机器博弈技术的棋牌类游戏自动化残局生成方法 |
EP3330901A1 (en) * | 2016-12-05 | 2018-06-06 | Tata Consultancy Services Limited | Training inductive logic programming enhanced deep belief network models for discrete optimization |
CN107622092B (zh) * | 2017-08-24 | 2019-11-12 | 河海大学 | 中国象棋基于多重优化、迭代加深剪枝的搜索方法 |
CN107894923B (zh) * | 2017-11-11 | 2021-06-08 | 北京信息科技大学 | 一种通用的计算机博弈问题策略搜索引擎类库 |
CN108171266A (zh) * | 2017-12-25 | 2018-06-15 | 中国矿业大学 | 一种多目标深度卷积生成式对抗网络模型的学习方法 |
-
2018
- 2018-06-29 CN CN201810712903.0A patent/CN109011580B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109011580A (zh) | 2018-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109011580B (zh) | 残局牌面获取方法、装置、计算机设备及存储介质 | |
Perolat et al. | Mastering the game of stratego with model-free multiagent reinforcement learning | |
US11938403B2 (en) | Game character behavior control method and apparatus, storage medium, and electronic device | |
Lee et al. | Game data mining competition on churn prediction and survival analysis using commercial game log data | |
CN110404265B (zh) | 一种基于博弈残局在线解算的多人非完备信息机器博弈方法、装置、系统及存储介质 | |
Igiri et al. | An improved prediction system for football a match result | |
CN111282267B (zh) | 信息处理方法、装置、介质及电子设备 | |
CN110175619B (zh) | 基于机器学习模型的出牌牌组确定方法、设备及存储介质 | |
Janusz et al. | Helping ai to play hearthstone: Aaia'17 data mining challenge | |
CN107335220B (zh) | 一种消极用户的识别方法、装置及服务器 | |
Cazenave | Monte carlo beam search | |
Elfrink | Predicting the outcomes of MLB games with a machine learning approach | |
WO2019174144A1 (zh) | 游戏中的虚拟人物生成方法、装置、存储介质、计算机设备 | |
Thawonmas et al. | Artificial general intelligence in games: Where play meets design and user experience | |
CN110659023B (zh) | 一种程序化内容生成的方法以及相关装置 | |
CN113343089A (zh) | 用户召回方法及装置、设备 | |
Wang et al. | A novel deep residual network-based incomplete information competition strategy for four-players Mahjong games | |
CN110598853A (zh) | 一种模型训练的方法、信息处理的方法以及相关装置 | |
CN111701240B (zh) | 虚拟物品的提示方法、装置、存储介质和电子装置 | |
CN113230650A (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
CN114870403A (zh) | 一种游戏中的对战匹配方法、装置、设备及存储介质 | |
CN110772794B (zh) | 智能游戏处理方法、装置、设备及存储介质 | |
CN109189795A (zh) | 一种数据处理方法、装置及存储介质 | |
van Rijn et al. | Computing and predicting winning hands in the trick-taking game of Klaverjas | |
CN110598182A (zh) | 一种信息预测的方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |