CN111265878B - 数据处理方法、装置、电子设备及存储介质 - Google Patents

数据处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111265878B
CN111265878B CN202010036509.7A CN202010036509A CN111265878B CN 111265878 B CN111265878 B CN 111265878B CN 202010036509 A CN202010036509 A CN 202010036509A CN 111265878 B CN111265878 B CN 111265878B
Authority
CN
China
Prior art keywords
decision
game
data
hand
candidate
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
Application number
CN202010036509.7A
Other languages
English (en)
Other versions
CN111265878A (zh
Inventor
吕有为
钟涛
毛建博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010036509.7A priority Critical patent/CN111265878B/zh
Publication of CN111265878A publication Critical patent/CN111265878A/zh
Application granted granted Critical
Publication of CN111265878B publication Critical patent/CN111265878B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本公开提供了一种数据处理方法、装置、电子设备及存储介质,所述方法包括:获取当前对局中目标玩家的第一手牌数据;基于估牌先验信息与所述第一手牌数据,获取其他玩家的第二手牌数据;基于决策预测先验信息、所述第一手牌数据与所述第二手牌数据,获取所述目标玩家的各第一候选决策的可能对局结果,所述第一候选决策为所述目标玩家在当前对局状态下可执行的候选决策;基于所述可能对局结果,控制所述目标玩家在当前对局状态执行相应的第一候选决策。本公开实施例能够提升人工智能AI在非完美信息博弈对局中的表现。

Description

数据处理方法、装置、电子设备及存储介质
技术领域
本公开涉及人工智能领域,具体涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
随着互联网技术的高度发展,许多游戏玩家会在线上进行博弈对局,例如:下围棋、下象棋、打扑克、打麻将、打桥牌。根据博弈过程中对局信息的透明度,这些博弈对局可以被分为两大类:完美信息博弈对局、非完美信息博弈对局。其中,完美信息博弈对局是指所有对局信息完全公开透明的博弈对局,例如:下围棋、下象棋,自己有哪些棋子,每个棋子在哪个位置均完全公开透明;非完美信息博弈对局是指并非所有对局信息完全公开透明的博弈对局,例如:打麻将、打桥牌,自己有哪些牌是不对其他玩家公开的。
由于非完美信息博弈对局的复杂性,现有技术中的人工智能AI在非完美信息博弈对局中的表现十分低下,只能做一些最简单的决策(例如:现有技术中麻将游戏的托管AI只会进行摸牌、打牌、胡牌),无法满足玩家间的对战需求。
发明内容
本公开的一个目的在于提出一种数据处理方法、装置、电子设备及存储介质,能够提高人工智能AI在非完美信息博弈对局中的表现。
根据本公开实施例的一方面,公开了一种数据处理方法,包括:
获取当前对局中目标玩家的第一手牌数据;
基于估牌先验信息与所述第一手牌数据,获取其他玩家的第二手牌数据;
基于决策预测先验信息、所述第一手牌数据与所述第二手牌数据,获取所述目标玩家的各第一候选决策的可能对局结果,所述第一候选决策为所述目标玩家在当前对局状态下可执行的候选决策;
基于所述可能对局结果,控制所述目标玩家在当前对局状态执行相应的第一候选决策。
根据本公开实施例的一方面,公开了一种数据处理装置,包括:
第一获取模块,配置为获取当前对局中目标玩家的第一手牌数据;
第二获取模块,配置为基于估牌先验信息与所述第一手牌数据,获取其他玩家的第二手牌数据;
第三获取模块,配置为基于决策预测先验信息、所述第一手牌数据与所述第二手牌数据,获取所述目标玩家的各第一候选决策的可能对局结果,所述第一候选决策为所述目标玩家在当前对局状态下可执行的候选决策;
控制模块,配置为基于所述可能对局结果,控制所述目标玩家在当前对局状态执行相应的第一候选决策。
根据本公开实施例的一方面,公开了一种数据处理电子设备,包括:存储器,存储有计算机可读指令;处理器,读取存储器存储的计算机可读指令,以执行以上权利要求中的任一个所述的方法。
根据本公开实施例的一方面,公开了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行以上权利要求中的任一个所述的方法。
本公开实施例提出了一种数据处理方法,将该数据处理方法落地于神经网络,可得到相应的可用于非完美信息博弈对局的AI。在非完美信息博弈对局中,该AI可控制玩家进行相应决策。该AI在进行相应决策的过程中,主要基于其先验信息进行猜牌、可能对局结果的获取,进而根据获取到的可能对局结果,控制相应玩家执行相应的决策。随着该AI不断进行对局,真实对局数据不断积累。从而可根据所积累的真实对局数据不断地对该AI的先验信息进行更新,不断提升该AI在非完美信息博弈对局中的表现。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
通过参考附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。
图1示出了根据本公开一个实施例的在麻将对局托管AI场景中的终端界面图。
图2示出了根据本公开一个实施例的数据处理方法的流程图。
图3示出了根据本公开一个实施例的博弈树的玩家决策节点。
图4示出了根据本公开一个实施例的博弈树的规则决策节点、机会决策节点。
图5示出了根据本公开一个实施例的针对麻将对局场景基于博弈树对可能对局结果进行获取的示意图。
图6示出了根据本公开一个实施例的数据处理装置的框图。
图7示出了根据本公开一个实施例的数据处理电子设备的硬件图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些示例实施方式使得本公开的描述将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多示例实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的示例实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、步骤等。在其它情况下,不详细示出或描述公知结构、方法、实现或者操作以避免喧宾夺主而使得本公开的各方面变得模糊。
附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本公开实施例所提供的数据处理方法、装置、电子设备及存储介质,涉及到人工智能领域,更具体的,主要涉及到人工智能领域中的机器学习。
其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
下面首先对本公开实施例涉及的概念进行简要解释。
目标玩家指的是由AI控制进行决策的玩家;其他玩家是指对局中除了目标玩家外的玩家。需要说明的是,根据具体情况,对局中除了目标玩家外,可以只有一个其他玩家,也可以有多个其他玩家。
手牌数据指的是描述了对应玩家所持有手牌的数据。例如:麻将对局中,描述了玩家持有哪些麻将手牌的数据;扑克对局中,描述了玩家持有哪些扑克手牌的数据。进一步的,第一手牌数据指的是描述了目标玩家所持有手牌的数据;第二手牌数据指的是描述了其他玩家所持有手牌的数据。
候选决策指的是对应玩家可以选择执行的决策。例如:在麻将对局中,当前对局状态下小明可以出牌。小明当前的手牌有——“一万”、“一万”、“三万”、“四万”、“一筒”。则小明的候选决策有——“打一万”、“打三万”、“打四万”、“打一筒”、“过”。进一步的,第一候选决策指的是目标玩家的候选决策;第二候选决策指的是其他玩家的候选决策。
目标决策指的是对应玩家确定执行的决策。例如:在麻将对局中,当前对局状态下小明的候选决策有——“打一万”、“打三万”、“打四万”、“打一筒”、“过”。小明确定要打“一万”,则“打一万”即为小明的目标决策。进一步的,第一目标决策指的是目标玩家的目标决策;第二目标决策指的是其他玩家的目标决策。
需要说明的是,目标决策并不一定会被实现。例如:麻将对局中,小红打出了“二万”后——小明的目标决策为“吃二万”,小刚的目标决策为“碰二万”,小天的目标决策为“胡牌”。根据麻将规则,小明的目标决策与小刚的目标决策不会被实现,只有小天的目标决策会被实现。
估牌先验信息指的是主要用于估测手牌的、已具有的信息。例如:对于AI而言,对局中已经能够确定的手牌(目标玩家的手牌、各其他玩家已打出的手牌);预设的估牌策略——用以估测手牌的策略。
决策预测先验信息指的是主要用于预测决策的、已具有的信息。例如:预设的先验收益预测策略、预设的推演收益预测策略。可以理解的,任一玩家作出决策都是为了尽可能获得最大的收益,因此,可以先通过对决策会带来的收益进行预测,进而根据预测的收益,对玩家是否会将该决策确定为目标决策进行预测。
其中,先验收益预测策略可以看作只考虑对应玩家当前手牌的情况——根据在当前手牌的情况下执行“下一步”所带来的手牌变化,进行收益预测的策略。根据先验收益预测策略预测到的收益在本公开实施例中被表述为先验收益。例如:麻将对局中,小红的当前手牌的向听数为4,即,小红的当前手牌还差4张特定的手牌能够听牌。向听数越大,距离胡牌(胜出)越遥远。若将当前手牌中的“一万”打出,小红就会还差3张特定的手牌能够听牌。若将当前手牌中的“五万”打出,小红就会还差2张特定的手牌能够听牌。则,根据先验收益预测策略,“打一万”的先验收益比“打五万”的先验收益低。
推演收益预测策略可以看作不只根据当前手牌的情况——会结合其他玩家的决策,推演“下两步”、“下三步”或者更长远未来的状态,进行收益预测的策略。根据推演收益预测策略预测到的收益在本公开实施例中被表述为推演收益。例如:麻将对局中,小红的当前手牌的向听数为4,即,小红的当前手牌还差4张特定的手牌能够听牌。若将当前手牌中的“一万”打出,小红就会还差3张特定的手牌能够听牌;由于这些特定的手牌很可能还在剩下的牌堆里,所以在后面摸到的概率较大。若将当前手牌中的“五万”打出,小红就会还差2张特定的手牌能够听牌;但其他玩家很可能会“吃五万”,打出“五万”会导致其他玩家比小红更快进入听牌状态;甚至已有其他玩家进入听牌状态,而该其他玩家很可能听的正是“五万”,若打出“五万”,该其他玩家很可能直接胡牌。则,根据推演收益预测策略,“打一万”的推演收益比“打五万”的推演收益高。
可能对局结果指的是相应决策可能导致的对局结果。例如:在麻将对局中,当前对局状态下小明的候选决策有——“打一万”、“吃二万”、“打三万”。若当前对局状态下小明选择“打一万”,可能会导致该麻将对局结束时,其他玩家胜出;若当前对局状态下小明选择“吃二万”,可能会导致该麻将对局结束时,小明胜出;若当前对局状态下小明选择“打三万”,可能会导致该麻将对局结束时,该麻将对局流局,无任何一玩家胜出。
图1示出了本公开一实施例在麻将对局托管AI场景中的终端界面图:玩家小明于游戏终端(可以为手机终端、也可以为电脑终端)上,与其他三个玩家——小红、小刚、小天共同进行麻将对局。当小明因为某些原因暂时无法亲自进行决策时,小明选择托管AI——游戏终端显示出图1示出的终端界面。此时由AI控制小明进行一系列决策(例如:吃、碰、杠、摸、过、胡),以继续该麻将对局。
该实施例中,该AI位于云端服务器。当小明选择托管AI后,游戏终端向云端服务器请求由AI进行托管。云端服务器确认该请求后,调取该AI进行托管。托管过程中——该AI获取小明的第一手牌数据;基于估牌先验信息与该第一手牌数据,获取小红的第二手牌数据、小刚的第二手牌数据、小天的第二手牌数据;基于决策预测先验信息、该第一手牌数据与上述第二手牌数据,搜索小明在当前对局状态下可执行的第一候选决策的可能对局结果;进而基于搜索到的可能对局结果,控制小明执行相应的第一候选决策,以继续该麻将对局。
可以理解的,该AI除了可以位于云端服务器,还可以位于玩家的游戏终端中,也可以位于其他具有足够计算能力的终端中。
需要说明的是,该实施例只是示例性的说明,不应对本公开的功能和使用范围造成限制。
下面对本公开实施例的具体实施过程进行详细描述。
如图2所示,一种数据处理方法,包括:
步骤110、获取当前对局中目标玩家的第一手牌数据;
步骤120、基于估牌先验信息与所述第一手牌数据,获取其他玩家的第二手牌数据;
步骤130、基于决策预测先验信息、所述第一手牌数据与所述第二手牌数据,搜索所述目标玩家的各第一候选决策的可能对局结果,所述第一候选决策为所述目标玩家在当前对局状态下可执行的候选决策;
步骤140、基于所述可能对局结果,控制所述目标玩家在当前对局状态执行相应的第一候选决策。
本公开实施例提出了一种数据处理方法,将该数据处理方法落地于神经网络,可得到相应的可用于非完美信息博弈对局的AI。在非完美信息博弈对局中,该AI可控制玩家进行相应决策。该AI在进行相应决策的过程中,主要基于其先验信息进行猜牌、可能对局结果的获取,进而根据获取到的可能对局结果,控制相应玩家执行相应的决策。随着该AI不断进行对局,真实对局数据不断积累。从而可根据所积累的真实对局数据不断地对该AI的先验信息进行更新,不断提升该AI在非完美信息博弈对局中的表现。
在步骤110中,获取当前对局中目标玩家的第一手牌数据。
本公开实施例中,目标玩家指的是由AI控制执行决策的玩家,例如:小明在线上麻将对局中暂时离开,托管AI以继续该对局时,目标玩家即为小明;AI获取到的目标玩家的第一手牌数据即为小明的手牌数据。
在步骤120中,基于估牌先验信息与该第一手牌数据,获取其他玩家的第二手牌数据。
本公开实施例所提出的数据处理方法所针对的对局主要是非完美信息博弈对局。在非完美信息博弈对局中,各个玩家之间是无法看到对方的手牌的。而为了尽可能执行最优的决策,就需要对其他玩家的手牌进行估测。具体的,本公开实施例的AI的先验信息包括估牌先验信息,以获取其他玩家的第二手牌数据。
在一实施例中,该估牌先验信息包括在当前对局状态下的已公开手牌数据、预设的估牌策略,基于估牌先验信息与该第一手牌数据,获取其他玩家的第二手牌数据,包括:
基于该已公开手牌数据与该第一手牌数据,确定在当前对局状态下的未公开手牌数据;
基于该估牌策略、该未公开手牌数据与该第一手牌数据,获取其他玩家的第二手牌数据。
该实施例中,AI的估牌先验信息主要包括两部分:随着当前对局状态实时变化的已公开手牌数据、相对固定不变的预设的估牌策略。以打比方的方式:AI的估牌策略可以看作真实玩家的估牌思路。即使对局没有开始,真实玩家也具备一定模式的估牌思路。
为了获取其他玩家的第二手牌数据,就需要确定该对局从开始到现在,在当前对局状态下的已公开手牌数据(对所有玩家均公开的手牌数据);进而根据已公开手牌数据与第一手牌数据,确定在当前对局状态的未公开手牌数据(未对所有玩家均公开的手牌数据);进而将第一手牌数据从未公开手牌数据中剔除,确定出其他玩家的第二手牌数据的所在范围;进而基于估牌策略与所在范围,获取其他玩家的第二手牌数据。
可以理解,由于非完美信息博弈对局具有很强的随机性:每一玩家在对局初始可能随机拿到对应的初始手牌(例如:麻将对局初始每一玩家会随机拿到对应的初始麻将手牌)、每一玩家在对局过程中可能随机拿到更新的手牌(例如:麻将对局过程中轮到玩家摸牌时,玩家会随机摸到一张更新的麻将手牌)。因此,通过估牌先验信息获取到的其他玩家的第二手牌数据只是估测得到的,并不准确(即使由真实的人类玩家进行估测,也不可能完全准确地估测到其他玩家的手牌)。尤其由于越是在对局前期,已公开的信息(例如:其他玩家已打出的手牌、其他玩家的打牌倾向)越少,估测的准确率就越低。但随着对局的进行,已公开的信息越多,估测到的第二手牌数据就会越来越收敛——越来越接近真实的第二手牌数据。
在一实施例中,估牌策略基于随机算法预先设置。
该实施例中,估牌策略对其他玩家的第二手牌数据随机进行估测。具体的,该估牌策略预先基于随机算法设置,可根据输入的数据所在范围(即,第二手牌数据的所在范围),将相应范围内的数据随机分配给输入的数据接收对象(即,其他玩家)。进而AI在使用估牌策略获取其他玩家的第二手牌数据时:基于该随机算法,结合在当前对局状态下的未公开手牌数据,为其他玩家随机分配手牌,获取到其他玩家的第二手牌数据。
例如:预先设置一能够生成随机数的随机数生成器。麻将对局中有四个玩家——小明(目标玩家)、小红(其他玩家)、小刚(其他玩家)、小天(其他玩家)。
AI获取其他玩家的当前手牌数:小红当前手牌数为7,小刚当前手牌数为9,小天当前手牌数为7。
AI根据在当前对局状态下的已公开手牌、小明的手牌,确定在当前对局状态下的其他玩家的第二手牌数据的所在范围(即,小红的手牌、小刚的手牌、与小天的手牌所在范围)——一张“一万”、两张“五筒”、一张“六筒”、三张“八筒”、两张“三条”、三张“东”、四张“中”。
AI对其他玩家进行编号:小红为0号,小刚为1号,小天为2号。
在分配该所在范围中的“一万”时:AI调用随机数生成器,生成一随机数。将该随机数除以3,若得到的余数为0,则将该“一万”分配给小红;若得到的余数为1,则将该“一万”分配给小刚;若得到的余数为2,则将该“一万”分配给小天。
在分配该所在范围中的其中一张“五筒”时:AI调用随机数生成器,生成一随机数。将该随机数除以3,若得到的余数为0,则将该“五筒”分配给小红;若得到的余数为1,则将该“五筒”分配给小刚;若得到的余数为2,则将该“五筒”分配给小天。
同理,AI调用随机数生成器生成随机数,进而根据随机数将该所在范围中的手牌分配给其他玩家。分配过程中,若为小红分配的手牌数已为7,则停止为小红继续分配手牌;若为小刚分配的手牌数已为9,则停止为小刚继续分配手牌;若为小天分配的手牌数已为7,则停止为小天继续分配手牌。直到为小红分配了7张手牌,为小刚分配了9张手牌,为小天分配了7张手牌,至此,AI在当前对局状态下对其他玩家的手牌估测完成。
该实施例的优点在于,通过随机为其他玩家分配手牌,降低了AI的运算处理负担。
需要说明的是,该实施例只是示例性的说明,不应对本公开的功能和使用范围造成限制。
在一实施例中,估牌策略基于统计模型预先设置。
该实施例中,估牌策略对其他玩家的第二手牌数据基于统计模型的内在逻辑进行估测。具体的,针对手牌数据的获取,可以预先基于监督学习的方法使用大量已有的真实对局数据对统计模型进行训练,使得统计模型能够统计出玩家在打出特定手牌的情况下,其当前所持有手牌的概率分布。进而AI在使用估牌策略获取其他玩家的第二手牌数据时:将其他玩家当前所打出的特定手牌作为输入,调取统计模型统计出的概率分布,结合在当前对局状态下的其他玩家的第二手牌数据的所在范围,估测其他玩家当前所持有的手牌,获取到其他玩家的第二手牌数据。
例如:真实麻将对局数据可以为以下表现形式——<(一万、一万、三万、二条、二筒、三筒、东),二条>。该真实麻将对局数据代表的意义为——玩家在持有“一万”、“一万”、“三万”、“二条”、“二筒”、“三筒”、“东”的情况下,打出了“二条”。通过大量的这种真实麻将对局数据对统计模型进行训练,从而使得统计模型能够统计出玩家在打出特定手牌的情况下,其当前所持有手牌的概率分布——玩家在打出“一万”时,其当前持有第二张“一万”的概率、其当前持有第三张“一万”的概率、其当前持有第四张“一万”的概率,以及当前持有其他手牌的概率。
进而AI在使用估牌策略获取小红(其他玩家)的第二手牌数据时:当小红打出一张手牌时,将小红打出的该手牌作为输入,调取统计模型统计出的概率分布,确定小红当前持有手牌的概率分布。并结合在当前对局状态下的其他玩家的第二手牌数据的所在范围进行约束,估测小红当前所持有的手牌,获取小红的第二手牌数据。
该实施例的优点在于,基于预先训练的统计模型统计出的概率分布,对其他玩家的手牌进行估测,提高了AI的估测准确率。
需要说明的是,该实施例只是示例性的说明,不应对本公开的功能和使用范围造成限制。
需要说明的是,无论估牌策略是基于何种机制生成,获取其他玩家的第二手牌数据的过程均受到对局规则的约束——获取出的第二手牌数据不能与对局规则相冲突。例如:在麻将对局中,相同的牌均有且只有4张。从而在麻将对局中,AI基于估牌策略在进行估牌时,会受到“相同的牌均有且只有4张”这一规则的约束。
在步骤130中,基于决策预测先验信息、该第一手牌数据与该第二手牌数据,获取该目标玩家的各第一候选决策的可能对局结果,该第一候选决策为该目标玩家在当前对局状态下可执行的候选决策。
本公开实施例的主要目的在于——由AI控制目标玩家尽量执行优选的决策。为此,AI需要预测目标玩家在当前对局状态下可执行的候选决策(即,第一候选决策)会带来怎样的对局结果。而对局结果除了会受到目标玩家的决策的影响外,还会受到其他玩家的决策的影响;而其他玩家的决策则是建立在对应的第二手牌数据之上的。因此,AI获取到其他玩家的第二手牌数据后,基于决策预测先验信息、第一手牌数据与第二手牌数据,搜索各第一候选决策的可能对局结果。
因此,为获取目标玩家的各第一候选决策的可能对局结果,就要先预测当前对局状态下各玩家的目标决策;当前对局状态改变,更新为更新对局状态,进而继续预测更新对局状态下各玩家的目标决策;直到对局结束(例如:其中一玩家胜出),获取到对应的对局结果。
下面对预测当前对局状态下各玩家的目标决策的过程进行详细描述。
在一实施例中,基于决策预测先验信息、该第一手牌数据与该第二手牌数据,获取该目标玩家的各第一候选决策的可能对局结果,包括:
基于该第一手牌数据,从各第一候选决策中选中一第一候选决策,作为获取对应的可能对局结果的第一目标决策;
基于该决策预测先验信息与该第二手牌数据,预测其他玩家在当前对局状态执行的第二目标决策;
基于预设的对局规则,从该第一目标决策与该第二目标决策中确定出最高优先级的目标决策;
确定该最高优先级的目标决策被实现后的更新对局状态,若该更新对局状态满足预设的对局继续状态,则继续获取该第一目标决策的可能对局结果。
第一目标决策是指假设目标玩家所执行的决策,第一目标决策从各第一候选决策中选出。例如:麻将对局中,小明的各第一候选决策分别有——“打1万”、“打5万”、“碰2条”。AI欲预测小明打1万会带来怎样的对局结果,则AI将“打1万”确定为第一目标决策,搜索“打1万”的可能对局结果。相应的,第二目标决策是指假设其他玩家所执行的决策。
可以理解的,在非完美信息博弈对局中,玩家之间的行动顺序可能并不固定。同一对局状态,由哪一个玩家来执行决策,取决于谁的决策的优先级最高。例如:麻将对局中,小红打出了“二条”。此时该对局状态下,如果小刚选择“吃二条”,小明选择“碰二条”,小天选择“胡牌”。按照麻将的规则,“胡牌”的优先级比“碰”的优先级高,“碰”的优先级比“吃”的优先级高,因此,应由小天“胡牌”。
该实施例中,在当前对局状态下进行搜索时,AI从各第一候选决策中选中一个作为第一目标决策;基于决策预测先验信息与第二手牌数据,预测其他玩家在当前对局状态执行的第二目标决策;基于预设的对局规则,从该第一目标决策与第二目标决策中确定出最高优先级的目标决策;确定该最高优先级的目标决策被执行后的更新对局状态,如果该更新对局状态满足预设的搜索继续状态(例如:麻将对局中,牌桌上仍旧有牌且没有任何一个玩家胡牌),则继续搜索。
下面对预测当前对局状态下各玩家的目标决策的过程中,选中第一目标决策的具体实施过程进行描述。
在一实施例中,基于该第一手牌数据,从各第一候选决策中选中一第一候选决策,作为获取对应的可能对局结果的第一目标决策,包括:
基于该第一手牌数据,确定该各第一候选决策;
随机从该各第一候选决策中选中一用于进行该搜索的第一目标决策。
该实施例中,随机进行第一目标决策的选中。具体的,AI基于第一手牌数据,可以结合对局规则,确定各第一候选决策,进而随机从中选中一个第一候选决策作为第一目标决策,以搜索该第一目标决策的可能对局结果。
该实施例的优点在于,通过从各第一候选决策中随机选中第一目标决策,最大化AI在选中第一目标决策时的随机程度,增强了AI的探索能力。
需要说明的是,该实施例只是示例性的说明,不应对本公开的功能和使用范围造成限制。
在一实施例中,该决策预测先验信息包括预设的先验收益预测策略,基于该第一手牌数据,从各第一候选决策中选中一第一候选决策,作为获取对应的可能对局结果的第一目标决策,包括:
基于该第一手牌数据,确定该各第一候选决策;
基于该先验收益预测策略与该第一手牌数据,分别预测该各第一候选决策对应的先验收益值;
选中一该先验收益值不低于预设收益值阈值的该第一候选决策,作为该第一目标决策。
先验收益值反映的是不考虑后续的推演、可能发展,而预测到的收益。例如:小明当前手牌中有3张一万。小明根据自身常识,不用进行后续的推演,即可得出结论——此时“打一万”收益很可能为负,即“打一万”的先验收益值很可能为负。其中,先验收益值可以表示为P(s,a)。该实施例中,s是当前对局状态;a是一第一候选决策;P是在状态s的情况下执行a直接得到的先验收益值。
该实施例中,在选中第一目标决策之前,AI会先对用于选中第一目标决策的各第一候选决策进行筛选,将先验收益值过低的第一候选决策剔除掉。例如:小明当前手牌中有3张一万。在小明所有的候选决策中,存在“打一万”这一候选决策。但显然,小明根据自身常识,不用进行后续的推演,即可得出结论——此时“打一万”收益很可能为负。因此,小明将“打一万”这一候选决策剔除掉,从其他候选决策中选中目标决策。
具体的,决策预测先验信息中包括先验收益预测策略,进而AI可以根据先验收益预测策略与第一手牌数据,不进行后续的推演,分别预测各第一候选决策对应的先验收益值;进而选中一先验收益值不低于预设收益值阈值的第一候选决策,作为第一目标决策。其中,先验收益预测策略可预先基于监督学习的神经网络训练得到。
该实施例的优点在于,预先将先验收益值过低的第一候选决策筛选掉,避免了AI在不太可能带来有利对局结果的第一候选决策上做无用功,提高了AI的工作效率。
需要说明的是,该实施例只是示例性的说明,不应对本公开的功能和使用范围造成限制。
下面对预测当前对局状态下各玩家的目标决策的过程中,预测其他玩家的第二目标决策的具体实施过程进行描述。
在一实施例中,该决策预测先验信息包括预设的先验收益预测策略,基于该决策预测先验信息与该第二手牌数据,预测其他玩家在当前对局状态执行的第二目标决策,包括:
基于该第二手牌数据,确定其他玩家在当前对局状态可执行的各第二候选决策;
基于该先验收益预测策略与该第二手牌数据,分别预测该各第二候选决策对应的先验收益值;
基于该先验收益值,预测其他玩家在当前对局状态执行的第二目标决策。
该实施例中,AI根据先验收益值进行第二目标决策的预测。
具体的,在预测其他玩家的第二目标决策时,针对单一其他玩家,AI基于该其他玩家的第二手牌数据,确定其在当前对局状态可执行的各第二候选决策;进而基于先验收益预测策略与该第二手牌数据,分别预测各第二候选决策对应的先验收益值;进而基于先验收益值,预测该其他玩家在当前对局状态执行的第二目标决策。其中,先验收益值可以表示为P(s,a)。该实施例中,s是当前对局状态;a是一第二候选决策;P是在状态s的情况下执行a直接得到的先验收益值。
在一实施例中,基于该先验收益值,预测其他玩家在当前对局状态执行的第二目标决策,包括:将最大的该先验收益值对应的第二候选决策,确定为其他玩家在当前对局状态执行的第二目标决策。
该实施例中,AI仅根据先验收益值进行第二目标决策的预测。
具体的,针对单一其他玩家,AI预测到该其他玩家每一第二候选决策对应的先验收益值后,AI将最大先验收益值的第二候选决策确定为该其他玩家的第二目标决策。
该实施例的优点在于,AI假设其他玩家是理性的,从而将最大先验收益值的第二候选决策确定为该其他玩家的第二目标决策,使得预测得到的第二目标决策具备一定的参考价值。
需要说明的是,该实施例只是示例性的说明,不应对本公开的功能和使用范围造成限制。
在一实施例中,该决策预测先验信息包括预设的先验收益预测策略、预设的推演收益预测策略,在基于该先验收益值,预测其他玩家在当前对局状态执行的第二目标决策之前,该方法还包括:基于该推演收益预测策略与该第二手牌数据,分别预测该各第二候选决策对应的推演收益值;
基于该先验收益值,预测其他玩家在当前对局状态执行的第二决策,包括:
基于对该先验收益值与该推演收益值预设的权重,分别获取该各候选决策对应的综合收益值;
将最大该综合收益值对应的第二候选决策确定为其他玩家在当前对局状态执行的第二目标决策。
推演收益值是指对一第二候选决策的后续发展进行一定条件(例如:一定步数)的推演后,根据推演得到的结果衡量该第二候选决策所带来的收益的值。推演收益值可以表示为Q(s,a)。其中,该实施例中,s是当前对局状态;a是一第二候选决策;Q是在状态s的情况下执行a一定条件后,将得到的结果反馈后衡量得到的收益值,即,推演收益值。
该实施例中,AI将先验收益值与推演收益值相结合,进行第二目标决策的预测。
具体的,预先对推演收益值与先验收益值分配预设的权重,以平衡二者。针对单一其他玩家,AI除了根据先验收益预测策略预测该其他玩家的各第二候选决策的先验收益值,还会根据推演收益预测策略预测该其他玩家的各第二候选决策的推演收益值。进而根据预设的权重,计算先验收益值与推演收益值的权重和,得到综合收益值;进而将最大综合收益值对应的第二候选决策确定为第二目标决策。
其中,该综合收益值可以表示为R(s,a)=Q(s,a)+cP(s,a)。该实施例中,s是当前对局状态;a是一第二候选决策;Q是在状态s的情况下执行a一定条件后得到的推演收益值;P是在状态s的情况下执行a的先验收益值;c是预设的权重;R是在状态s的情况下执行a的综合收益值。
该实施例的优点在于,AI不仅假设其他玩家是理性的,还假设其他玩家具备一定高度的对局水平——具备一定程度的推演能力,从而将最大综合收益值的第二候选决策确定为该其他玩家的第二目标决策,提高了预测得到的第二目标决策所具备的参考价值。
需要说明的是,该实施例只是示例性的说明,不应对本公开的功能和使用范围造成限制。
下面对预测更新对局状态下各玩家的目标决策的过程进行描述。
在一实施例中,继续获取该第一目标决策的可能对局结果,包括:
每当继续获取该第一目标决策的可能对局结果,获取该最高优先级的目标决策被实现后各玩家的第三手牌数据;
基于该决策预测先验信息与该第三手牌数据,预测该更新对局状态下各玩家执行的第三目标决策;
基于预设的对局规则,从该各第三目标决策中确定出最高优先级的目标决策;
确定该最高优先级的目标决策被实现后的更新对局状态,若该更新对局状态满足预设的对局继续状态,则继续获取该第一目标决策的可能对局结果。
该实施例中,当前对局状态下的最高优先级的目标决策确定后,即可确定该最高优先级的目标决策被实现后,当前对局状态更新后的更新对局状态。在预测更新对局状态下各玩家的目标决策的过程中,将目标玩家与其他玩家等同视之为第三玩家;针对每一第三玩家,基于决策预测先验信息搜索对应的第三目标决策;基于预设的对局规则,从各第三目标决策中确定出最高优先级的目标决策;确定该最高优先级的目标决策被实现后的更新对局状态,如果该更新对局状态满足预设的搜索继续状态,则继续搜索。
可以理解的,“基于该决策预测先验信息与该第三手牌数据,预测该更新对局状态下各玩家执行的第三目标决策”的实施过程,与“基于该决策预测先验信息与该第二手牌数据,预测其他玩家在当前对局状态执行的第二目标决策”的实施过程同理,故有关预测更新对局状态下各玩家的目标决策的过程在此不再赘述。
通过上述说明可见,在进行可能对局结果的搜索时,根据具体需求,估牌策略、先验收益预测策略、推演收益策略之间可以自由组合。可以仅根据估牌策略与先验收益预测策略进行搜索,也可以根据估牌策略、先验收益预测策略与推演收益策略进行搜索,也可以根据其他组合形式进行搜索,在此不再赘述。
在步骤140中,基于该可能对局结果,控制该目标玩家在当前对局状态执行相应的第一候选决策。
在一实施例中,基于该可能对局结果,控制该目标玩家在当前对局状态执行相应的第一候选决策,包括:
基于预设的反向传播算法,将该可能对局结果按照该对局结果的获取过程进行反向传播,更新该对局结果所对应第一候选决策的反向传播收益值;
控制该目标玩家执行最高反向传播收益值的第一候选决策。
反向传播指的是按照一定规则,将结果沿导向该结果的路径反馈给该结果的源头的过程。这一过程中,会依次反向地更新路径中相关节点的收益值,直到更新该源头的收益值。在本公开实施例中,该源头即为对应第一候选决策;经过反向传播得到的该源头的收益值,即为对应第一候选决策的反向传播收益值。
具体的,本公开实施例中,反向传播算法可建立在博弈树的基础上(可参照图5示出的博弈树)。将获取到可能对局结果的过程中,各玩家所作出的每一目标决策(方形节点、圆形节点)作为博弈树中的一节点,博弈树的一叶节点即为一对局结果。每当获取到一对局结果后,进行反向传播——从该对局结果对应的叶节点开始,沿着得到该对局结果的路径反向遍历该路径上的每一节点,直到反向遍历到根节点(当前对局状态下目标玩家)。博弈树中的每一子节点每被反向遍历一次,对应的反向传播收益值加1。
该实施例中,搜索到符合条件(例如:预定数目个)的可能对局结果后,针对每一可能对局结果,AI基于预设的反向传播算法,按照该可能对局结果对应的搜索过程,将该可能对局结果进行反向传播,更新该对局结果所对应第一候选决策的反向传播收益值;进而控制目标玩家执行最高反向传播收益值的第一候选决策。
该实施例的优点在于,当训练得到的AI足够成熟、准确时,通过控制目标玩家执行最高反向传播收益值的第一候选决策,使得对局结果尽可能有利于目标玩家。
需要说明的是,该实施例只是示例性的说明,不应对本公开的功能和使用范围造成限制。
在一实施例中,基于该可能对局结果,控制该目标玩家在当前对局状态执行相应的第一候选决策,包括:
基于预设的反向传播算法,将该对局结果按照所得到该对局结果的获取过程进行反向传播,更新该可能对局结果所对应第一候选决策的反向传播收益值;
控制该目标玩家以预设第一概率执行最高反向传播收益值的第一候选决策,以预设第二概率随机执行一第一候选决策,该第一概率与该第二概率之和为1。
该实施例中,在确定控制目标玩家在当前对局状态执行相应的第一候选决策时,引入一定程度的随机因素。具体的,对每一可能对局结果对应的第一候选决策的反向传播收益值更新完毕后,并不一定控制目标玩家在当前对局状态执行反向传播收益值最高的第一候选决策。而是以预设第一概率控制目标玩家在当前对局状态执行反向传播收益值最高的第一候选决策,以预设第二概率控制目标玩家随机执行一第一候选决策。其中,第一概率与第二概率之和为1。
该实施例中,搜索到符合条件可能对局结果后,针对每一可能对局结果,AI基于预设的反向传播算法,按照该可能对局结果对应的搜索过程,将该可能对局结果进行反向传播,更新该对局结果所对应第一候选决策的反向传播收益值。进而确定出最高反向传播收益值的第一候选决策。
AI以预设第一概率(例如:80%)控制目标玩家执行最高反向传播收益值的第一候选决策;以预设第二概率(例如:20%)控制目标玩家随机执行一第一候选决策。
该实施例的优点在于,引入一定程度的随机因素,避免过拟合现象的发生。
需要说明的是,该实施例只是示例性的说明,不应对本公开的功能和使用范围造成限制。
在一实施例中,该方法还包括:
当该对局结束时,获取该对局的真实对局数据;
基于该真实对局数据对该估牌先验信息与该决策预测先验信息进行更新。
该实施例中,AI所搜索到的可能对局结果只是一种可能,实际的对局过程中,其他玩家所执行的决策可能与AI的预测偏离较远,最终得到的对局结果可能对于目标玩家来说收益很低。这就代表AI无法足够精准地预测真实对局,主要的,AI的先验信息(估牌先验信息、决策预测先验信息)无法足够精准地预测真实对局。
因此,对局结束后,AI获取对局的真实对局数据;进而基于该真实对局数据对估牌先验信息与决策预测先验信息进行更新,以得到精准度更高的先验信息,以在非完美信息博弈对局进行更好的表现。
该实施例的优点在于,通过与真实玩家不断对局,不断获取真实对局数据,进而不断更新先验信息,不断提高在非完美信息博弈对局中的表现。进一步的,还可以设置多个相同的AI相互之间不断进行自对弈,从而进一步提高真实对局数据的质量、获取效率;还可以将“多个相同AI相互之间不断进行自对弈”与“与真实玩家不断对局”相结合,保证真实对局数据的质量、获取效率的同时,还可以避免过拟合现象的发生。
需要说明的是,该实施例只是示例性的说明,不应对本公开的功能和使用范围造成限制。
在一实施例中,设置多个相同的AI相互之间进行自对弈,每个AI控制相应的目标玩家进行决策。其中,每个AI控制相应的目标玩家进行决策,包括:
获取当前对局中目标玩家的第一手牌数据;
基于估牌先验信息与该第一手牌数据,获取其他玩家的第二手牌数据;
基于决策预测先验信息、该第一手牌数据与该第二手牌数据,获取该目标玩家的各第一候选决策的可能对局结果,该第一候选决策为该目标玩家在当前对局状态下可执行的候选决策;
基于该可能对局结果,控制该目标玩家在当前对局状态执行相应的第一候选决策。
该实施例中,设置多个相同的AI相互之间进行自对弈,每个AI控制相应的目标玩家进行决策。每个AI在控制相应的目标玩家进行决策时,均会进行:获取其他玩家的第二手牌数据、搜索可能对局结果、执行相应的第一候选决策。
例如:在麻将对局中,设置4个相同的AI——控制玩家1进行决策的AI1、控制玩家2进行决策的AI2、控制玩家3进行决策的AI3、控制玩家4进行决策的AI4。
AI1在进行决策时,会获取AI2的手牌、AI3的手牌、AI4的手牌;进而预测AI2的目标决策、AI3的目标决策、AI4的目标决策;进而搜索可能对局结果、根据可能对局结果执行相应的决策。
AI2在进行决策时,会获取AI1的手牌、AI3的手牌、AI4的手牌;进而预测AI1的目标决策、AI3的目标决策、AI4的目标决策;进而搜索可能对局结果、根据可能对局结果执行相应的决策。
AI3在进行决策时,会获取AI1的手牌、AI2的手牌、AI4的手牌;进而预测AI1的目标决策、AI2的目标决策、AI4的目标决策;进而搜索可能对局结果、根据可能对局结果执行相应的决策。
AI4在进行决策时,会获取AI1的手牌、AI2的手牌、AI3的手牌;进而预测AI1的目标决策、AI2的目标决策、AI3的目标决策;进而搜索可能对局结果、根据可能对局结果执行相应的决策。
每个AI在进行各自的获取、搜索后,都会执行相应的决策;进而能够根据对局规则确定出其中最高优先级的决策,对局继续。每个AI不断进行上述动作,直到对局终止。
每当一次自对弈结束,可以获取该对局的真实对局数据,进而更新每一AI的先验信息(估牌先验信息、决策预测先验信息)。
该实施例的优点在于,通过设置多个相同的AI相互之间进行自对弈,再根据自对弈产生的真实对局数据更新先验信息,从而使得AI在自对弈的过程中能够不断提升其能力。同时,随着能力的不断提升,AI自对弈所产生的真实对局数据的质量也会越来越高,从而能够将AI自对弈作为其他基于监督学习的神经网络的训练数据来源,将AI自对弈产生的真实对局数据作为训练数据训练其他基于监督学习的神经网络。
可以理解的,在多个相同的AI相互之间进行自对弈的过程中,每个AI执行决策的过程可参照上述说明中的数据处理方法的过程,故在此不再赘述。
本公开实施例中,可以基于博弈树对可能对局结果进行搜索。具体的,本公开实施例中的博弈树主要由玩家决策节点(使用方形表示)、规则决策节点(使用菱形表示)、机会决策节点(使用内部标号为c的圆形表示)组成。
图3示出了本公开一实施例中博弈树的玩家决策节点:内部标号为1的方形代表由玩家1进行决策的玩家决策节点。以该玩家决策节点为父节点的各节点,分别表示了玩家1执行相应决策后转移到的状态。例如:执行“胡”这一决策,进入内部无编号的圆形的对局结束节点,该对局结束节点表示对局结束;执行打出“一万”这一决策,进入由对局规则进行决策的菱形的规则决策节点;执行“杠”这一决策,进入由玩家1继续进行决策的方形的玩家1决策节点。
图4示出了本公开一实施例中博弈树的规则决策节点、机会决策节点:玩家1的玩家决策节点执行打出“一万”这一决策后,对局进入菱形的规则决策节点。进而根据对局规则进行判定——玩家2的玩家决策节点可以执行“胡”、“吃”、“碰”、“摸牌”;玩家3的玩家决策节点可以执行“胡”、“杠”、“碰”、“摸牌”;玩家4的玩家决策节点可以执行“胡”、“杠”、“碰”、“摸牌”。若玩家2的玩家决策节点确定的目标决策为“摸牌”,玩家3的玩家决策节点确定的目标决策为“碰”,玩家4的玩家决策节点确定的目标决策为“过”,则对局进入途中箭头所指的玩家3的玩家决策节点。
图5示出了一实施例中,针对麻将对局场景基于博弈树对可能对局结果进行搜索的示意图。该实施例中,建立以玩家1的玩家决策节点为根节点的博弈树,从根节点开始不断向下搜索博弈树。每次搜索,主要包含猜牌、决策预测、扩展、回传这四个阶段。
猜牌阶段——从玩家1的角度出发,猜测玩家2、玩家3、玩家4的手牌。
决策预测阶段——在节点预测对应玩家执行的目标决策。具体的,可以基于先验信息中的先验收益预测策略以及推演收益预测策略,预测对应玩家执行的目标决策。
扩展阶段——根据选择的目标决策,结合对局规则,确定更新对局状态,进而确定各节点对应的玩家的候选决策、目标决策,实现博弈树的拓展,直到该次对局结束(对局流局或者其中一个玩家胡牌)。
回传阶段——根据搜索到的对局结果,对搜索的过程进行反向传播,更新玩家1的玩家决策节点的收益值(该收益值可以以被搜索的次数为基准进行衡量)。
预定次数的搜索结束后,可以将根节点下收益值最大的(可以为被搜索的次数最多的)决策作为目标决策,执行该目标决策。
根据本公开一实施例,如图6所示,还提供了一种数据处理装置,该装置包括:
第一获取模块210,配置为获取当前对局中目标玩家的第一手牌数据;
第二获取模块220,配置为基于估牌先验信息与所述第一手牌数据,获取其他玩家的第二手牌数据;
第三获取模块230,配置为基于决策预测先验信息、所述第一手牌数据与所述第二手牌数据,获取所述目标玩家的各第一候选决策的可能对局结果,所述第一候选决策为所述目标玩家在当前对局状态下可执行的候选决策;
控制模块240,配置为基于所述可能对局结果,控制所述目标玩家在当前对局状态执行相应的第一候选决策。
在本公开的一示例性实施例中,所述估牌先验信息包括在当前对局状态下的已公开手牌数据、预设的估牌策略,第二获取模块220配置为:
基于所述已公开手牌数据与所述第一手牌数据,确定在当前对局状态下的未公开手牌数据;
基于所述估牌策略、所述未公开手牌数据与所述第一手牌数据,获取其他玩家的第二手牌数据。
在本公开的一示例性实施例中,第三获取模块230配置为:
基于所述第一手牌数据,从所述各第一候选决策中选中一所述第一候选决策,作为获取对应的可能对局结果的第一目标决策;
基于所述决策预测先验信息与所述第二手牌数据,预测其他玩家在当前对局状态执行的第二目标决策;
基于预设的对局规则,从所述第一目标决策与所述第二目标决策中确定出最高优先级的目标决策;
确定所述最高优先级的目标决策被实现后的更新对局状态,若所述更新对局状态满足预设的对局继续状态,则继续获取所述第一目标决策的可能对局结果。
在本公开的一示例性实施例中,第三获取模块230配置为:
基于所述第一手牌数据,确定所述各第一候选决策;
随机从所述各第一候选决策中选中一用于进行所述搜索的第一目标决策。
在本公开的一示例性实施例中,第三获取模块230配置为:
基于所述第一手牌数据,确定所述各第一候选决策;
基于所述先验收益预测策略与所述第一手牌数据,分别预测所述各第一候选决策对应的先验收益值;
选中一所述先验收益值不低于预设收益值阈值的所述第一候选决策,作为所述第一目标决策。
在本公开的一示例性实施例中,所述决策预测先验信息包括预设的先验收益预测策略,第三获取模块230配置为:
基于所述第二手牌数据,确定其他玩家在当前对局状态可执行的各第二候选决策;
基于所述先验收益预测策略与所述第二手牌数据,分别预测所述各第二候选决策对应的先验收益值;
基于所述先验收益值,预测其他玩家在当前对局状态执行的第二目标决策。
在本公开的一示例性实施例中,第三获取模块230配置为:
将最大的所述先验收益值对应的第二候选决策,确定为其他玩家在当前对局状态执行的第二目标决策。
在本公开的一示例性实施例中,所述决策预测先验信息包括预设的先验收益预测策略、预设的推演收益预测策略,第三获取模块230配置为:
基于所述推演收益预测策略与所述第二手牌数据,分别预测所述各第二候选决策对应的推演收益值;
基于对所述先验收益值与所述推演收益值预设的权重,分别获取所述各候选决策对应的综合收益值;
将最大所述综合收益值对应的第二候选决策确定为其他玩家在当前对局状态执行的第二目标决策。
在本公开的一示例性实施例中,第三获取模块230配置为:
每当继续获取所述第一目标决策的可能对局结果,获取所述最高优先级的目标决策被实现后各玩家的第三手牌数据;
基于所述决策预测先验信息与所述第三手牌数据,预测所述更新对局状态下各玩家执行的第三目标决策;
基于预设的对局规则,从所述各第三目标决策中确定出最高优先级的目标决策;
确定所述最高优先级的目标决策被执行后的更新对局状态,若所述更新对局状态满足预设的对局继续状态,则继续获取所述第一目标决策的可能对局结果。
在本公开的一示例性实施例中,控制模块240配置为:
基于预设的反向传播算法,将所述可能对局结果按照所述可能对局结果的获取过程进行反向传播,更新所述对局结果所对应第一候选决策的反向传播收益值;
控制所述目标玩家执行最高所述反向传播收益值的第一候选决策。
在本公开的一示例性实施例中,控制模块240配置为:
基于预设的反向传播算法,将所述可能对局结果按照所述可能对局结果的获取过程进行反向传播,更新所述可能对局结果所对应候选决策的反向传播收益值;
控制所述目标玩家以预设第一概率执行最高所述反向传播收益值的第一候选决策,以预设第二概率随机执行一第一候选决策,所述第一概率与所述第二概率之和为1。
在本公开的一示例性实施例中,所述装置配置为:
当所述当前对局结束时,获取所述对局的真实对局数据;
基于所述真实对局数据对所述估牌先验信息与所述决策预测先验信息进行更新。
下面参考图7来描述根据本公开实施例的数据处理电子设备30。图7显示的归类终端13仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,数据处理电子设备30以通用计算设备的形式表现。数据处理电子设备30的组件可以包括但不限于:上述至少一个处理单元310、上述至少一个存储单元320、连接不同系统组件(包括存储单元320和处理单元310)的总线330。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元310执行,使得所述处理单元310执行本说明书上述示例性方法的描述部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元310可以执行如图2中所示的各个步骤。
存储单元320可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)3201和/或高速缓存存储单元3202,还可以进一步包括只读存储单元(ROM)3203。
存储单元320还可以包括具有一组(至少一个)程序模块3205的程序/实用工具3204,这样的程序模块3205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线330可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
数据处理电子设备30也可以与一个或多个外部设备400(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该数据处理电子设备30交互的设备通信,和/或与使得该数据处理电子设备30能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口350进行。输入/输出(I/O)接口350与显示单元340相连。并且,数据处理电子设备30还可以通过网络适配器360与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器360通过总线330与数据处理电子设备30的其它模块通信。应当明白,尽管图中未示出,可以结合数据处理电子设备30使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行上述方法实施例部分描述的方法。
根据本公开的一个实施例,还提供了一种用于实现上述方法实施例中的方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RGM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如JAVA、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(KGN)或广域网(WGN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。

Claims (11)

1.一种数据处理方法,其特征在于,设置多个相同的人工智能体分别按照所述方法相互之间进行自对弈,所述方法包括:
基于先验信息,对以目标玩家的玩家决策节点为根节点的博弈树进行搜索,预设次数的搜索结束后,控制所述目标玩家在当前对局状态以预设第一概率执行收益值最高的第一候选决策,以预设第二概率随机执行一第一候选决策,所述第一概率与所述第二概率之和为1,其中,所述先验信息包括估牌先验信息与决策预测先验信息;
当所述当前对局结束时,获取所述当前对局的真实对局数据;
基于所述真实对局数据对所述先验信息进行更新;
其中,所述估牌先验信息包括在当前对局状态下的已公开手牌数据,基于先验信息,对以目标玩家的玩家决策节点为根节点的博弈树进行搜索,包括:
获取当前对局中目标玩家的第一手牌数据;
基于所述已公开手牌数据与所述第一手牌数据,确定在当前对局状态下的未公开手牌数据;
将其他玩家当前所打出的手牌作为输入,调取统计模型的概率分布,确定所述其他玩家当前持有手牌的概率分布,其中,预先基于监督学习的方法,使用已有的真实对局数据训练得到所述统计模型,所述统计模型的概率分布用于描述玩家在打出手牌的情况下,当前所持有手牌的概率分布;
结合所述未公开手牌数据与所述第一手牌数据对所述其他玩家当前持有手牌的概率分布进行约束,获取其他玩家的第二手牌数据;
基于决策预测先验信息、所述第一手牌数据与所述第二手牌数据,沿所述博弈树搜索所述目标玩家的各第一候选决策的可能对局结果;
对所述可能对局结果的搜索路径进行反向传播,更新搜索路径中各节点的收益值。
2.根据权利要求1所述的方法,其特征在于,基于决策预测先验信息、所述第一手牌数据与所述第二手牌数据,沿所述博弈树搜索所述目标玩家的各第一候选决策的可能对局结果,包括:
基于所述第一手牌数据,从所述各第一候选决策中选中一所述第一候选决策,作为获取对应的可能对局结果的第一目标决策;
基于所述决策预测先验信息与所述第二手牌数据,预测其他玩家在当前对局状态执行的第二目标决策;
基于预设的对局规则,从所述第一目标决策与所述第二目标决策中确定出最高优先级的目标决策;
确定所述最高优先级的目标决策被实现后的更新对局状态,若所述更新对局状态满足预设的对局继续状态,则继续沿所述博弈树搜索所述第一目标决策的可能对局结果。
3.根据权利要求2所述的方法,其特征在于,基于所述第一手牌数据,从所述各第一候选决策中选中一第一候选决策,作为获取对应的可能对局结果的第一目标决策,包括:
基于所述第一手牌数据,确定所述各第一候选决策;
从所述各第一候选决策中随机选中一所述第一候选决策,作为所述第一目标决策。
4.根据权利要求2所述的方法,其特征在于,所述决策预测先验信息包括预设的先验收益预测策略,基于所述第一手牌数据,从所述各第一候选决策中选中一第一候选决策,作为获取对应的可能对局结果的第一目标决策,包括:
基于所述第一手牌数据,确定所述各第一候选决策;
基于所述先验收益预测策略与所述第一手牌数据,分别预测所述各第一候选决策对应的先验收益值;
选中一所述先验收益值不低于预设收益值阈值的所述第一候选决策,作为所述第一目标决策。
5.根据权利要求2所述的方法,其特征在于,所述决策预测先验信息包括预设的先验收益预测策略,基于所述决策预测先验信息与所述第二手牌数据,预测其他玩家在当前对局状态执行的第二目标决策,包括:
基于所述第二手牌数据,确定其他玩家在当前对局状态可执行的各第二候选决策;
基于所述先验收益预测策略与所述第二手牌数据,分别预测所述各第二候选决策对应的先验收益值;
基于所述先验收益值,预测其他玩家在当前对局状态执行的第二目标决策。
6.根据权利要求5所述的方法,其特征在于,基于所述先验收益值,预测其他玩家在当前对局状态执行的第二目标决策,包括:将最大的所述先验收益值对应的第二候选决策,确定为其他玩家在当前对局状态执行的第二目标决策。
7.根据权利要求5所述的方法,其特征在于,所述决策预测先验信息包括预设的先验收益预测策略、预设的推演收益预测策略,在基于所述先验收益值,预测其他玩家在当前对局状态执行的第二目标决策之前,所述方法还包括:基于所述推演收益预测策略与所述第二手牌数据,分别预测所述各第二候选决策对应的推演收益值;
基于所述先验收益值,预测其他玩家在当前对局状态执行的第二决策,包括:
基于对所述先验收益值与所述推演收益值预设的权重,分别获取所述各候选决策对应的综合收益值;
将最大所述综合收益值对应的第二候选决策确定为其他玩家在当前对局状态执行的第二目标决策。
8.根据权利要求2所述的方法,其特征在于,继续沿所述博弈树搜索所述第一目标决策的可能对局结果,包括:
每当继续沿所述博弈树搜索所述第一目标决策的可能对局结果,获取所述最高优先级的目标决策被实现后各玩家的第三手牌数据;
基于所述决策预测先验信息与所述第三手牌数据,预测所述更新对局状态下各玩家执行的第三目标决策;
基于预设的对局规则,从所述各第三目标决策中确定出最高优先级的目标决策;
确定所述最高优先级的目标决策被实现后的更新对局状态,若所述更新对局状态满足预设的对局继续状态,则继续沿所述博弈树搜索所述第一目标决策的可能对局结果。
9.一种数据处理装置,其特征在于,设置多个相同的人工智能体分别通过所述装置相互之间进行自对弈,所述装置包括:
博弈树决策模块,配置为基于先验信息,对以目标玩家的玩家决策节点为根节点的博弈树进行搜索,预设次数的搜索结束后,控制所述目标玩家在当前对局状态以预设第一概率执行收益值最高的第一候选决策,以预设第二概率随机执行一第一候选决策,所述第一概率与所述第二概率之和为1,其中,所述先验信息包括估牌先验信息与决策预测先验信息;
真实对局数据获取模块,配置为当所述当前对局结束时,获取所述当前对局的真实对局数据;
先验信息更新模块,配置为基于所述真实对局数据对所述先验信息进行更新;
其中,所述估牌先验信息包括在当前对局状态下的已公开手牌数据,所述博弈树决策模块包括:
第一获取模块,配置为获取当前对局中目标玩家的第一手牌数据;
未公开手牌获取模块,配置为基于所述已公开手牌数据与所述第一手牌数据,确定在当前对局状态下的未公开手牌数据;
概率分布确定模块,配置为将其他玩家当前所打出的手牌作为输入,调取统计模型的概率分布,确定所述其他玩家当前持有手牌的概率分布,其中,预先基于监督学习的方法,使用已有的真实对局数据训练得到所述统计模型,所述统计模型的概率分布用于描述玩家在打出手牌的情况下,当前所持有手牌的概率分布;
第二手牌获取模块,配置为结合所述未公开手牌数据与所述第一手牌数据对所述其他玩家当前持有手牌的概率分布进行约束,获取其他玩家的第二手牌数据;
对局结果搜索模块,配置为基于决策预测先验信息、所述第一手牌数据与所述第二手牌数据,沿所述博弈树搜索所述目标玩家的各第一候选决策的可能对局结果;
反向传播模块,配置为对所述可能对局结果的搜索路径进行反向传播,更新搜索路径中各节点的收益值。
10.一种数据处理电子设备,其特征在于,包括:
存储器,存储有计算机可读指令;
处理器,读取存储器存储的计算机可读指令,以执行权利要求1-8中的任一个所述的方法。
11.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1-8中的任一个所述的方法。
CN202010036509.7A 2020-01-14 2020-01-14 数据处理方法、装置、电子设备及存储介质 Active CN111265878B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010036509.7A CN111265878B (zh) 2020-01-14 2020-01-14 数据处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010036509.7A CN111265878B (zh) 2020-01-14 2020-01-14 数据处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111265878A CN111265878A (zh) 2020-06-12
CN111265878B true CN111265878B (zh) 2022-05-13

Family

ID=70991057

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010036509.7A Active CN111265878B (zh) 2020-01-14 2020-01-14 数据处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111265878B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112685921B (zh) * 2021-03-12 2021-06-15 中至江西智能技术有限公司 一种高效精确搜索的麻将智能决策方法、系统及设备
CN113420226A (zh) * 2021-07-20 2021-09-21 网易(杭州)网络有限公司 卡牌的推荐方法、装置、电子设备及计算机可读介质
CN113827946A (zh) * 2021-09-10 2021-12-24 网易(杭州)网络有限公司 博弈对局决策方法和装置、电子设备及存储介质
CN115115995A (zh) * 2022-08-29 2022-09-27 四川天启智能科技有限公司 一种基于自学习模型的麻将博弈决策方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109508789A (zh) * 2018-06-01 2019-03-22 北京信息科技大学 预测手牌的方法、存储介质、处理器以及设备
CN110458295A (zh) * 2019-08-19 2019-11-15 腾讯科技(深圳)有限公司 基于人工智能的棋牌关卡生成方法、训练方法及装置
CN110555529A (zh) * 2019-09-12 2019-12-10 腾讯科技(深圳)有限公司 一种数据处理的方法以及相关装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11288672B2 (en) * 2017-12-28 2022-03-29 Paypal, Inc. Machine learning engine for fraud detection following link selection
CN110585732A (zh) * 2019-09-12 2019-12-20 腾讯科技(深圳)有限公司 一种操牌信息确定方法、装置、服务器及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109508789A (zh) * 2018-06-01 2019-03-22 北京信息科技大学 预测手牌的方法、存储介质、处理器以及设备
CN110458295A (zh) * 2019-08-19 2019-11-15 腾讯科技(深圳)有限公司 基于人工智能的棋牌关卡生成方法、训练方法及装置
CN110555529A (zh) * 2019-09-12 2019-12-10 腾讯科技(深圳)有限公司 一种数据处理的方法以及相关装置

Also Published As

Publication number Publication date
CN111265878A (zh) 2020-06-12

Similar Documents

Publication Publication Date Title
CN111265878B (zh) 数据处理方法、装置、电子设备及存储介质
CN109621422B (zh) 电子棋牌决策模型训练方法及装置、策略生成方法及装置
CN109675313B (zh) 随机游戏地图的生成方法及装置、电子设备、存储介质
CN107158708A (zh) 多玩家视频游戏匹配优化
CN112016704B (zh) Ai模型训练方法、模型使用方法、计算机设备及存储介质
CN105637540A (zh) 用于强化学习的方法和设备
Perick et al. Comparison of different selection strategies in monte-carlo tree search for the game of tron
Zhang et al. Improving hearthstone AI by learning high-level rollout policies and bucketing chance node events
CN111569429B (zh) 模型训练方法、模型使用方法、计算机设备及存储介质
CN101313322A (zh) 队伍匹配
CN115577874A (zh) 一种应用于兵棋推演的策略模型训练方法、装置及设备
CN113343089A (zh) 用户召回方法及装置、设备
CN112685921B (zh) 一种高效精确搜索的麻将智能决策方法、系统及设备
CN110569900A (zh) 游戏ai决策方法及装置
CN112274935A (zh) Ai模型训练方法、使用方法、计算机设备及存储介质
US11494691B2 (en) Systems and methods for accelerating model training in machine learning
Ouessai et al. Online Adversarial Planning in μRTS: A Survey
CN115659054A (zh) 基于强化学习的游戏关卡推荐方法和装置
CN114146401A (zh) 一种麻将智能决策方法、装置、存储介质及设备
CN113946604A (zh) 分阶段围棋教学方法、装置、电子设备及存储介质
CN114307124A (zh) 基于摸牌模式下的智能决策方法、系统及计算机设备
CN113988199A (zh) Ai下棋模型的分级处理方法、装置及相关设备
CN112765242A (zh) 基于游戏树搜索算法的决策模型数据处理方法及系统
Mandai et al. Alternative multitask training for evaluation functions in game of Go
Zhao et al. Building a 3-player Mahjong AI using deep reinforcement learning

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