CN110826717A - 基于人工智能的博弈业务执行方法、装置、设备及介质 - Google Patents
基于人工智能的博弈业务执行方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN110826717A CN110826717A CN201911101292.7A CN201911101292A CN110826717A CN 110826717 A CN110826717 A CN 110826717A CN 201911101292 A CN201911101292 A CN 201911101292A CN 110826717 A CN110826717 A CN 110826717A
- Authority
- CN
- China
- Prior art keywords
- node
- game
- participant
- nodes
- action
- 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.)
- Pending
Links
- 238000013473 artificial intelligence Methods 0.000 title claims abstract description 91
- 238000000034 method Methods 0.000 title claims abstract description 82
- 230000009471 action Effects 0.000 claims abstract description 284
- 230000003068 static effect Effects 0.000 claims abstract description 108
- 230000008901 benefit Effects 0.000 claims description 18
- 238000004088 simulation Methods 0.000 claims description 15
- 239000004744 fabric Substances 0.000 claims description 9
- 239000004575 stone Substances 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 230000001902 propagating effect Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000000875 corresponding effect Effects 0.000 description 208
- 238000004422 calculation algorithm Methods 0.000 description 28
- 230000000644 propagated effect Effects 0.000 description 26
- 230000008569 process Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000001788 irregular Effects 0.000 description 3
- 230000008093 supporting effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000003042 antagnostic effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 230000002860 competitive effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 244000025254 Cannabis sativa Species 0.000 description 1
- 235000012766 Cannabis sativa ssp. sativa var. sativa Nutrition 0.000 description 1
- 235000012765 Cannabis sativa ssp. sativa var. spontanea Nutrition 0.000 description 1
- 206010017472 Fumbling Diseases 0.000 description 1
- 241000287127 Passeridae Species 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000000740 bleeding effect Effects 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 235000009120 camo Nutrition 0.000 description 1
- 235000005607 chanvre indien Nutrition 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000011487 hemp Substances 0.000 description 1
- 230000001976 improved effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 239000009891 weiqi Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种基于人工智能的博弈业务执行方法、装置、设备及介质,属于人工智能领域。该方法包括:在博弈业务中包含静态博弈的第i轮博弈中,构建与第i轮博弈对应的蒙特卡洛树,蒙特卡洛树包括:与静态博弈对应的起始节点、至少两个参与者节点、至少两个逻辑分发节点和至少两个逻辑门节点,模拟所述蒙特卡洛树中每条路径上的博弈结果;将每条路径对应的博弈结果的收益反向传播至所述AI参与者在蒙特卡洛树中层级最高的AI参与者节点;选择层级最高的AI参与者节点在具有最大收益的路径上的执行动作,输出为AI参与者在第i轮博弈中的AI执行动作。通过上述方法使得信息在蒙特卡洛树中可单向向上或单向向下传递。
Description
技术领域
本申请涉及人工智能领域,特别涉及一种基于人工智能的博弈业务执行方法、装置、设备及介质。
背景技术
人工智能(Artificial Intelligence)是利用数字计算机或数字计算机控制的机器模拟、延伸和扩展人的智能。人工智能可以用于解决在博弈时产生的问题。博弈是指具有竞争或对抗性质的行为,参与博弈的各方在遵守规则的前提下选择行动方案,以保证自己的利益最大化。
博弈包括动态博弈和静态博弈。动态博弈是指参与博弈的各方的行动具有先后顺序,且后行动者可以观察到先行动者所选择的行动;静态博弈是指参与博弈的各方同时选择或非同时选择行动,但后行动者不知道先行动者所选择的行动。相关技术中,基于蒙特卡洛树搜索(Monte Carlo Tree Search,MCTS)算法可解决关于动态博弈的问题。如基于MCTS算法构建的阿尔法围棋(AlphaGo)与人类职业围棋选手进行围棋比赛,AlphaGo是通过搜索当前棋局所适用的最优解法来确定落子位置。MCTS算法选择每一手中的最优解法作为一个子节点,在下棋过程中,将扩展一个或多个下层的子节点,每个节点对应不同的落子位置,从任意一个节点开始模拟,并输出对每个路径进行模拟的最终结果,通过反向传播将模拟的最终结果输出至根节点,通过比较多种情况下的最终结果,得到最优结果对应的落子位置,从而使得AlphaGo决定每一步如何落子。由于动态博弈的特点,AlphaGo可基于对手的落子位置不断扩展子节点,通过多次迭代上述过程,使得AlphaGo的获胜率逐渐提高。
但相关技术中的MCTS算法无法解决关于静态博弈的问题,以麻将为例,在静态博弈中,参与各方所获得的信息并不完整,一个参与者只能获得自己持有的牌的信息,无法获得另外三个参与者所持有的牌以及剩余的牌的信息,且“吃”、“碰”和“杠”牌的规则会随机打乱参与者的出牌和摸排顺序,这使得MCTS算法构建的蒙特卡洛树是不规则的,而是随着局面动态变化的,使得MCTS算法无法正常进行搜索。
发明内容
本申请实施例提供了一种基于人工智能的博弈业务执行方法、装置、设备及介质,可以解决相关技术中在包含静态博弈的博弈业务中,MCTS算法无法正常进行搜索的问题。所述技术方案如下:
根据本申请的一个方面,提供了一种基于人工智能的博弈业务执行方法,所述博弈业务是n个参与者按照博弈规则进行博弈的计算机业务,n≥2,且n为整数,所述n个参与者中包括人工智能AI参与者,所述方法包括:
在所述博弈业务中包含静态博弈的第i轮博弈中,构建与所述第i轮博弈对应的蒙特卡洛树,所述蒙特卡洛树中包括:与所述静态博弈对应的起始节点、至少两个参与者节点、至少两个逻辑分发节点和至少两个逻辑门节点,所述逻辑分发节点用于将所述至少两个参与者节点在所述静态博弈中对应的候选执行动作按照排列组合转发至不同的所述逻辑门节点中,每个所述逻辑门节点用于按照所述博弈规则向下层节点输出同一排列组合中的至少两个候选执行动作中具有最高优先级的目标候选执行动作,i为正整数;
模拟所述蒙特卡洛树中每条路径上的博弈结果;
将所述每条路径对应的博弈结果的收益反向传播至所述AI参与者在所述蒙特卡洛树中层级最高的AI参与者节点;
选择所述层级最高的AI参与者节点在具有最大收益的路径上的执行动作,输出为所述AI参与者在所述第i轮博弈中的AI执行动作。
根据本申请的另一方面,提供了一种基于人工智能的博弈业务执行装置,所述博弈业务是n个参与者按照博弈规则进行博弈的计算机业务,n≥2,且n为整数,所述n个参与者中包括人工智能AI参与者,所述装置包括:
构建模块,用于在所述博弈业务中包含静态博弈的第i轮博弈中,构建与所述第i轮博弈对应的蒙特卡洛树,所述蒙特卡洛树中包括:与所述静态博弈对应的起始节点、至少两个参与者节点、至少两个逻辑分发节点和至少两个逻辑门节点,所述逻辑分发节点用于将所述至少两个参与者节点在所述静态博弈中对应的候选执行动作按照排列组合转发至不同的所述逻辑门节点中,每个所述逻辑门节点用于按照所述博弈规则向下层节点输出同一排列组合中的至少两个候选执行动作中具有最高优先级的目标候选执行动作,i为正整数;
模拟模块,用于模拟所述蒙特卡洛树中每条路径上的博弈结果;
发送模块,用于将所述每条路径对应的博弈结果的收益反向传播至所述AI参与者在所述蒙特卡洛树中层级最高的AI参与者节点;
选择模块,用于选择所述层级最高的AI参与者节点在具有最大收益的路径上的执行动作,输出为所述AI参与者在所述第i轮博弈中的AI执行动作。
根据本申请的另一方面,提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的基于人工智能的博弈业务执行方法。
根据本申请的另一方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行如上方面所述的基于人工智能的博弈业务执行方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
在博弈业务中包含静态博弈的第i轮博弈中,通过在构建的第i轮博弈对应的蒙特卡洛树中设置与静态博弈对应的起始节点、至少两个逻辑分发节点和至少两个逻辑门节点,使得静态博弈过程中,参与者的执行动作可以单向向下层节点扩展,博弈结果的收益可以单向向上层节点进行反向传播,使得信息不存在双向流动,使得MCTS算法可以应用于包含静态博弈的博弈业务中。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的MCTS算法的运行过程的示意图;
图2是本申请一个示例性实施例提供的相关技术中应用于博弈业务的算法的示意图;
图3是本申请一个示例性实施例提供的基于人工智能的博弈业务的蒙特卡洛树的结构示意图;
图4是本申请一个示例性实施例提供的实施环境的框图;
图5是本申请一个示例性实施例提供的基于人工智能的博弈业务执行方法的流程图;
图6是本申请一个示例性实施例提供的基于人工智能的博弈业务中构建蒙特卡洛树的方法的流程图;
图7是本申请另一个示例性实施例提供的基于人工智能的博弈业务的蒙特卡洛树的结构示意图;
图8是本申请一个示例性实施例提供的基于人工智能的博弈业务中博弈结果的收益反向传播的方法的流程图;
图9是本申请一个示例性实施例提供的基于人工智能的麻将业务的蒙特卡洛树的结构示意图;
图10是本申请一个示例性实施例提供的基于人工智能的猜拳业务的蒙特卡洛树的结构示意图;
图11是本申请一个示例性实施例提供的基于人工智能的麻将业务执行界面的示意图;
图12是本申请一个示例性实施例提供的基于人工智能的博弈业务执行装置的框图;
图13是本申请一个示例性实施例提供的计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请实施例中涉及的名词进行介绍:
博弈论:是指至少两个用户之间具有竞争或对抗性质的行为,参与方各自具有不同的目标或利益。为了达到各自的目的和利益,各方必须考虑对手的各种可能的行动方案,并选取对自己最为有利的方案。如,下棋、打牌均属于博弈行为。
动态博弈:也被命名为贯序博弈,是指参与博弈的各方的行动有先后顺序,且后行动者可以观察到先行动者所选择的行动,并根据先行动者的行动选择相应的行动。比如,用户A和用户B下围棋,用户A是先行动者,用户B是后行动者,用户A和用户B轮流落子,用户B是基于用户A落子的位置来决定己方的落子位置。
静态博弈:是指参与博弈的各方同时选择或非同时选择行动,在非同时选择行动时,后行动者并不清楚先行动者采取的具体行动。比如,用户A和用户B进行猜拳游戏(石头剪刀布),用户A和用户B同时出拳,在出拳之前,用户A和用户B无法知道对方出拳的具体情况(即用户A无法知道对方出石头、剪刀或布)。
完全信息博弈:是指在博弈的过程中,每一位参与者掌握其他参与者的特征、策略空间及收益函数等方面的准确信息。
不完全信息博弈:是指在博弈的过程中,参与者掌握得其他参与者的特征、策略空间及收益函数等方面的信息不够准确,或者,参与者无法掌握所有其他参与者的特征、策略空间及收益函数等方面的信息。以博弈业务为麻将进行说明,在参与麻将的四个参与者中,每个参与者明确知道自己所拥有的牌面信息,但无法掌握除自己以外其他玩家的牌面信息,也无法掌握剩余牌的牌面信息。
博弈业务:是指至少两个参与者在同一事件中通过在该事件中掌握的信息来选择行为或选择策略,按照事件所规定的顺序做出决策,参与者在决策选择后各自获得对应的收益,当参与者中出现获胜者时,该事件结束。比如,博弈业务是下棋、打扑克、打麻将或桥牌、猜拳等博弈游戏,也可以是拍卖等。
本申请实施例中的逻辑门节点用于比较多个决策动作,并选择符合博弈业务规则且优先级最高的决策,当执行信息对应的胜负结果通过反向传播算法返回至根节点时,逻辑门节点保证信息可以单向流动至相关节点中。
本申请实施例中的逻辑分发节点用于将至少两个参与者节点在静态博弈中对应的候选执行动作按照排列组合转发至不同的逻辑门节点中,逻辑分发节点用于传递参与者的执行动作和执行动作对应的博弈结果的收益。
本申请实施例中的动作分发节点是指当参与者的一个执行动作触发静态博弈时,动作分发节点用于将静态博弈中对应的执行动作转发至其余参与者对应的参与者节点中;当对每条路径行模拟后,需要将每条路径上执行动作对应的博弈结果的收益反向传播至根节点,动作分发节点可记录下每条路径上的执行动作和对应的博弈结果的收益。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。如,AlphaGo是一款围棋人工智能程序,应用了神经网络、深度学习、蒙特卡洛树搜索法等,使得AlpahGo可以与人类职业围棋选手进行对战。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服、博弈游戏、密封拍卖等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的方案涉及将人工智能应用于博弈业务的技术,具体通过如下实施例进行说明:
下面对蒙特卡洛树搜索(Monte Carlo Tree Search,MCTS)算法进行介绍,如图1所示。
MCTS算法是根据当前博弈的局面对蒙特卡洛树的节点进行扩展,直至博弈结束,蒙特卡洛树是从根节点开始构建的。MCTS算法包括如下四个过程:
1、选择(Selection):从蒙特卡洛树的根节点开始选择任一个子节点开始运行,直到到达该子节点所在的路径上的终止节点,在MCTS算法运行时一般选择最优的子节点开始运行,最优的子节点是指该子节点对应的执行动作使博弈结果是获胜的概率较大。
2、扩展(Expansion):由蒙特卡洛树的根节点向下扩展多个子节点,当子节点是终止节点时(终止节点是让博弈终止的节点),博弈树在该终止节点至根节点的路径停止向下扩展;当子节点不是终止节点时,该子节点所在的路径将继续向下扩展。
3、模拟(Simulation):模拟一个子节点至终止节点所形成的路径,输出该路径对应的执行动作的博弈结果,或博弈结果的收益。
4、反向传播(Backpropagation):将路径对应的执行动作的博弈结果,或博弈结果的收益反向传播给根节点,使根节点根据博弈结果更新当前动作序列。
图2示出了本申请一个示例性实施例提供的相关技术中应用计算机算法的博弈业务的示意图。
图2的(a)是将MCTS算法应用于围棋中,围棋属于动态博弈,参与方为两人。每一个节点对应参与方的落子位置,从根节点向下选择一个节点,也就是要解决当前局面向下选择一个可以落子的节点,若选择的节点存在一个没有尝试过的决策,那么该节点是需要的节点;若选择的节点存在已经尝试过的决策,那么根据选择规则选择该节点对应的一个子节点作为落子的节点,比如计算该节点对应的所有子节点的上置信区间(UpperConfidence Bound,UCB)值,从所有子节点中选择UCB值最大的一个子节点作为落子的节点;若选择的节点是叶子节点(即该节点可以使参与围棋的双方分出胜负),则从该节点直接执行反向传播的过程。在已扩展的节点上进行模拟,随机选择一个可选的位置作为模拟下一步的落子,直到模拟至棋局分出胜负,输出胜负结果,并将胜负结果反向传播至根节点,根节点根据输出的结果更新当前的动作序列。
图2的(b)是将虚拟遗憾最小化算法(Counterfactual Regret Mini,CFR)应用于德州扑克中,CFR算法是一种类似于MCTS算法的算法。示意性的,在第T局比赛结束后,策略将该局比赛的最终收益分解到之前各个决策点,得到决策点的虚拟价值,根据虚拟价值,计算该决策点未执行动作的虚拟遗憾值,对前T局中的虚拟遗憾值求和,得到累计的虚拟遗憾值,有遗憾匹配算法得到第T+1局的策略,在第T+1局中,使用该策略,该策略对应用户需要决定执行押注、跟进、加注、让牌、手牌等执行动作。
上述两种算法均用于两人或多人动态博弈游戏中,当博弈业务包含静态博弈业务时,由于参与者可能同时做出决策(如猜拳、打麻将),或参与者非同时做出决策,但后行动者无法知道先行动者的决策,使用传统的MCTS算法模拟静态博弈业务时,基于静态博弈业务构建的蒙特卡洛树是不规则的,且动态变化的,因此无法判断什么时候搜索跳到了另一个区域,因此传统的MCTS算法无法模拟静态博弈业务。
本申请实施例提供了一种基于人工智能的博弈业务的执行方法,在构建蒙特卡洛树时,设置动作分发节点、逻辑分发节点和逻辑门节点,使得当博弈业务包含静态博弈时,信息能够单向向下进行扩展,并使得博弈结果能够单向向上进行反向传播,使得信息不存在双向流动,MCTS算法可进行包含静态博弈的博弈业务。
以博弈业务是麻将业务为例进行说明。图3示出了本申请一个示例性实施例提供的包含静态博弈的博弈业务的框架示意图。
在麻将业务中包含静态博弈的第i轮博弈中(i为正整数),构建与第i轮博弈对应的蒙特卡洛树,图中的方框表示麻将业务在第i轮博弈中蒙特卡洛树的结构100。该蒙特卡洛树中包括:动作分发节点101、参与者节点1、参与者节点2、参与者节点3、参与者节点4、逻辑分发节点102和逻辑门节点103。逻辑分发节点用于将至少两个参与者节点在静态博弈中对应的候选执行动作按照排列组合转发至不同的逻辑门节点中,每个逻辑门节点用于按照博弈规则向下层节点输出同一排列组合中的至少两个候选执行动作中具有最高优先级的目标候选执行动作。
在麻将业务中,“吃牌”是指参与者可将手中的牌与被打出的牌组成具有顺序的三张牌,被打出的牌是由参与者的上一个参与者打出的,上一个参与者与进行“吃牌”的参与者在摸牌上具有先后顺序。比如,用户1、用户2、用户3、用户4分别位于北、西、东、南四个方位,以用户按照逆时针的摸牌顺序为例,用户2只能“吃”用户1打出的牌,用户3只能“吃”用户2打出的牌,比如,用户2手中有牌面信息是“二万”和“三万”的牌,则用户2可以“吃”用户1打出的牌面信息为“一万”或“四万”的牌。“碰牌”是指参与者手中的两张相同的牌,结合被打出的牌,可组成相同的三张牌,根据不同的玩法,“碰牌”的规则不同,比如,用户1打出的牌,用户2、用户3和用户4均可以“碰”。“杠牌”是指参与者手中有三张相同的牌,结合被打出的牌,可组成相同的四张牌。
带有动作的直线表征参与者确定的执行动作,不会由于优先级不够而无法执行;直线上的执行动作带有星号是表征参与者可选择的执行动作,但在执行过程中,可能由于动作优先级不够而无法执行。黑色的节点表征已存在者和牌的情况,该局麻将业务结束。
在一个示例中,参与者节点1打出牌面信息为“一万”的牌,触发静态博弈过程,参与者节点2、参与者节点3和参与者节点4根据参与者节点1打出的“一万”进行决策,参与者节点2可以选择“吃一万”,即将“一万”归为自己的牌,也可以选择“不吃一万”,另外摸一张牌,参与者节点3和参与者节点4也会选择各自的执行动作,逻辑分发节点102将参与者节点2的执行动作进行排列组合后转发至逻辑门节点103,逻辑门节点103按照博弈规则向下层节点输出同一排列组合中的至少两个候选执行动作中具有最高优先级的目标候选执行动作,如在参与者节点2选择“吃牌”对应的执行动作,参与者节点3和参与者节点4都选择“过”对应的执行动作的情况下,“吃牌”的优先级最高,则逻辑门节点103选择参与者节点2“吃牌”对应的执行动作,并将该动作传递给参与者节点2,参与者节点2根据博弈规则,在“吃牌”后,需要再打一张牌,以此类推,蒙特卡洛树不断向下扩展,直至有参与者节点和牌,游戏结束。
模拟蒙特卡洛树中每条路径上的博弈结果,将博弈结果对应的收益反向传播至AI参与者在蒙特卡洛树中层级最高的AI参与者节点。
示意性的,通过逻辑门发节点103将该执行动作和博弈结果对应的收益反向传播至与逻辑门节点103对应的逻辑分发节点102,将执行动作和博弈结果对应的收益从逻辑分发节点102反向传播至与逻辑分发节点102对应的参与者节点1、参与者节点2和参与者节点3,将执行动作和博弈结果对应的收益从三个参与者节点反向传播至动作分发节点101,由动作分发节点101记录每个参与者节点的执行动作和博弈结果对应的收益,将每个参与者节点的执行动作和博弈结果对应的收益反向传播至参与者节点1,参与者节点1根据每个参与者的执行动作和博弈结果对应的收益来决定自己的执行动作。
需要说明的是,图3中仅示出了参与者节点2、参与者节点3和参与者节点4可执行的候选执行动作的排列组合,未示出三个参与者节点存在其他不可执行的候选执行动作的排列组合。
本申请实施例提供的方法,通过在蒙特卡洛树中设置动作分发节点101、逻辑分发节点102和参与者节点103,使得在博弈业务包括静态博弈时,参与者的执行动作可同时单向传递给多个下层节点,在反向传播的过程中,博弈结果对应的收益可单向传递给对应的节点。
图4示出了本申请一个示例性实施例提供的实施环境的框图。该计算机系统100包括:第一终端120、服务器140和第二终端160。
第一终端120安装和运行有支持博弈业务的应用程序。该应用程序可以是包含多轮静态博弈业务对应的应用程序,还可以是包含多轮动态博弈和静态博弈的混合业务对应的应用程序,如麻将游戏对应的应用程序、猜拳游戏对应的应用程序和拍卖对应的应用程序中的任意一种。第一终端120是第一用户(也即人类)使用的终端,或是AI参与者对应的终端,第一终端120与本申请实施例提供的参与者节点对应。
第一终端120通过无线网络或有线网络与服务器140相连。
服务器140包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。示意性的,服务器140包括处理器144和存储器142,存储器142又包括构建模块1421、模拟模块1422、发送模块1423和选择模块1424,服务器140用于为支持博弈业务的应用程序提供后台服务。可选地,服务器140承担主要计算工作,第一终端120和第二终端160承担次要计算工作;或者,服务器140承担次要计算工作,第一终端120和第二终端160承担主要计算工作;或者,服务器140、第一终端120和第二终端160三者之间采用分布式计算架构进行协同计算。
第二终端160安装和运行有支持博弈业务的应用程序。该应用程序可以是包含多轮静态博弈业务对应的应用程序,还可以是包含多轮动态博弈和静态博弈的混合业务对应的应用程序,如麻将游戏对应的应用程序、猜拳游戏对应的应用程序和拍卖对应的应用程序中的任意一种。第二终端160是第二用户(即人类)使用的终端,或是AI参与者对应的终端,或是第一终端120和第二终端160都是AI参与者对应的终端,第二终端160与本申请实施例提供的参与者节点对应,在博弈业务中包括至少一个AI参与者。
第二终端160与服务器通过无线网络或有线网络与服务器140相连。示意性的,第二终端160是AI参与者对应的终端,存储器142中的构建模块1421构建与博弈业务对应的蒙特卡洛树,模拟模块1422模拟博弈中的执行动作,并将每条路径对应的博弈结果的收益通过发送模块1423反向传播至蒙特卡洛树的根节点,选择模块1424选择执行具有最大的博弈结果的收益对应的动作,通过网络传递至第二终端160,第二终端160执行对应的动作,也即AI参与者执行对应的动作。
可选地,第一终端120和第二终端160上安装的应用程序是相同的,或两个终端上安装的应用程序是不同计算机系统平台的同一类型应用程序。第一终端120可以泛指多个终端中的一个,第二终端160可以泛指多个终端中的一个,在进行博弈业务时,存在至少包括两个参与者节点,也即至少包括两个终端参与博弈业务,本实施例仅以进行博弈业务时包括第一终端120和第二终端160来举例说明。第一终端120和第二终端160的设备类型相同或不同,该设备类型包括:智能手机、平板电脑、笔记本电脑、电子书阅读器、MP3播放器、MP4播放器、膝上型便携计算机和台式计算机中的至少一种。以下实施例以终端包括台式计算机来举例说明。
本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本申请实施例对终端的数量和设备类型不加以限定。
图5示出了本申请一个示例性实施例提供的基于人工智能的博弈业务执行方法的流程图,该方法可应用于如图4所示的计算机系统中的第一终端120或第二终端160中或该计算机系统中的其它终端中。该方法包括如下步骤:
步骤501,在博弈业务包含静态博弈的第i轮博弈中,构建与第i轮博弈对应的蒙特卡洛树,蒙特卡洛树包括:与静态博弈对应的起始节点、至少两个参与者节点、至少两个逻辑分发节点和至少两个逻辑门节点,i为正整数。
该博弈业务是n个参与者按照博弈规则进行博弈的计算机业务,n≥2,且n为整数,n个参与者中包括AI参与者。参与博弈业务的是一个或多个AI参与者,或参与博弈业务的是n个参与者均是AI参与者。可选地,博弈业务可以是包含静态博弈的博弈业务,也可以是包含静态博弈和动态博弈的混合业务。示意性的,在猜拳业务中包含静态博弈,在麻将业务中包含静态博弈和动态博弈。
当博弈业务是包含静态博弈的博弈业务时,第i轮博弈是指在参与者同时决策时触发第i轮博弈开始,直到参与者执行完各自的动作后,第i轮博弈结束。示意性的,两个参与者进行猜拳业务,两个参与者同时出拳时触发第i轮猜拳博弈开始,当两个参与者完成出拳动作时第i轮猜拳博弈结束。当博弈业务是包含静态博弈和动态博弈的混合业务时,以麻将业务为例,第i轮博弈包括参与者的摸牌轮和打牌轮,示意性的,用户1打出牌面信息为“一万”的牌,根据麻将的规则,该动作触发其余三个用户同时决策,即进入第i轮博弈,其余三个用户选择“吃牌”、“碰牌”、“杠牌”、“和牌”、“过牌”等执行动作(“过牌”是指对当前已打出的牌不做任何执行动作),但只有一个用户可执行所选择的动作,如用户3执行对“一万”执行“碰牌”动作,则用户2和用户4不可再对“一万”执行动作,在用户3在执行“碰牌”动作后再打出一张牌,则第i轮静态博弈结束。
根据上述过程由根节点开始向下构建第i轮博弈对应的蒙特卡洛树,第i轮蒙特卡洛树由上至下的节点顺序是:触发第i轮静态博弈的起始节点、至少两个参与者节点、至少两个逻辑分发节点和至少两个逻辑门节点,逻辑分发节点用于将至少两个参与者节点在静态博弈中对应的候选执行动作按照排列组合转发至不同的逻辑门节点中,每个逻辑门节点用于按照博弈规则向下层节点输出同一排列组合中的至少两个候选执行动作中具有最高优先级的目标候选执行动作。如图3所示,第i轮博弈业务从动作分发节点101开始,动作分发节点101为第i轮静态博弈的起始节点,在起始节点的下一层节点是参与者节点,在参与者节点的下一层节点是逻辑门节点,当具有最高优先级的目标候选执行动作向下层节点输出时,第i轮静态博弈结束。参与者节点的候选执行动作与逻辑分发节点一一对应,至少两个参与者节点对应的候选执行动作的排列组合与逻辑门节点一一对应。
步骤502,模拟蒙特卡洛树中每条路径上的博弈结果。
博弈结果是指在博弈业务中由于某个参与者在进行执行动作后产生了获胜者和失败者的结果,在产生博弈结果后,博弈业务结束。蒙特卡洛树中的路径是指单个叶子节点至根节点的之间所有节点形成的路径,叶子节点是指以博弈业务终止时对应的节点。可以沿多条路径模拟参与者对应的候选执行动作,每条路径对应一个博弈结果。
模拟过程可以使用多种方法,如可以与传统的MCTS算法相同,或者使用本申请实施例提供的方法,结合逻辑分发节点、逻辑门节点模拟每条路径上的博弈结果以第i轮博弈为例,每个参与者节点随机或按照一定的规则选择执行动作,将至少两个参与者节点对应的候选执行动作进行排列组合,从至少两个候选执行动作中选择具有最高优先级的目标候选执行动作,直到博弈业务结束。
步骤503,将每条路径对应的博弈结果的收益反向传播至AI参与者在蒙特卡洛树中层级最高的AI参与者节点。
博弈结果的收益是指在博弈业务中产生博弈结果后所有参与者可获得的收益。比如,在猜拳业务中有三个参与者,博弈规则是每获胜一次积10分,每失败一次扣5分,在一次博弈中,用户1是获胜者,用户2和用户3是失败者,则用户1积10分,用户2和用户3的积分均是-5分,则用户1在获胜后获得的收益是积分增加10分,用户2和用户3在失败后获得的收益是积分减少5分。
在第i轮博弈中,每条路径对应的博弈结果的收益反向传播至第i轮对应的蒙特卡洛树中层级最高的AI参与者节点,如图3所示,每条路径对应的博弈结果的收益反向传播至参与者节点1,反向传播在第i轮博弈的过程为:博弈结果对应的收益从下层节点反向传播至第i轮博弈中的逻辑门节点,逻辑门节点将该博弈结果对应的收益反向传播至与逻辑门节点对应的三个逻辑分发节点中,三个逻辑分发节点分别将该博弈结果对应的收益反向传播至各自对应的参与者节点,三个参与者节点将该博弈结果对应的收益反向传播至动作分发节点101,动作分发节点101将该博弈结果对应的收益反向传播至参与者节点1(也即第i轮对应的蒙特卡洛树中层级最高的AI参与者节点)。
步骤504,选择层级最高的AI参与者节点在具有最大收益的路径上的执行动作,输出为AI参与者在第i轮博弈中的AI执行动作。
将每条路径对应的博弈结果的收益进行比较,从中选择具有最大收益的路径,选择在该路径上的执行动作,输出为AI参与者在第i轮博弈中的AI执行动作。
当博弈业务包括猜拳业务时,参与者节点对应的执行动作包括如下执行动作中的至少两种:执行石头对应的出拳动作、执行剪刀对应的出拳动作和执行布对应的出拳动作;或,当博弈业务包括麻将业务时,参与者节点对应的执行动作包括如下动作中的至少两种:摸牌、打牌、吃牌、碰牌、杠牌以及和牌;或,当博弈业务包括密封拍卖业务时,参与者节点对应的执行动作包括如下两种执行动作:出价执行动作和放弃出价执行动作。密封拍卖是指所有参与拍卖的买家将自己想出的价格写在纸上,并装进信封中,竞拍时打开所有买家的信封,出价高者可购买被竞拍的物品。
在一个示例中,参与者节点1是层级最高的AI参与者节点,若参与者节点1执行“打一万”的动作,触发参与者节点2、参与者节点3和参与者节点4进入静态博弈过程,参与者节点2执行“吃一万”的动作对应的博弈结果的收益是10,参与者节点3执行“碰一万”的动作对应的博弈结果的收益是5,参与者节点2执行“摸牌”的动作对应博弈结果的收益是5,将上述博弈结果的收益沿着各自的路径反向传播至参与者节点1,参与者节点1将每条路径对应的博弈结果进行比较,参与者节点2执行“吃一万”的动作所在的路径对应的博弈结果的收益最大,则参与者节点1将选择执行“打一万”动作。
综上所述,本实施例提供的方法,在博弈业务中包含静态博弈的第i轮博弈中,通过在构建的第i轮博弈对应的蒙特卡洛树中设置与静态博弈对应的起始节点、至少两个逻辑分发节点和至少两个逻辑门节点,使得静态博弈过程中,参与者的执行动作可以单向向下层节点扩展,博弈结果的收益可以单向向上层节点进行反向传播,使得信息不存在双向流动,使得MCTS算法可以应用于包含静态博弈的博弈业务中。
图6示出了本申请一个示例性实施例提供的构建第i轮博弈对应的蒙特卡洛树的方法的流程图。该方法可应用于如图4所示的计算机系统中的第一终端120或第二终端160中或该计算机系统中的其它终端中。该方法包括如下步骤:
步骤601,在博弈业务的第i轮博弈中,从根节点开始构建蒙特卡洛树的每一层节点。
根节点是指在博弈业务开始前该业务对应的局面的初始状态,如MCTS算法应用于围棋博弈中,在蒙特卡洛树中根节点是指参与双发还未进行落子的空白棋盘。蒙特卡洛树是一种递归的数据结构,每一轮博弈都可看成是蒙特卡洛树的一个子树,如在第i轮博弈中对应有第i轮博弈的子树,在选择一个节点进行模拟时,被选择的节点即是该子树的根节点。本申请实施例以第i轮对应的蒙特卡洛树为例,根节点是第i轮博弈对应的蒙特卡洛树中的根节点。如图7所示,在第i轮博弈中,蒙特卡洛树的根节点是参与者节点1。
步骤602,当第j层节点中存在用于触发静态博弈的起始节点时,将参与静态博弈的至少两个参与者节点扩展为蒙特卡洛树中的第j+1层节点,j为正整数。
当第j-1层存在一个参与者节点对应的执行动作是用于触发静态博弈的执行动作时,在第j层中设置与执行动作对应的动作分发节点,作为触发静态博弈的起始节点,其中,动作分发节点用于将参与者节点对应的执行动作转发至与参与静态博弈的至少两个参与者对应的参与者节点中。
在一个示例中,如图7所示,参与者节点1在第j-1层,动作分发节点101在第j层,将动作分发节点101作为触发静态博弈的起始节点。参与者节点1可执行的动作有很多,与参与者节点1所掌握的牌面信息有关,参与者节点1可执行“打一万”的动作,或执行“打九条”的动作,或执行“暗杠”的动作(“暗杠”是指参与者在麻将业务中,手中持有四张相同的牌,通常参与者以将该四张牌的背面向上放置的方式告知其他参与者自己手中拥有相同的四张牌,但其他参与者不知道这四张牌的牌面信息)。以参与者节点1打出牌面信息为“一万”的牌为例进行说明。在参与者节点1执行“打一万”的动作后,通过动作分发节点101触发参与者节点2、参与者节点3和参与者节点4进入静态博弈过程,动作分发节点101将参与者节点1执行的动作转发至参与者节点2、参与者节点3和参与者节点4,参与者节点2、参与者节点3和参与者节点4作为扩展蒙特卡洛树中的第j+1层。
可以理解的是,蒙特卡洛树的第j-1层是第j层的上一层,此时j是大于1的正整数。
步骤603,预测至少两个参与者节点在静态博弈中对应的m个候选执行动作,将与m个候选执行动作一一对应的m个逻辑分发节点扩展为蒙特卡洛树中第j+2层节点,m为正整数。
结合图7,预测三个参与者节点各自的候选执行动作,需要说明的是,附图7只示出了预测参与者节点的部分候选执行动作,对无法执行的候选执行动作未在图中示出,针对这些执行动作也不会设置对应的逻辑分发节点,比如,图中未示出参与者节点2、参与者节点3和参与者节点4均执行“碰牌”的动作以及对应的逻辑分发节点102。示意性的,参与者节点2在静态博弈中对应有两个候选执行动作分别是“吃牌”和“摸牌”,将与两个候选执行动作一一对应的两个逻辑分发节点102扩展为蒙特卡洛树的第j+2层节点,同理于参与者节点3和参与者节点4。示意性的,在蒙特卡洛树的第j+2层节点中设置有六个逻辑分发节点。
步骤604,预测m个候选执行动作对应的P个排列组合方式,将与P个排列组合方式一一对应的P个逻辑门节点扩展为蒙特卡洛树中第j+3层节点,每个逻辑门节点用于将同一排列组合中的至少两个候选执行动作中具有最高优先级的目标候选执行动作向下层节点输出,P为正整数。
在一个示例中,如图7所示,参与者节点2有两个候选执行动作(“吃牌”和“摸牌”)、参与者节点3有两个候选执行动作(“过牌”和“碰牌”)参与者节点4有一个候选执行动作(“过牌”),则预测出五个候选执行动作对应的四个排列组合方式,预测的四种排列组合方式如下所示:
(参与者节点2吃*,参与者节点3过*,参与者节点4过*)→参与者节点2吃;
(参与者节点2吃*,参与者节点3碰*,参与者节点4过*)→参与者节点3碰;
(参与者节点2摸*,参与者节点3过*,参与者节点4过*)→参与者节点2摸;
(参与者节点2摸*,参与者节点3碰*,参与者节点4过*)→参与者节点3碰。
将四组排列组合方式一一对应四个逻辑门节点103扩展为蒙特卡洛树中的第j+3层节点,根据麻将的规则“碰牌”的优先级高于“吃牌”的优先级,因此在上述第二种排列组合方式中,逻辑门节点103将“碰牌”的执行动作作为目标候选执行动作向下层节点输出,下层节点是下一轮博弈中的参与者节点3。
此时,第i轮静态博弈对应的蒙特卡洛树构建完成,随着轮次的迭代,蒙特卡洛树会继续按照上述方式向下一层一层扩展,直到博弈结束。其中,有关动态博弈的轮次构建,可以采用相关技术中的构建方式来进行构建。
对其中一条路径的模拟过程进行说明,模拟参与者节点1执行“打一万”的动作,通过动作分发节点101将“打一万”的动作转发至参与者节点2、参与者节点3和参与者节点4,模拟参与者节点2执行“吃一万”的动作,参与者节点3执行“碰一万”的动作,参与者节点4执行“过牌”的动作,参与者节点2通过逻辑分发节点1021将“吃一万”的动作转发至逻辑门节点103,参与者节点3通过逻辑分发节点1022将“碰一万”的动作转发至逻辑门节点103,参与者节点4通过逻辑分发节点1023将“过牌”的动作转发至逻辑门节点103,根据麻将的规则,“碰牌”的执行动作的优先级高于“吃牌”的执行动作,因此逻辑门节点103选择“碰一万”的执行动作向参与者节点3输出。
综上所述,本实施例提供的方法,通过以触发静态博弈的起始节点作为根节点来扩展第i轮静态博弈对应的蒙特卡洛树,将动作分发节点作为触发静态博弈的起始节点,并且在蒙特卡洛树中设置逻辑分发节点和逻辑门节点,使得在包含静态博弈的博弈业务中,如麻将业务,一个参与者节点在动态博弈过程中的执行动作可单向向下扩展至静态博弈对应的参与者节点中。
图8示出了本申请一个示例性实施例提供的将每条路径对应的博弈结果的收益反向传播至层级最高的AI参与者节点的方法的流程图。该方法可应用于如图4所示的计算机系统中的第一终端120或第二终端160中或该计算机系统中的其它终端中。该方法包括如下步骤:
步骤801,将博弈结果对应的收益从蒙特卡洛树的叶子节点反向传播至至少两个逻辑门节点。
叶子节点是指终止博弈业务对应的节点。在博弈业务包含静态博弈的第i轮博弈中,与第i轮博弈对应的蒙特卡洛树中设置有至少两个逻辑门节点,博弈结果对应的收益从叶子节点开始,一层一层向上传递,当传递至第i轮博弈对应的蒙特卡洛树时,博弈结果的收益传递至少两个逻辑门节点中。
步骤802,将博弈结果对应的收益从逻辑门节点反向传播至起始节点。
设逻辑门节点在蒙特卡洛树中的第j+3层节点,在静态博弈的第i轮博弈对应的蒙特卡洛树中,博弈结果对应的收益传递包括如下步骤:
步骤8021,将每条路径对应的博弈结果的收益从P个逻辑门节点反向传播至第j+2层节点中与P个逻辑门节点对应的m个逻辑分发节点。
在一个示例中,如图9所示,在第i轮博弈对应的蒙特卡洛树中,存在四条路径,四条路径中每条路径对应的博弈结果的收益反向传播至四个逻辑门节点,再从四个逻辑门节点反向传播至第j+2层节点中与四个逻辑门节点对应的五个逻辑分发节点。
对单条路径对应的博弈结果的收益反向传播的过程进行说明。以图9中左边第二条路径为例,该路径对应的执行动作是:(参与者节点2吃*,参与者节点3碰*,参与者节点4过*)→参与者节点3碰。示意性的,该条路径对应的博弈结果的收益是5,博弈结果对应的收益从参与者节点3反向传播至第i轮博弈对应的蒙特卡洛树中第j+3层的目标逻辑门节点103(如图中的箭头所示),通过逻辑门节点103将博弈结果对应的收益反向传播至第j+2层节点中与该逻辑门节点103对应的三个逻辑分发节点,即该博弈结果对应的收益反向传播至参与者节点2执行“吃牌”动作对应的逻辑分发节点1021、参与者节点3执行“碰牌”动作对应的逻辑分发节点1022和参与者节点4执行“过牌”动作对应的逻辑分发节点1023。此时博弈结果的收益是5。
步骤8022,将每条路径对应的博弈结果对应的收益从m个逻辑分发节点反向传播至第j+1层节点中与m个逻辑分发节点对应的至少两个参与者节点。
在一个示例中,如图9所示,在第i轮博弈对应的蒙特卡洛树中的四条路径中,四条路径中每条路径对应的博弈结果的收益反向传播至三个参与者节点。
对单挑路径对应的博弈结果的收益反向传播的过程进行说明。博弈结果对应的收益分别从逻辑分发节点1021反向传播至参与者节点2,从逻辑分发节点1022反向传播至参与者节点3,从逻辑分发节点1023反向传播至参与者节点4。此时博弈结果对应的收益是5。
步骤803,通过起始节点计算得到静态博弈对应的平均收益。
在一个示例中,起始节点是动作分发节点101,博弈结果对应的收益分别从参与者节点2、参与者节点3和参与者节点4反向传播至动作分发节点101,动作分发节点计算每个参与者在所有路径上的平均收益,如,参与者节点1、参与者节点2、参与者节点3和参与者节点4中每个参与者节点对应的平均收益分别是V均1、V均2、V均3和V均4。
步骤804,将平均收益从起始节点反向传播至AI参与者在蒙特卡洛树中层级最高的AI参与者节点。
在一个示例中,参与者节点1是AI参与者,且在第i轮博弈对应的蒙特卡洛树中层级最高,将每个参与者节点对应的平均收益反向传播至参与者节点1中,参与者节点1根据最大平均收益的路径上的执行动作,输出为参与者节点1在第i轮博弈中的AI执行动作。
参与者节点获得的博弈结果的收益是第i+1轮和第i轮博弈中各个路径的博弈结果的收益分别进行累加得到的,在每一轮的参与者节点处进行累计。比如,参与者节点2执行“吃牌”动作对应的路径,根据麻将规则,参与者节点2在执行“吃牌”后,需要打出一张牌,因此会触发第i+1轮静态博弈,设参与者节点2对应的博弈结果的收益是5,则在第i轮静态博弈中,参与者节点对应的博弈结果的收益是10(累计了第i+1轮静态博弈对应的博弈结果的收益)。参与者节点累计后的收益将发送至动作分发节点进行记录,动作分发节点还记录在当前轮中,每个参与者的执行动作和动作对应的收益。
综上所述,本实施例提供的方法,通过在第i轮静态博弈对应的蒙特卡洛树中设置动作分发节点、逻辑分发节点和逻辑门节点,使得在包含静态博弈的博弈业务中,如麻将业务,博弈结果对应的收益从逻辑门节点反向传播至对应的逻辑分发节点,再从逻辑分发节点反向传播至对应的参与者节点中,最后通过动作分发节点计算每个参与者节点在所有路径上的平均收益,并将平均收益反向传播至上一层节点中,保证了反向传播过程中信息可单向向上传播至对应的节点中。
上述实施例以博弈业务包括麻将业务(动态博弈+静态博弈)来举例说明,下面结合博弈业务包括:石头剪刀布形式的猜拳业务(仅包含静态博弈)对本申请实施例提供的方法进行说明。
结合图10,示意性的,i为1,j为1,在猜拳业务的第1轮博弈中,构建了与第1轮博弈对应的蒙特卡洛树,该蒙特卡洛树的结构110中包括:与第三轮静态博弈对应的起始节点,也即动作分发节点111,参与者节点1、参与者节点2和参与者节点3、九个逻辑分发节点、五个逻辑门节点,需要说明的是,图10未示出全部分执行动作对应的逻辑分发节点和逻辑门节点。
开始节点是指游戏开始,在本实施例中,开始节点还起到裁判的作用,负责记录每个参与者的获胜次数和失败次数。动作分发节点111触发静态博弈过程,动作分发节点111在蒙特卡洛树的第1层,将参与者节点扩展为蒙特卡洛树中的第2层节点,预测参与者节点1、参与者节点2和参与者节点3各自的候选执行动作,每个参与者节点有三个候选执行动作,将三个参与者节点对应的九个候选执行动作对应的九个逻辑分发节点112扩展为蒙特卡洛树的第3层节点,预测九个个候选执行动作对应的27个排列组合方式,将27个排列组合方式一一对应的27个逻辑门节点113(图10仅示出了部分逻辑门节点)扩展为蒙特卡洛树中的第4层节点。
示意性的,参与者节点1是AI参与者对应的节点,以参与者节点1执行剪刀对应的出拳动作后,猜拳业务结束为例,模拟单条路径上各参与者节点对应的执行动作。该路径是参与者节点1执行剪刀对应的出拳动作,参与者节点2执行布对应的出拳动作,参与者节点3执行布对应的出拳动作,参与者节点1对应的逻辑分发节点1121、参与者节点2对应逻辑分发节点1122和参与者节点3对应的逻辑分发节点1123分别将参与者节点的执行动作转发至逻辑门节点113,根据猜拳业务的规则,逻辑门节点113向参与者节点1输出的具有最高优先级的目标候选执行动作为剪刀对应的出拳动作,参与者节点1执行剪刀对应的出拳动作,本轮猜拳业务结束。
将博弈结果对应的收益从参与者节点1反向传播至逻辑门节点113,将博弈结果对应的收益从逻辑门节点113分别反向传播至逻辑分发节点1121、逻辑分发节点1122和逻辑分发节点1123,博弈结果对应的收益从三个逻辑分发节点分别反向传播至三个参与者节点,示意性的,参与者节点各自记录自己的获胜次数和积分,如参与者节点1记录获胜一次,积10分;参与者节点2和参与者节点3分别记录自己失败一次,积-5分。三个参与者节点将各自记录的博弈结果的收益反向传播至动作分发节点111,动作分发节点111在将博弈结果对应的收益反向传播给上层节点(也即开始节点)。动作分发节点111计算每个参与者在所有路径上的博弈结果的平均收益,示意性的,以上述路径为参与者节点1的最大平均收益的路径,选择参与者节点1该路径上的执行动作,输出为参与者节点1在第1轮博弈中执行剪刀对应的出拳动作。
综上所述,本实施例提供的方法,在猜拳业务对应的蒙特卡洛树中设置动作分发节点、逻辑分发节点和逻辑门节点,使得静态博弈过程在蒙特卡洛树中可以单向向下扩展,博弈结果的收益单向向上进行反向传播,解决了MCTS算法无法应用于静态博弈的问题。
可以理解的是,将本申请实施例提供的方法应用于麻将游戏中,游戏开发者可在游戏界面显示AI为参与游戏的用户推荐在当前局面中适合打出哪一张牌,如图11的(a)所示,在游戏界面上显示推荐用户打出的牌面信息和出牌的概率,而出牌的概率与获胜的概率具有一定的关系,用户可根据AI推荐的出牌信息来决定自己打出哪一张牌或执行什么动作,提高了用户在麻将游戏中的游戏体验。本申请实施例提供的方法可应用于多种类型、多种玩法规则的麻将游戏,如国标麻将、广东麻将、武汉麻将、大众麻将、二人雀神等麻将类型,也可以适用于具有“血流成河”、“血战到底”、“卡五星”等玩法规则的麻将游戏,如图11的(b)所示。
以下为本申请的装置实施例,对于装置实施例中未详细描述的细节,可以结合参考上述方法实施例中相应的记载,本文不再赘述。
图12示出了本申请的一个示例性实施例提供的基于人工智能的博弈业务执行装置的结构示意图。该装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分,该装置包括:构建模块1210、模拟模块1220、发送模块1230和选择模块。
构建模块1210,用于在博弈业务中包含静态博弈的第i轮博弈中,构建与第i轮博弈对应的蒙特卡洛树,蒙特卡洛树中包括:与静态博弈对应的起始节点、至少两个参与者节点、至少两个逻辑分发节点和至少两个逻辑门节点,逻辑分发节点用于将至少两个参与者节点在静态博弈中对应的候选执行动作按照排列组合转发至不同的逻辑门节点中,每个逻辑门节点用于按照博弈规则向下层节点输出同一排列组合中的至少两个候选执行动作中具有最高优先级的目标候选执行动作,i为正整数;
模拟模块1220,用于模拟蒙特卡洛树中每条路径上的博弈结果;
发送模块1230,用于将每条路径对应的博弈结果的收益反向传播至AI参与者在蒙特卡洛树中层级最高的AI参与者节点;
选择模块1240,用于选择层级最高的AI参与者节点在具有最大收益的路径上的执行动作,输出为AI参与者在第i轮博弈中的AI执行动作。
在一个可选的实施例中,所述构建模块1210,用于在博弈业务的第i轮博弈中,从根节点开始构建蒙特卡洛树的每一层节点;
所述构建模块1210,用于当第j层节点中存在用于触发静态博弈的起始节点时,将参与静态博弈的至少两个参与者节点扩展为蒙特卡洛树中的第j+1层节点,j为正整数;
所述构建模块1210,用于预测至少两个参与者节点在静态博弈中对应的m个候选执行动作,将与m个候选执行动作一一对应的m个逻辑分发节点扩展为蒙特卡洛树中第j+2层节点,m为正整数;
所述构建模块1210,用于预测m个候选执行动作对应的P个排列组合方式,将与P个排列组合方式一一对应的P个逻辑门节点扩展为蒙特卡洛树中的第j+3层节点,每个逻辑门节点用于将同一排列组合中的至少两个候选执行动作中具有最高优先级的目标候选执行动作向下层节点输出,P为正整数。
在一个可选的实施例中,该装置包括计算模块1250;
所述发送模块1230,用于将博弈结果对应的收益从蒙特卡洛树的叶子节点反向传播至至少两个逻辑门节点;
所述发送模块1230,用于将博弈结果对应的收益从逻辑门节点反向传播至起始节点;
所述计算模块1250,用于通过起始节点计算得到静态博弈对应的平均收益;
所述发送模块1230,用于将平均收益从起始节点反向传播至AI参与者在蒙特卡洛树中层级最高的AI参与者节点。
在一个可选的实施例中,设逻辑门节点在蒙特卡洛树中的第j+3层节点;
所述发送模块1230,用于将每条路径对应的博弈结果的收益从P个逻辑门节点反向传播至第j+2层节点中与P个逻辑门节点对应的m个逻辑分发节点,j、P和m均为正整数;
所述发送模块1230,用于将每条路径对应的博弈结果对应的收益从m个逻辑分发节点反向传播至第j+1层节点中与m个逻辑分发节点对应的至少两个参与者节点。
在一个可选的实施例中,所述构建模块1210,用于当第j-1层中存在一个参与者节点对应的执行动作是用于触发静态博弈的执行动作时,在第j层中设置与执行动作对应的动作分发节点,作为用于触发静态博弈的起始节点;
其中,动作分发节点用于将参与者节点对应的执行动作转发至参与静态博弈的至少两个参与者对应的参与者节点中。
在一个可选的实施例中,当博弈业务包括猜拳业务时,参与者节点对应的执行动作包括如下执行动作中的至少两种:执行石头对应的出拳动作、执行剪刀对应的出拳动作和执行布对应的出拳动作;或,当博弈业务包括麻将业务时,参与者节点对应的执行动作包括如下动作中的至少两种:摸牌、打牌、吃牌、碰牌、杠牌以及和牌;或,当博弈业务包括密封拍卖业务时,参与者节点对应的执行动作包括如下两种执行动作:出价动作和放弃出价动作。
请参考图13,其示出了本申请一个示例性实施例提供的计算机设备1300的结构框图。该计算机设备1300可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器。计算机设备1300还可能被称为用户设备、便携式终端等其他名称。
通常,计算机设备1300包括有:处理器1301和存储器1302。
处理器1301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1301可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1301可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1301还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是有形的和非暂态的。存储器1302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1301所执行以实现本申请中提供的基于人工智能的博弈业务执行方法。
在一些实施例中,计算机设备1300还可选包括有:外围设备接口1303和至少一个外围设备。具体地,外围设备包括:射频电路1304、触摸显示屏1305、摄像头1306、音频电路1307、定位组件1308和电源1309中的至少一种。
外围设备接口1303可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1301和存储器1302。在一些实施例中,处理器1301、存储器1302和外围设备接口1303被集成在同一芯片或电路板上;在一些其他实施例中,处理器1301、存储器1302和外围设备接口1303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1304用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1304通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1304包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1304还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
触摸显示屏1305用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。触摸显示屏1305还具有采集在触摸显示屏1305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1301进行处理。触摸显示屏1305用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,触摸显示屏1305可以为一个,设置计算机设备1300的前面板;在另一些实施例中,触摸显示屏1305可以为至少两个,分别设置在计算机设备1300的不同表面或呈折叠设计;在再一些实施例中,触摸显示屏1305可以是柔性显示屏,设置在计算机设备1300的弯曲表面上或折叠面上。甚至,触摸显示屏1305还可以设置成非矩形的不规则图形,也即异形屏。触摸显示屏1305可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(OrganicLight-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1306用于采集图像或视频。可选地,摄像头组件1306包括前置摄像头和后置摄像头。通常,前置摄像头用于实现视频通话或自拍,后置摄像头用于实现照片或视频的拍摄。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能,主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能。在一些实施例中,摄像头组件1306还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1307用于提供用户和计算机设备1300之间的音频接口。音频电路1307可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1301进行处理,或者输入至射频电路1304以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在计算机设备1300的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1301或射频电路1304的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1307还可以包括耳机插孔。
定位组件1308用于定位计算机设备1300的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件1308可以是基于美国的GPS(Global Positioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源1309用于为计算机设备1300中的各个组件进行供电。电源1309可以是交流电、直流电、一次性电池或可充电电池。当电源1309包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,计算机设备1300还包括有一个或多个传感器1310。该一个或多个传感器1310包括但不限于:加速度传感器1311、陀螺仪传感器1312、压力传感器1313、指纹传感器1314、光学传感器1315以及接近传感器1316。
加速度传感器1311可以检测以计算机设备1300建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1311可以用于检测重力加速度在三个坐标轴上的分量。处理器1301可以根据加速度传感器1311采集的重力加速度信号,控制触摸显示屏1305以横向视图或纵向视图进行用户界面的显示。加速度传感器1311还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1312可以检测计算机设备1300的机体方向及转动角度,陀螺仪传感器1312可以与加速度传感器1311协同采集用户对计算机设备1300的3D动作。处理器1301根据陀螺仪传感器1312采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1313可以设置在计算机设备1300的侧边框和/或触摸显示屏1305的下层。当压力传感器1313设置在计算机设备1300的侧边框时,可以检测用户对计算机设备1300的握持信号,根据该握持信号进行左右手识别或快捷操作。当压力传感器1313设置在触摸显示屏1305的下层时,可以根据用户对触摸显示屏1305的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1314用于采集用户的指纹,以根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1301授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1314可以被设置计算机设备1300的正面、背面或侧面。当计算机设备1300上设置有物理按键或厂商Logo时,指纹传感器1314可以与物理按键或厂商Logo集成在一起。
光学传感器1315用于采集环境光强度。在一个实施例中,处理器1301可以根据光学传感器1315采集的环境光强度,控制触摸显示屏1305的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1305的显示亮度;当环境光强度较低时,调低触摸显示屏1305的显示亮度。在另一个实施例中,处理器1301还可以根据光学传感器1315采集的环境光强度,动态调整摄像头组件1306的拍摄参数。
接近传感器1316,也称距离传感器,通常设置在计算机设备1300的正面。接近传感器1316用于采集用户与计算机设备1300的正面之间的距离。在一个实施例中,当接近传感器1316检测到用户与计算机设备1300的正面之间的距离逐渐变小时,由处理器1301控制触摸显示屏1305从亮屏状态切换为息屏状态;当接近传感器1316检测到用户与计算机设备1300的正面之间的距离逐渐变大时,由处理器1301控制触摸显示屏1305从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图13中示出的结构并不构成对计算机设备1300的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请还提供一种计算机设备,该计算机设备包括:处理器和存储器,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的基于人工智能的博弈业执行方法。
本申请还提供一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得计算机执行如上述各方法实施例提供的基于人工智能的博弈业务执行方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (14)
1.一种基于人工智能的博弈业务执行方法,其特征在于,所述博弈业务是n个参与者按照博弈规则进行博弈的计算机业务,n≥2,且n为整数,所述n个参与者中包括人工智能AI参与者,所述方法包括:
在所述博弈业务中包含静态博弈的第i轮博弈中,构建与所述第i轮博弈对应的蒙特卡洛树,所述蒙特卡洛树中包括:与所述静态博弈对应的起始节点、至少两个参与者节点、至少两个逻辑分发节点和至少两个逻辑门节点,所述逻辑分发节点用于将所述至少两个参与者节点在所述静态博弈中对应的候选执行动作按照排列组合转发至不同的所述逻辑门节点中,每个所述逻辑门节点用于按照所述博弈规则向下层节点输出同一排列组合中的至少两个候选执行动作中具有最高优先级的目标候选执行动作,i为正整数;
模拟所述蒙特卡洛树中每条路径上的博弈结果;
将所述每条路径对应的博弈结果的收益反向传播至所述AI参与者在所述蒙特卡洛树中层级最高的AI参与者节点;
选择所述层级最高的AI参与者节点在具有最大收益的路径上的执行动作,输出为所述AI参与者在所述第i轮博弈中的AI执行动作。
2.根据权利要求1所述的方法,其特征在于,所述构建与所述第i轮博弈对应的蒙特卡洛树,包括:
在所述博弈业务的第i轮博弈中,从根节点开始构建所述蒙特卡洛树的每一层节点;
当第j层节点中存在用于触发所述静态博弈的起始节点时,将参与所述静态博弈的所述至少两个参与者节点扩展为所述蒙特卡洛树中的第j+1层节点,j为大于1的正整数;
预测所述至少两个参与者节点在所述静态博弈中对应的m个候选执行动作,将与所述m个候选执行动作一一对应的m个逻辑分发节点扩展为所述蒙特卡洛树中的第j+2层节点,m为正整数;
预测所述m个候选执行动作对应的P个排列组合方式,将与所述P个排列组合方式一一对应的P个逻辑门节点扩展为所述蒙特卡洛树中的第j+3层节点,每个所述逻辑门节点用于将同一排列组合中的至少两个候选执行动作中具有最高优先级的目标候选执行动作向所述下层节点输出,P为正整数。
3.根据权利要求1所述的方法,其特征在于,所述将所述每条路径对应的博弈结果的收益反向传播至所述AI参与者在所述蒙特卡洛树中层级最高的AI参与者节点,包括:
将所述博弈结果对应的收益从所述蒙特卡洛树的叶子节点反向传播至所述至少两个逻辑门节点;
将所述博弈结果对应的收益从所述逻辑门节点反向传播至所述起始节点;
通过所述起始节点计算得到所述静态博弈对应的平均收益;
将所述平均收益从所述起始节点反向传播至所述AI参与者在所述蒙特卡洛树中层级最高的AI参与者节点。
4.根据权利要求3所述的方法,其特征在于,设所述逻辑门节点在所述蒙特卡洛树中的第j+3层节点;
所述将所述博弈结果对应的收益从所述逻辑门节点反向传播至所述起始节点,包括:
将所述每条路径对应的所述博弈结果的收益从P个逻辑门节点反向传播至第j+2层节点中与所述P个逻辑门节点对应的m个逻辑分发节点,j、P和m均为正整数;
将所述每条路径对应的所述博弈结果的收益从所述m个逻辑分发节点反向传播至所述第j+1层节点中与所述m个逻辑分发节点对应的至少两个参与者节点。
5.根据权利要求2至4任一所述的方法,其特征在于,所述从根节点开始构建所述蒙特卡洛树的每一层节点,还包括:
当第j-1层中存在一个所述参与者节点对应的执行动作是用于触发所述静态博弈的执行动作时,在第j层中设置与所述执行动作对应的动作分发节点,作为所述用于触发所述静态博弈的起始节点;
其中,所述动作分发节点用于将所述参与者节点对应的执行动作转发至参与所述静态博弈的至少两个参与者对应的参与者节点中。
6.根据权利要求1至4任一所述的方法,其特征在于,
当所述博弈业务包括猜拳业务时,所述参与者节点对应的执行动作包括如下执行动作中的至少两种:执行石头对应的出拳动作、执行剪刀对应的出拳动作和执行布对应的出拳动作;
或,
当所述博弈业务包括麻将业务时,所述参与者节点对应的执行动作包括如下动作中的至少两种:摸牌、打牌、吃牌、碰牌、杠牌以及和牌;
或,
当所述博弈业务包括密封拍卖业务时,所述参与者节点对应的执行动作包括如下两种执行动作:出价动作和放弃出价动作。
7.一种基于人工智能的博弈业务执行装置,其特征在于,所述博弈业务是n个参与者按照博弈规则进行博弈的计算机业务,n≥2,且n为整数,所述n个参与者中包括人工智能AI参与者,所述方法包括:
构建模块,用于在所述博弈业务中包含静态博弈的第i轮博弈中,构建与所述第i轮博弈对应的蒙特卡洛树,所述蒙特卡洛树中包括:与所述静态博弈对应的起始节点、至少两个参与者节点、至少两个逻辑分发节点和至少两个逻辑门节点,所述逻辑分发节点用于将所述至少两个参与者节点在所述静态博弈中对应的候选执行动作按照排列组合转发至不同的所述逻辑门节点中,每个所述逻辑门节点用于按照所述博弈规则向下层节点输出同一排列组合中的至少两个候选执行动作中具有最高优先级的目标候选执行动作,i为正整数;
模拟模块,用于模拟所述蒙特卡洛树中每条路径上的博弈结果;
发送模块,用于将所述每条路径对应的博弈结果的收益反向传播至所述AI参与者在所述蒙特卡洛树中层级最高的AI参与者节点;
选择模块,用于选择所述层级最高的AI参与者节点在具有最大收益的路径上的执行动作,输出为所述AI参与者在所述第i轮博弈中的AI执行动作。
8.根据权利要求7所述的装置,其特征在于,所述构建模块,用于在所述博弈业务的第i轮博弈中,从根节点开始构建所述蒙特卡洛树的每一层节点;
所述构建模块,用于当第j层节点中存在用于触发所述静态博弈的起始节点时,将参与所述静态博弈的所述至少两个参与者节点扩展为所述蒙特卡洛树中的第j+1层节点,j为正整数;
所述构建模块,用于预测所述至少两个参与者节点在所述静态博弈中对应的m个候选执行动作,将与所述m个候选执行动作一一对应的m个逻辑分发节点扩展为所述蒙特卡洛树中第j+2层节点,m为正整数;
所述构建模块,用于预测所述m个候选执行动作对应的P个排列组合方式,将与所述P个排列组合方式一一对应的P个逻辑门节点扩展为所述蒙特卡洛树中的第j+3层节点,每个所述逻辑门节点用于将同一排列组合中的至少两个候选执行动作中具有最高优先级的目标候选执行动作向所述下层节点输出,P为正整数。
9.根据权利要求7所述的装置,其特征在于,所述装置包括计算模块;
所述发送模块,用于将所述博弈结果对应的收益从所述蒙特卡洛树的叶子节点反向传播至所述至少两个逻辑门节点;
所述发送模块,用于将所述博弈结果对应的收益从所述逻辑门节点反向传播至所述起始节点;
所述计算模块,用于通过所述起始节点计算得到所述静态博弈对应的平均收益;
所述发送模块,用于将所述平均收益从所述起始节点反向传播至所述AI参与者在所述蒙特卡洛树中层级最高的AI参与者节点。
10.根据权利要求8所述的装置,其特征在于,设所述逻辑门节点在所述蒙特卡洛树中的第j+3层节点;
所述发送模块,用于将所述每条路径对应的所述博弈结果的收益从P个逻辑门节点反向传播至第j+2层节点中与所述P个逻辑门节点对应的m个逻辑分发节点,j、P和m均为正整数;
所述发送模块,用于将所述每条路径对应的所述博弈结果对应的收益从所述m个逻辑分发节点反向传播至所述第j+1层节点中与所述m个逻辑分发节点对应的至少两个参与者节点。
11.根据权利要求8至10任一所述的装置,其特征在于,所述构建模块,用于当第j-1层中存在一个所述参与者节点对应的执行动作是用于触发所述静态博弈的执行动作时,在第j层中设置与所述执行动作对应的动作分发节点,作为所述用于触发所述静态博弈的起始节点;
其中,所述动作分发节点用于将所述参与者节点对应的执行动作转发至参与所述静态博弈的至少两个参与者对应的参与者节点中。
12.根据权利要求7至10任一所述的装置,其特征在于,
当所述博弈业务包括猜拳业务时,所述参与者节点对应的执行动作包括如下执行动作中的至少两种:执行石头对应的出拳动作、执行剪刀对应的出拳动作和执行布对应的出拳动作;
或,
当所述博弈业务包括麻将业务时,所述参与者节点对应的执行动作包括如下动作中的至少两种:摸牌、打牌、吃牌、碰牌、杠牌以及和牌;
或,
当所述博弈业务包括密封拍卖业务时,所述参与者节点对应的执行动作包括如下两种执行动作:出价动作和放弃出价动作。
13.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述指令、所述程序、所述代码集或所述指令集由所述处理器加载并执行以实现如权利要求1至6任一项所述的基于人工智能的博弈业务执行方法。
14.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得计算机执行如权利要求1至6任一项所述的基于人工智能的博弈业务执行方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911101292.7A CN110826717A (zh) | 2019-11-12 | 2019-11-12 | 基于人工智能的博弈业务执行方法、装置、设备及介质 |
PCT/CN2020/115866 WO2021093452A1 (zh) | 2019-11-12 | 2020-09-17 | 基于人工智能的博弈业务执行方法、装置、设备及介质 |
US17/506,460 US20220044138A1 (en) | 2019-11-12 | 2021-10-20 | Game service execution method and apparatus based on artificial intelligence, device, and medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911101292.7A CN110826717A (zh) | 2019-11-12 | 2019-11-12 | 基于人工智能的博弈业务执行方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110826717A true CN110826717A (zh) | 2020-02-21 |
Family
ID=69554351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911101292.7A Pending CN110826717A (zh) | 2019-11-12 | 2019-11-12 | 基于人工智能的博弈业务执行方法、装置、设备及介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220044138A1 (zh) |
CN (1) | CN110826717A (zh) |
WO (1) | WO2021093452A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111619391A (zh) * | 2020-05-06 | 2020-09-04 | 三峡大学 | 基于合作博弈与动态分时电价的电动汽车有序充放电方法 |
CN112138367A (zh) * | 2020-09-15 | 2020-12-29 | 北京智明星通科技股份有限公司 | 一种麻将游戏的出牌推荐方法、系统及设备 |
CN112691383A (zh) * | 2021-01-14 | 2021-04-23 | 上海交通大学 | 一种基于虚拟遗憾最小化算法的德州扑克ai训练方法 |
WO2021093452A1 (zh) * | 2019-11-12 | 2021-05-20 | 腾讯科技(深圳)有限公司 | 基于人工智能的博弈业务执行方法、装置、设备及介质 |
WO2022247791A1 (zh) * | 2021-05-28 | 2022-12-01 | 南京邮电大学 | 一种基于机器学习的棋类自学习方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10537801B2 (en) * | 2013-07-11 | 2020-01-21 | International Business Machines Corporation | System and method for decision making in strategic environments |
CN106469317A (zh) * | 2016-09-20 | 2017-03-01 | 哈尔滨工业大学深圳研究生院 | 一种基于非完备信息博弈中进行对手建模的方法 |
CN107292389A (zh) * | 2017-06-20 | 2017-10-24 | 竞技世界(北京)网络技术有限公司 | 计算机博弈策略的制定方法及装置 |
CN109002893A (zh) * | 2018-07-17 | 2018-12-14 | 东北大学 | 一种序贯同步时序蒙特卡洛搜索算法 |
CN108985458A (zh) * | 2018-07-23 | 2018-12-11 | 东北大学 | 一种序贯同步博弈的双树蒙特卡洛搜索算法 |
CN110826717A (zh) * | 2019-11-12 | 2020-02-21 | 腾讯科技(深圳)有限公司 | 基于人工智能的博弈业务执行方法、装置、设备及介质 |
-
2019
- 2019-11-12 CN CN201911101292.7A patent/CN110826717A/zh active Pending
-
2020
- 2020-09-17 WO PCT/CN2020/115866 patent/WO2021093452A1/zh active Application Filing
-
2021
- 2021-10-20 US US17/506,460 patent/US20220044138A1/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021093452A1 (zh) * | 2019-11-12 | 2021-05-20 | 腾讯科技(深圳)有限公司 | 基于人工智能的博弈业务执行方法、装置、设备及介质 |
CN111619391A (zh) * | 2020-05-06 | 2020-09-04 | 三峡大学 | 基于合作博弈与动态分时电价的电动汽车有序充放电方法 |
CN111619391B (zh) * | 2020-05-06 | 2023-02-03 | 三峡大学 | 基于合作博弈与动态分时电价的电动汽车有序充放电方法 |
CN112138367A (zh) * | 2020-09-15 | 2020-12-29 | 北京智明星通科技股份有限公司 | 一种麻将游戏的出牌推荐方法、系统及设备 |
CN112691383A (zh) * | 2021-01-14 | 2021-04-23 | 上海交通大学 | 一种基于虚拟遗憾最小化算法的德州扑克ai训练方法 |
WO2022247791A1 (zh) * | 2021-05-28 | 2022-12-01 | 南京邮电大学 | 一种基于机器学习的棋类自学习方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2021093452A1 (zh) | 2021-05-20 |
US20220044138A1 (en) | 2022-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11565181B2 (en) | Virtual object control method and apparatus, computer device, and storage medium | |
CN110119815B (zh) | 模型训练方法、装置、存储介质及设备 | |
CN110585726B (zh) | 用户召回方法、装置、服务器及计算机可读存储介质 | |
CN110826717A (zh) | 基于人工智能的博弈业务执行方法、装置、设备及介质 | |
CN111013142B (zh) | 互动效果显示方法、装置、计算机设备及存储介质 | |
CN109529356B (zh) | 对战结果确定方法、装置及存储介质 | |
CN112843679B (zh) | 虚拟对象的技能释放方法、装置、设备及介质 | |
CN109091867B (zh) | 操作控制方法、装置、设备及存储介质 | |
CN112221152A (zh) | 人工智能ai模型的训练方法、装置、设备及介质 | |
CN111596838B (zh) | 业务处理方法、装置、计算机设备及计算机可读存储介质 | |
CN112569607B (zh) | 预购道具的显示方法、装置、设备及介质 | |
CN110833695B (zh) | 基于虚拟场景的业务处理方法、装置、设备及存储介质 | |
CN110548277B (zh) | 牌类竞技程序中手牌的获取方法、装置、设备及可读介质 | |
CN114130018A (zh) | 虚拟物品的获取方法、装置、设备、介质及程序产品 | |
CN114130012A (zh) | 用户界面的显示方法、装置、设备、介质及程序产品 | |
US20240042319A1 (en) | Action effect display method and apparatus, device, medium, and program product | |
TW202217539A (zh) | 確定選中目標的方法及裝置、電腦設備、非臨時性電腦可讀存儲介質及電腦程式產品 | |
CN112995687A (zh) | 基于互联网的互动方法、装置、设备及介质 | |
CN110841288B (zh) | 提示标识的消除方法、装置、终端及存储介质 | |
CN113730906B (zh) | 虚拟对局的控制方法、装置、设备、介质及计算机产品 | |
CN113413587B (zh) | 牌类竞技的信息确定方法、装置、设备及介质 | |
CN113230653B (zh) | 基于资源抽取的互动方法、装置、设备及介质 | |
CN116883561B (zh) | 动画生成方法、动作控制器的训练方法、装置及设备 | |
CN109078331A (zh) | 模拟按键检测方法、装置、计算机设备及存储介质 | |
CN113786606B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40021589 Country of ref document: HK |
|
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200221 |