CN110732138B - 虚拟对象控制方法、装置、可读存储介质和计算机设备 - Google Patents
虚拟对象控制方法、装置、可读存储介质和计算机设备 Download PDFInfo
- Publication number
- CN110732138B CN110732138B CN201910989505.8A CN201910989505A CN110732138B CN 110732138 B CN110732138 B CN 110732138B CN 201910989505 A CN201910989505 A CN 201910989505A CN 110732138 B CN110732138 B CN 110732138B
- Authority
- CN
- China
- Prior art keywords
- node
- score
- interaction
- layer
- virtual object
- 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
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/55—Controlling game characters or game objects based on the game progress
-
- 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
- G06N5/042—Backward inferencing
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/32—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
- G07F17/326—Game play aspects of gaming systems
- G07F17/3272—Games involving multiple players
- G07F17/3276—Games involving multiple players wherein the players compete, e.g. tournament
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/32—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
- G07F17/3286—Type of games
- G07F17/3293—Card games, e.g. poker, canasta, black jack
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请涉及一种虚拟对象控制方法、装置、计算机可读存储介质和计算机设备,所述方法包括:获取目标虚拟对象可用的第一交互资源;根据第一交互资源进行深度优先搜索,确定当前搜索结点的分值;当当前搜索结点为第一极值层结点时,回溯至对应的第二极值层结点,获取第二极值层结点的分值;当当前搜索结点的分值以及第二极值层结点的分值满足预设条件时,停止对当前搜索结点搜索,得到博弈树;根据博弈树控制目标虚拟对象使用第一交互资源。采用本申请提供的方案可以减少计算机资源占用。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种虚拟对象控制方法、装置、计算机可读存储介质和计算机设备。
背景技术
在诸如智能手机、平板电脑、台式计算机之类的终端上,存在许多用于交互的应用程序。在人机交互的过程中,用户和终端均需要获得一个最优解。而传统终端的最优解求取方法是罗列所有可能性,从所有可能性中求得最优解,根据最优解控制虚拟对象使用交互资源。然而,传统的虚拟对象控制方法,因最优解的求解过程繁琐,导致占用大量计算机资源。
发明内容
基于此,有必要针对虚拟对象控制存在占用大量计算机资源的技术问题,提供一种虚拟对象控制方法、装置、计算机可读存储介质和计算机设备,能够减少计算机资源占用。
一种虚拟对象控制方法,应用于包含至少三个虚拟对象的虚拟场景中,所述方法包括:
获取目标虚拟对象可用的第一交互资源;
根据所述第一交互资源进行深度优先搜索,确定当前搜索结点的分值;
当所述当前搜索结点为第一极值层结点时,回溯至对应的第二极值层结点,获取所述第二极值层结点的分值,其中,第二极值与第一极值为相反的极值;
当所述当前搜索结点的分值以及所述第二极值层结点的分值满足搜索条件时,停止对所述当前搜索结点搜索,得到博弈树;
根据所述博弈树控制所述目标虚拟对象使用所述第一交互资源。
一种虚拟对象控制装置,所述装置包括:
第一获取模块,用于获取目标虚拟对象可用的第一交互资源;
深度优先搜索模块,用于根据所述第一交互资源进行深度优先搜索,确定当前搜索结点的分值;
第二获取模块,用于当所述当前搜索结点为第一极值层结点时,回溯至对应的第二极值层结点,获取所述第二极值层结点的分值,其中,第二极值与第一极值为相反的极值;
停止搜索模块,用于当所述当前搜索结点的分值以及所述第二极值层结点的分值满足预设条件时,停止对所述当前搜索结点搜索,得到博弈树;
控制模块,根据所述博弈树控制所述目标虚拟对象使用所述第一交互资源。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
获取目标虚拟对象可用的第一交互资源;
根据所述第一交互资源进行深度优先搜索,确定当前搜索结点的分值;
当所述当前搜索结点为第一极值层结点时,回溯至对应的第二极值层结点,获取所述第二极值层结点的分值;
当所述当前搜索结点的分值以及所述第二极值层结点的分值满足预设条件时,停止对所述当前搜索结点搜索,得到博弈树;
根据所述博弈树控制所述目标虚拟对象使用所述第一交互资源。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
获取目标虚拟对象可用的第一交互资源;
根据所述第一交互资源进行深度优先搜索,确定当前搜索结点的分值;
当所述当前搜索结点为第一极值层结点时,回溯至对应的第二极值层结点,获取所述第二极值层结点的分值,其中,第二极值与第一极值为相反的极值;
当所述当前搜索结点的分值以及所述第二极值层结点的分值满足预设条件时,停止对所述当前搜索结点搜索,得到博弈树;
根据所述博弈树控制所述目标虚拟对象使用所述第一交互资源。
上述虚拟对象控制方法、装置、计算机可读存储介质和计算机设备,可应用于包括至少三个虚拟对象的虚拟场景中,获取目标虚拟对象可用的第一交互资源,根据第一交互资源进行深度优先搜索,确定当前搜索结点的分值,当当前搜索结点为第一极值层结点时,回溯至对应的第二极值层结点,获取第二极值层结点的分值,当分值满足预设条件时,停止对该当前搜索结点的其他子结点进行搜索,从而在构建博弈树的过程中减少了对分支的探索时间,能够快速得到博弈树,根据博弈树控制目标虚拟对象使用第一交互资源,能使目标虚拟对象得到一个较好的交互分值,并且减少计算机资源占用,也提高虚拟对象控制效率。
附图说明
图1为一个实施例中虚拟对象控制方法的应用环境图;
图2为一个实施例中虚拟对象控制方法的流程示意图;
图3为一个实施例中剪枝和未经剪枝的搜索时间对比示意图;
图4为一个实施例中博弈树以及剪枝的部分示意图;
图5为一个实施例中各种方式的耗时对比图;
图6为另一个实施例中各种方式耗时对比图;
图7为一个实施例中使用第一交互资源的流程示意图;
图8为另一个实施例中博弈树的示意图;
图9为又一个实施例中各种方式耗时对比图;
图10(a)为一个实施例中斗地主游戏的界面示意图;
图10(b)为另一个实施例中斗地主游戏的界面示意图;
图10(c)为又一个实施例中斗地主游戏的界面示意图;
图11为一个实施例中虚拟对象控制装置的结构框图;
图12为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中虚拟对象控制方法的应用环境图。(例子:参照图1,该虚拟对象控制方法可应用于如图1的应用环境中,包括终端110和服务器120。终端110和服务器120通过网络连接。终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。虚拟对象控制方法可通过交互的应用程序中的虚拟对象控制程序实现。该虚拟对象控制程序可应用于终端110或服务器120。虚拟场景可以是在用于交互的应用程序中的虚拟场景。用于交互的应用程序可以是用于人机互动的应用程序,也可以是用于用户博弈的应用程序。用于人机交互的应用程序具体可以是多玩家的对局类游戏,如棋牌类游戏,例如斗地主游戏、跳棋等等。用于用户博弈的应用程序可以是用于计算用户实施的策略所带来的风险、网络安全的设置与风险等。
在一个实施例中,如图2所示,提供了一种虚拟对象控制方法的流程示意图。本实施例主要以该方法应用于上述图1中的终端110或服务器120来举例说明。参照图2,该虚拟对象控制方法,可应用于包含至少三个虚拟对象的虚拟场景中,具体包括如下步骤:
步骤202,获取目标虚拟对象可用的第一交互资源。
其中,目标虚拟对象可以是当前用户所对应的虚拟人物,如斗地主游戏中用户的所游戏账号对应的虚拟人物,也可以是计算机设备控制的虚拟人物。例如人机交互中机器控制的虚拟对象。虚拟场景中的虚拟对象的数量为最少三个。那么交互应用程序具体可以为斗地主牌类游戏、锄大地牌类游戏、跳棋棋类游戏、风险控制应用程序等不限于此。第一交互资源是指目标虚拟对象用于与其他虚拟对象进行交互的资源。例如,在牌类游戏中,第一交互资源可以是目标虚拟对象手里持有的牌。在棋类游戏中,第一交互资源可以是目标虚拟对象能够下棋的位置。该包含至少三个虚拟对象的虚拟场景可包括当前对象、合作对象和对手对象。
具体地,当目标虚拟对象处于可使用虚拟资源状态时,虚拟对象控制程序获取目标虚拟对象可用的第一交互资源。
步骤204,根据第一交互资源进行深度优先搜索,确定当前搜索结点的分值。
其中,深度优先搜索算法(Depth-First-Search,DFS)是一种针对图和树的遍历算法。深度优先搜索算法可用于罗列某件事的所有情况,并形成树。结点是在数据结构的图形表示中,对于数据集合中的每一个数据元素用中间标有元素值的方框表示,一般称之为数据结点,简称结点。每个结点可以认为是虚拟对象的一次决策。当前搜索结点是指在深度优先搜索的搜索过程中模拟的虚拟对象参与决策的当前结点。当前搜索结点可以是根结点,也可以是根结点和叶子结点当中任意结点。即当前搜索结点可以是除了叶子结点之外的任意结点。分值用于表示在博弈树中模拟当前搜索结点使用第一交互资源时得到的具体结果。分值可体现在博弈树中。
具体地,虚拟对象控制程序根据第一交互资源进行深度优先搜索,罗列出在一条完整分支中该至少三个虚拟对象中每个虚拟对象可能使用的第一交互资源的情况。其中,从根结点到叶子结点形成一条完整分支。当搜索到一条分支的叶子结点时,获取叶子结点的分值。虚拟对象控制程序根据叶子结点的分值确定当前搜索结点的分值。
本实施例中,获取叶子结点的分值之后,向上回溯到叶子结点的上一层结点。该叶子结点的上一个层结点即为当前搜索结点,那么根据叶子结点的分值可确定当前搜索结点的分值。当再向上回溯到当前搜索结点对应的上一层结点时,那么可根据当前搜索结点的分值得到当前搜索结点对应的上一层结点的分值…那么由叶子结点可以得到所有结点的分值。
本实施例中,虚拟对象控制程序可以获取目标虚拟对象可用的第一交互资源以及虚拟场景中已使用的第二交互资源;根据第一交互资源和第二交互资源进行深度优先搜索。其中,虚拟场景中的交互资源可分为目标虚拟对象可用的第一交互资源、虚拟场景中已使用的第二交互资源以及除第一交互资源和第二交互资源以外的剩余交互资源。例如,以斗地主游戏为例,交互资源包括目标虚拟对象持有的牌即第一交互资源,所有虚拟对象已经打出的牌即第二交互资源,除了目标虚拟对象以外的虚拟对象持有的牌即剩余交互资源。具体地,虚拟对象控制程序根据目标虚拟对象可用的第一交互资源,排除虚拟场景中已使用的第二交互资源,得到剩余的交互资源。虚拟对象控制程序根据第一交互资源以及剩余的交互资源进行深度优先搜索。
本实施例中,在开局前,虚拟对象控制程序可预测该至少三个目标虚拟对象中除了目标虚拟对象之外的其他虚拟对象对应的可用的第三交互资源,根据第一交互资源和第三交互资源进行深度优先搜索。
本实施例中,虚拟对象控制程序可预先设置搜索深度,当达到该搜索深度时,不再向下探索,而向上回溯。虚拟对象控制程序也可不设置搜索深度。
步骤206,当当前搜索结点为第一极值层结点时,回溯至第二极值层结点,获取对应的第二极值层结点的分值。
其中,第一极值层和第二极值层可以为不相同的极值层。具体第二极值与第一极值为相反的极值。在博弈树中包括两种极值层,分别是第一极值层和第二极值层。当第一极值层是极大值层时,第二极值层是极小值层;当第一极值层是极小值层时,第二极值层是极大值层。每个极值层含有至少一个极值层结点。第一极值和第二极值为相反的极值。本申请实施例中以Max层代表极大值层,以Min层代表极小值层。即当第一极值为极大值时,第二极值为极小值;当第一极值为极小值时,第二极值为极大值。在极大值层时,极大层的分值取子结点的中的最大分值。在极小层时,极小值的分值取子结点中的最小分值。
具体地,在Min-Max二人博弈中,使用交互资源的顺序是Min-Max或者Max-Min。而本申请实施例在包含至少三个虚拟对象的虚拟场景中,使用交互资源的顺序可以是Min-Max-Max、Max-Min-Max、Min-Min-Max等不限于此。在获取了叶子结点的分值之后,当当前搜索结点为第一极值层结点时,向上回溯至对应的第二极值层结点,获取第二极值层结点的分值。其中,回溯可以是指沿着枝返回上层。例如,当前使用交互资源顺序为Max1-Max2-Min,当前搜索结点为Min层结点时,虚拟对象控制程序可回溯到Max1层结点或者Max2层的结点。即本实施例中的回溯方式可以是min-Max1-Max2,min-Max2-Max1等不限于此。
本实施例中,当当前搜索结点为极大值层结点时,回溯至对应的极小值层结点,获取极小值层结点的分值。当当前搜索结点为极小值层结点时,回溯至对应的极大值层结点,获取极大值层结点的分值。
本实施例中,根据第一交互资源进行深度优先搜索,当当前搜索结点为第一极值层结点时,确定当前搜索结点的分值,并回溯至对应的第二极值层结点,获取第二极值层结点的分值。
步骤208,当当前搜索结点的分值以及第二极值层结点的分值满足预设条件时,停止对当前搜索结点搜索,得到博弈树。
其中,预设条件可以是剪枝条件等。将复杂的博弈树进行简化的过程称为剪枝。它的目的是去掉博弈树中的一些结点。常用的剪枝方式有alpha-beta剪枝算法等不限于此。alpha-beta剪枝算法可通过递归的方式实现。剪枝条件可是指当一个Min层结点的β值≤任何一个父结点的α值或者当一个Max层结点的α值≥任何一个父结点的β值。当前搜索结点的子结点是指与该当前搜索结点直接通过枝相连的下一个结点。枝是从一个结点到它的直接后续子结点的连线或者箭头。每一个枝代表参与对象的一个行动选择。
具体地,当任何一个当前搜索结点的分值以及对应的第二极值层结点的分值满足预设条件时,虚拟对象控制程序停止对该当前搜索结点对应的未搜索子结点搜索。该当前搜索结点对应的已搜索子结点仍旧存在。当回溯到根结点时,即当前搜索结点为根结点时,得到博弈树。
步骤210,根据博弈树控制目标虚拟对象使用第一交互资源。
具体地,整一棵博弈树已经构建完成。虚拟对象控制程序获取博弈树的根结点分值,根据博弈树的根结点分值控制目标虚拟对象使用第一交互资源。
本实施例中,每次当目标虚拟对象处于可使用虚拟资源状态时,虚拟对象控制程序执行一次获取目标虚拟对象可用的第一交互资源的步骤。例如,在斗地主游戏中,每当轮到目标虚拟对象出牌时,虚拟对象控制程序执行获取目标虚拟对象可用的第一交互资源,根据第一交互资源进行深度优先搜索,确定当前搜索结点的分值,当当前搜索结点为第一极值层结点时,回溯至对应的第二极值层结点,获取第二极值层结点的分值;当当前搜索结点的分值以及第二极值层结点的分值满足预设条件时,停止对当前搜索结点搜索,得到博弈树;根据博弈树控制目标虚拟对象使用第一交互资源。
本实施例中,如图3所示,为本申请一个实施例中剪枝和未经剪枝的搜索时间对比示意图。其中,以斗地主游戏为例,斗地主游戏的状态空间大约为1035,对于在线应用来说,使用计算机无法根据现有方案得到博弈树。以以下牌局状态A为例:
农民1手牌:234455699AA
农民2手牌:234567AAKT
地主手牌:KK
上一手出牌:地主出一张3
当前状态:农民1出牌
以测试机型8核2.5吉赫兹的中央处理器,16G存储器为例,在不经过任何优化的前提下,即完全展开博弈树,搜索时长为5400s,遍历结点数大于100亿。而采用上述剪枝的方式,能够使搜索时长减少为370s,从而减少了计算机的资源占用。
本实施例中,服务器可从终端获取目标虚拟对象可用的第一交互资源,根据第一交互资源进行深度优先搜索,确定当前搜索结点的分值,当当前搜索结点为第一极值层结点时,回溯至对应的第二极值层结点,获取第二极值层结点的分值;当当前搜索结点的分值以及第二极值层结点的分值满足剪枝条件时,对当前搜索结点对应的未搜索子结点剪枝,得到博弈树。服务器向终端发送博弈树的结果,以使终端根据博弈树控制目标虚拟对象使用第一交互资源。
上述虚拟对象控制方法,可应用于包括至少三个虚拟对象的虚拟场景中,获取目标虚拟对象可用的第一交互资源,根据第一交互资源进行深度优先搜索,确定当前搜索结点的分值,当当前搜索结点为第一极值层结点时,回溯至对应的第二极值层结点,获取第二极值层结点的分值,当分值满足剪枝条件时,对当前搜索结点对应的未搜索子结点剪枝,即停止对该当前搜索结点的其他子结点进行搜索,从而在构建博弈树的过程中减少了对分支的探索时间,能够快速得到博弈树,根据博弈树控制目标虚拟对象使用第一交互资源,能使目标虚拟对象得到一个较好的交互分值,并且减少计算机资源占用,也提高虚拟对象控制效率。
在一个实施例中,该虚拟场景可以是计算实施策略所带来的风险。例如,目标虚拟对象为用户1,所在层是极大值层,其他虚拟对象为对手1和对手2。分值可以为风险值。那么虚拟对象控制程序获取用户1可用的第一交互资源,根据第一交互资源进行深度优先搜索,确定当前搜索结点的风险值。当当前搜索结点为第一极值层结点时,回溯至对应的第二极值层结点,获取第二极值层结点的分值。即当当前搜索结点为用户1所在层结点时,回溯至对手1或对手2所在结点,获取对手1或对手2的风险值。当当前搜索结点的分值以及第二极值层结点的分值满足剪枝条件时,对当前搜索结点对应的未搜索子结点剪枝,即停止搜索当前搜索节点对应的未搜索子结点,得到博弈树。计算机根据博弈树控制目标虚拟对象选取风险值最小的选项。
在一个实施例中,该虚拟场景可以是网络安全设置与维护。例如,目标虚拟对象为网络维护安全员角色对象,其他的至少两个虚拟对象的角色为黑客。那么,网络维护安全员目的是使分值达到最高,并且保证计算机使用的便利性。而黑客的目的是使分值达到最低。第一交互资源可以是计算机网络安全选项设置。分值可以是根据网络安全性得到,还可以根据网络安全性以及功能使用的便利性得到。根据计算机网络安全选项设置进行深度优先搜索,确定当前搜索结点的分值,即确定当前网络安全选项开启后的分值。当当前搜索结点为网络安全员所在层结点时,回溯到黑客1或黑客2所在的结点,获取对应的分值。当当前搜索结点的分值以及黑客所在分值满足剪枝条件时,对当前搜索结点对应的未搜索子结点剪枝,得到博弈树。计算机根据博弈树控制网络安全员角色对象设置对应的网络安全选项。
在一个实施例中,如图4所示,为一个实施例中博弈树以及剪枝的部分示意图。在牌类游戏中,不仅需要考虑与对手对抗,还需要考虑与同伴合作。例如斗地主游戏、双升游戏等属于多人零和博弈的游戏。本实施例中所有的角色分为三类,玩家、同伴和对手,玩家即为目标虚拟对象,同伴的角色与目标虚拟对象的角色相同,对手为与目标虚拟对象角色不同的虚拟对象。同伴会最大化玩家的分数,而对手会最小化玩家与同伴的分数。叶子结点可分数代表玩家与同伴所得分数之和。其中,最底层的结点为叶子结点,最顶层的结点为根结点。根结点只有一个结点。以斗地主游戏为例,农民2为目标虚拟对象对应的角色,该博弈树最上面的农民2MAX层为极大值层,对应的结点为根结点。“3”表示根结点分值,而圆圈可以表示在根结点需要出的牌。圆圈可表示该层为极大值层,方框表示该层为极小值层。其中第②层的结点可以是第①层的子结点,第③层的结点可以是第②层的子结点…不限于此。父子结点为相邻层之间的关系。虚拟对象控制程序先从根结点往下遍历,在往下遍历的过程中,只有当达到叶子结点时才能知道分值。此时根结点“农民2MAX”对应一种可能出的牌。往下是地主MIN层中“3”对应的方框,接着是农民1MAX层中“3”对应的圆圈…一直到这个分支的叶子结点“-4”,得到分值。那么向上回溯,可给农民2MAX层赋值“-4”。当前搜索结点为农民2MAX的结点,暂不满足剪枝条件,继续搜索叶子结点得到“3”,此时当前搜索结点的子结点已经搜索完毕。向上回溯到第②层,即相反极值的层,得到第③层的分值也为3,第②层的分值暂时为3。第②层“3”结点还存在未搜索的子结点,那么继续搜索。…当搜索到第⑤层中“6”对应的结点时,得到第④层(MAX层)中对应父结点的α值也为6。那么向上回溯,发现第②层(MIN层)中的β值为3,满足α≥β的剪枝条件,即再往后搜索也得不到更好的结果了,那么对第④层的未搜索子结点剪枝。第⑤层中的“-2”即为原本应该存在的子结点,采用本实施例的方式,则“-2”被剪枝。
在一个实施例中,确定当前搜索结点的分值,包括:获取当前搜索结点对应的虚拟场景状态;根据虚拟场景状态从缓存中搜索当前搜索结点对应的分值。
其中,虚拟场景状态可用虚拟场景中的一些状态参数表示。具体可以包括虚拟对象的交互资源使用情况。交互资源使用情况可包括已使用的交互资源、虚拟对象可用的交互资源、交互资源使用次序中至少一种但不限于此。
具体地,缓存中对应存储虚拟场景状态以及分值。例如状态可用key表示,分值用value表示。虚拟对象控制程序获取当前搜索结点对应的虚拟场景状态,根据虚拟场景状态从缓存中搜索当前搜索结点对应的分值。那么,在进行深度优先搜索时,对于每个搜素结点,即如图4所示,每个圆圈或者每个框均可以从缓存中搜索是否有对应的分值。当从缓存中未搜索到对应的分值时,则需要继续往下搜索其他结点,直至达到叶子结点从而获取分值。当从缓存中搜索到对应的分值时,虚拟对象控制程序得到当前搜索结点对应的分值,则不需要继续向下搜索到叶子结点,直接向上回溯即可。缓存中的分值相当于叶子结点分值的作用。
本实施例中,如图5所示,为一个实施例中各种方式的耗时对比图。图4中依旧以测试机型8核2.5吉赫兹的中央处理器,16G存储器为例,在不经过任何优化的前提下,即完全展开博弈树,搜索时长为5400s(second,秒),遍历结点数大于100亿。而采用本申请中的剪枝方式,能够使搜索时长减少为370s。采用剪枝以及从缓存中查找分值的方式,能够使搜索时长减少为3.57s。
上述虚拟对象控制方法,获取当前搜索结点对应的虚拟场景状态,根据虚拟场景状态从缓存中搜索对应的分值,能够避免搜索到叶子结点才得到分值,能在未到叶子结点时就得到分值,向上回溯,减少计算机的计算量以及占用的资源,也提高虚拟对象控制效率。
在一个实施例中,获取当前搜索结点对应的虚拟场景状态,包括:获取虚拟场景中至少三个虚拟对象中每个虚拟对象已使用的第二交互资源、目标虚拟对象的上一个使用交互资源的虚拟对象及所使用的第二交互资源。
根据虚拟场景状态从缓存中搜索当前搜索结点对应的分值,包括:
根据每个虚拟对象已使用的第二交互资源、上一个使用交互资源的虚拟对象以及所使用的第二交互资源,从缓存中搜索当前搜索结点对应的分值。
其中,已使用的第二交互资源在棋类游戏中可以是已占据的棋盘中的位置,在牌类游戏中可以是已经打出的牌。每个虚拟对象已使用的第二交互资源是指在当前搜索结点之前,每个虚拟对象已使用的第二交互资源。每个虚拟对象已使用的第二交互资源包括在虚拟场景中已使用的第二交互资源。还可以包括博弈树中模拟的虚拟对象使用的第二交互资源。例如,地主已经打出34567的牌,农民1打出56789,那么在构建博弈树时,模拟农民2使用了9TJQK,但农民2在牌局中还未使用9TJQK,该9TJQK也可认为是第二交互资源。目标虚拟对象的上一个使用交互资源的虚拟对象是按照次序使用交互资源时,目标虚拟对象的上一个实际已使用交互资源的虚拟对象。目标虚拟对象的上一个使用交互资源的虚拟对象不一定是目标虚拟对象的上家。例如,斗地主游戏中正常的出牌顺序为Min-Max1-Max2,此时Max2的上家是Max1。当Max1选择跳过时,Max2的上一个使用交互资源的虚拟对象就是Min对应的对象。
具体地,虚拟对象控制程序获取虚拟场景中至少三个虚拟对象中每个虚拟对象已使用的第二交互资源、目标虚拟对象的上一个使用交互资源的虚拟对象以及该上一个使用交互资源的虚拟对象所使用的第二交互资源。虚拟对象控制程序根据每个虚拟对象已使用的第二交互资源、上一个使用交互资源的虚拟对象以及上一个使用交互资源的虚拟对象所使用的第二交互资源,从缓存中搜索当前搜索结点对应的分值。以斗地主游戏为例,至少三个虚拟对象中包括A、B和目标虚拟对象C。那么虚拟对象控制程序获取A对应已经出的牌、B对应已经出的牌、C对应已经出的牌、C的上一个出牌对象为A、以及上一个出牌对象A出的牌,一共5个条件。并根据这五个条件,从缓存中查找当前搜索结点对应的分值。目标虚拟对象当前可用的虚拟资源越少,那么越容易从缓存中找到上述五个条件对应的分值。当缓存足够大,牌局数量足够多时,根据虚拟场景状态总能从缓存中搜索到当前搜索结点对应的分值。
上述虚拟对象控制方法,获取虚拟场景中至少三个虚拟对象中每个虚拟对象已使用的第二交互资源、目标虚拟对象的上一个使用交互资源的虚拟对象以及该上一个使用交互资源的虚拟对象所使用的第二交互资源,根据每个虚拟对象已使用的第二交互资源、上一个使用交互资源的虚拟对象以及上一个使用交互资源的虚拟对象所使用的第二交互资源,从缓存中搜索当前搜索结点对应的分值,能够避免搜索到叶子结点才得到分值,能在未到叶子结点时就得到分值,向上回溯,减少计算机的计算量以及占用的资源,也提高虚拟对象控制效率。
在一个实施例中,虚拟对象控制方法还包括:当缓存中不存在当前搜索结点对应的虚拟场景状态,且缓存达到缓存阈值,淘汰缓存中最近最少使用的虚拟场景状态以及分值,将当前搜索结点对应的虚拟场景状态以及分值存储在缓存中。
其中,该缓存可以是LRU(Least Recently Used,最近最少使用)缓存。LRU缓存的原理是当数据在最近一段时间经常被访问,那么它在以后也会经常被访问。这就意味着,如果经常访问的数据,我们需要然其能够快速命中,而不常访问的数据,当容量超出限制内,要将其淘汰。缓存阈值可预先设置。例如1GB(Gigabyte,吉字节)、2GB等不限于此。缓存可以在终端,也可以在服务器中。
具体地,由于缓存容量有限,如果存储的虚拟场景状态和对应分值的容量太大,那么缓存容量可能会不够。当在缓存中不存在当前搜索结点对应的虚拟场景状态,且该缓存达到缓存阈值,虚拟对象控制程序淘汰缓存中最近最少使用的虚拟场景状态以及对应的分值。虚拟对象控制程序将新的虚拟场景状态以及分值对应存储在缓存中。即存储方式可以是key=虚拟场景状态,value=分值,key和value对应存储。
本实施例中,缓存阈值可根据计算机存储容量以及预设占比计算得到。例如计算机容量为16GB,预设容量占比为10%,则缓存容量为1.6GB。
上述虚拟对象控制方法,当缓存中不存在当前搜索结点对应的虚拟场景状态,且缓存达到缓存阈值,淘汰缓存中最近最少使用的虚拟场景状态以及分值,将当前搜索结点对应的虚拟场景状态以及分值存储在缓存中,方便使用,能够保证该数据占用的缓存大小不变,并且淘汰最少使用的数据,能够提高从缓存中查到对应分值的概率。
在一个实施例中,该虚拟对象控制方法还包括:当搜索到第一极值层时,按照预设交互资源使用规则对第一极值层对应的可用交互资源处理,得到第一极值交互收益对应的可用交互资源;将第一极值交互收益对应的可用交互资源作为第一极值层结点对应的可用交互资源。
当搜索到第二极值层时,按照预设交互资源使用规则对第二极值层对应的可用交互资源处理,得到第二极值交互收益对应的可用交互资源;将第二极值交互收益对应的交互可用资源作为第二极值层结点对应的可用交互资源。
其中,预设交互资源使用规则用于在每个极值层的结点处理交互资源,可使虚拟对象获得对应的交互收益。预设交互资源使用规则的数量不限。每种规则均有对应的交互收益。交互收益可用于评估使用交互资源后可能获得的收益。交互收益不体现在博弈树中。交互收益的计算方式与分值的计算方式可以相同,也可以不相同。可用交互资源是指未在交互程序虚拟场景中使用的交互资源以及未被博弈树中模拟使用的交互资源。
具体地,本实施例中以第一极值层为极大值层,第二极值层为极小值层为例进行说明。在深度优先搜索的过程中,当虚拟对象控制程序搜索到极大值层时,按照预设交互资源使用规则对极大值层对应的可用交互资源处理,得到极大交互收益对应的可用交互资源。即在该层,极大值为最优解。
当虚拟对象控制程序搜索到极小值层时,按照预设交互资源使用规则对极小值层对应的可用交互资源处理,得到极小交互收益对应的交互资源。即在该层,极小值为最优解。
本实施例中,分值高可代表胜利,分值低代表失败。分值高低与输赢的关系可根据需要配置。例如图4所示的博弈树,无论是圆圈中的分值还是方框中的分值均是目标虚拟对象可获得的分值。在MAX结点,轮到目标虚拟对象出牌,目标虚拟对象的目的是让自身分值高,那么极大值为该层的最优解。而在MIN结点,轮到对应的其他虚拟对象出牌,其他虚拟对象的目的是让目标虚拟对象的分值最低,那么极小值为该层的最优解。
上述虚拟对象控制方法中,当搜索到第一极值层时,按照预设交互资源使用规则对第一极值层对应的交互资源处理,得到第一极值交互收益对应的交互资源,将第一极值交互收益对应的交互资源作为第一极值层结点对应的交互资源;当搜索到第二极值层时,按照预设交互资源使用规则对第二极值层对应的交互资源处理,得到第二极值交互收益对应的交互资源,将第二极值交互收益对应的交互资源作为第二极值层结点对应的交互资源,能够在当前层得到一个较优解,从而找到一条在实际使用交互资源的情况下最可能出现的分支,使最可能的分支尽可能尽快满足剪枝条件,提高剪枝效率,从而减少计算机资源的占用,提高虚拟对象控制效率。
在一个实施例中,按照预设交互资源使用规则对第一极值层对应的可用交互资源处理,得到第一极值交互收益对应的可用交互资源,包括:
划分第一极值层对应的可用交互资源,得到可用交互资源的子集;
按照预设交互资源使用规则对可用交互资源的子集排列,获取第一极值交互收益对应的子集。
按照预设交互资源使用规则对第二极值层对应的可用交互资源处理,包括:
划分第二极值层对应的交互资源,得到可用交互资源的子集;
按照预设交互资源使用规则对可用交互资源的子集排列,获取第二极值交互收益对应的子集。
其中,可用交互资源的子集是指按照交互程序的规则对可用交互资源进行划分,并得到至少两个子集。
具体地,虚拟对象控制程序可按照交互程序的规则划分第一极值层对应的可用交互资源,得到可用交互资源的至少两个子集。按照预设交互资源使用规则对可用交互资源的至少两个子集排列,得到不同交互收益中每个交互收益对应的子集,从每个交互收益对应的子集中获取第一极值交互收益对应的子集。
虚拟对象控制程序可按照交互程序的规则划分第二极值层对应的可用交互资源,得到可用交互资源的至少两个子集。按照预设交互资源使用规则对可用交互资源的至少两个子集排列,得到不同交互收益中每个交互收益对应的子集,从每个交互收益对应的子集中获取第二极值交互收益对应的子集。
本实施例中,预设交互资源使用规则可包括①去掉该结点的出牌,牌的手数越少越好②去掉该结点的出牌,牌的张数越少越好③同一牌型的出牌,从小到大排序中至少一种但不限于此。无论在极大值层或是极小值层,均可以采用上述交互资源使用规则。而对于极大值层,采用上述规则可能会产生极大值对应的收益。对于极小值层,采用上述规则可能会产生极小值对应的收益。例如,第一交互资源是9T(10)JQKK,如果使用一张9,那么第一交互资源TJQKK,还剩5张,要至少出4次牌才能出完。如果先出一张K,第一交互资源还剩9TJQK,只需要出一次,但是还剩5张。如果出9TJQK,手里只剩一张K,这是最好的,即除去该结点的出牌,剩下的牌对应的出手次数越少越好,剩下的牌的张数越少越好。
本实施例中,如图6所示,为另一个实施例中各种方式耗时对比图。图6中仍旧以测试机型8核2.5吉赫兹的中央处理器,16G存储器为例,在不经过任何优化的前提下,即完全展开博弈树,搜索时长为5400s(second,秒),遍历结点数大于100亿。而采用本申请中的剪枝方式,能够使搜索时长减少为370s。采用从缓存中查找分值的方式,能够使搜索时长减少为3.57s。采用预设交互资源使用规则对交互资源处理的方式,能够使搜索时长减少为0.031s,降低了两个数量级的时长。
上述虚拟对象控制方法,划分第一极值层对应的可用交互资源,得到子集按照预设交互资源使用规则对子集排列,获取第一极值交互收益对应的子集,划分第而极值层对应的可用交互资源,得到子集,按照预设交互资源使用规则对子集排列,获取第二极值交互收益对应的子集,能够在当前层得到一个较优解,从而找到一条在实际使用交互资源的情况下最可能出现的分支,使最可能的分支尽可能尽快满足剪枝条件,提高剪枝效率,从而减少计算机资源的占用,提高虚拟对象控制效率。
在一个实施例中,确定当前搜索结点的分值,包括:当搜索到叶子结点时,获取叶子结点对应的叶子分值;根据叶子分值确定当前搜索结点的分值,其中,当前搜索结点为叶子结点的上层结点。
具体地,叶子结点是指在博弈树中没有子结点的结点。叶子结点的数量不限。叶子结点的上层结点可以是任意一个除了叶子结点以外的结点。当虚拟对象控制程序搜索到叶子结点时,可获取叶子结点对应的叶子分值。虚拟对象控制程序根据叶子结点向上回溯,可得到叶子结点的上层结点的分值。
本实施例中,叶子分值可按照该交互程序的规则得到。例如,在斗地主游戏中,分值可以设定为赢对手牌的张数,或者按照斗地主规则最后获得的倍数等不限于此。
上述虚拟对象控制方法,当搜索到叶子结点时,获取叶子结点对应的叶子分值,根据叶子分值获取当前搜索结点的分值,从而能够得到整个博弈树的分值,提高虚拟对象控制的准确性。
在一个实施例中,根据叶子分值确定当前搜索结点的分值,包括:当当前搜索结点为极大值层结点时,根据叶子分值获取对应的极大值,将极大值作为当前搜索结点的分值;当当前搜索结点为极小值层结点时,根据叶子分值获取对应的极小值,将极小值作为当前搜索结点的分值。
其中,当当前搜索结点为极大值层结点时,根据叶子分值向上回溯得到当前搜索结点的下一层结点的分值,获取该下一层结点的分值中的极大值,将极大值作为当前搜索结点的分值。
当当前搜索结点为极小值层结点时,根据叶子分值向上回溯得到当前搜索结点的下一层结点的分值,获取该下一层结点的分值中的极小值,将极小值作为当前搜索结点的分值。
本实施例中,以当前搜索结点是叶子结点的上一层为例,且当前搜索结点为极大值层结点。虚拟对象控制程序获取第一叶子结点的分值,向上回溯,将第一叶子结点的分值赋予当前搜索结点。虚拟对象控制程序继续探索当前搜索结点对应的第二叶子结点,当第二叶子结点的值大于第一叶子结点的值时,将第二叶子结点的值赋予当前搜索结点。那么,当向上回溯至对应的极小值层结点,获取该极小值层结点的分值,当当前搜索结点的分值以及极小值层结点的分值满足极大值层结点分值大于极小值层结点分值时,不再搜索当前搜索结点的其他子结点。如此操作直到根结点,得到博弈树。
上述虚拟对象控制方法,当当前搜索结点为极大值层结点时,根据叶子分值获取对应的极大值,将极大值作为当前搜索结点的分值,当当前搜索结点为极小值层结点时,根据叶子分值获取对应的极小值,将极小值作为当前搜索结点的分值,能够根据每一层的下一层得到当前搜索结点的分值,从而得到整个博弈树的分值,提高虚拟对象控制的准确性。
在一个实施例中,图7为一个实施例中使用第一交互资源的流程示意图。如图7所示,根据博弈树控制目标虚拟对象使用第一交互资源,包括:
步骤702,获取博弈树的根结点分值。
其中,根结点(root)是树的一个组成部分,也叫树根。每棵博弈树都有且仅有一个根结点。根结点没有父结点。即根结点没有上层结点,只有下层结点。
具体地,虚拟对象控制程序获取博弈树的根结点分值。
步骤704,根据根结点分值获取对应的目标交互资源。
其中,目标交互资源是指将要使用的第一交互资源中的交互资源。在牌类游戏中,目标交互资源可以是将要出的牌。在棋类游戏中,目标交互资源可以是将要下棋的位置。
具体地,由于在博弈树从上往下构建时,已经模拟使用虚拟资源,因此在得到根结点分值后,虚拟对象控制程序可以获取对应的目标交互资源。
步骤706,控制目标虚拟对象从第一交互资源中获取并使用目标交互资源。
上述虚拟对象控制方法,获取博弈树的根结点分值,根据根结点分值获取对应的目标交互资源,控制目标虚拟对象从第一交互资源中获取并使用目标交互资源,能够得到目标虚拟对象对应的最优解,并且通过剪枝的方式能够减少计算机占用资源。
在一个实施例中,当当前搜索结点为第一极值层结点时,回溯至对应的第二极值层结点,包括:
当第二极值层为至少两个第二极值层、至少两个第二极值层为相邻的极值层,且当前搜索结点为第一极值层结点时,回溯至该至少两个第二极值层中任意一个极值层中对应的结点。
具体地,当第二极值层为至少两个第二极值层、至少两个第二极值层为相邻的极值层,且当前搜索结点为第一极值层结点时,回溯至该至少两个第二极值层中任意一个极值层中通过枝相连的结点。以斗地主游戏为例,该牌类游戏为两人合作且与一人对立的游戏,以出牌顺序Max1-Max2-Min为例,Max层为第二极值层,Min层为第一极值层。那么,Max层为两层,并且Max层为相邻的两层,当前搜索结点为Min层结点,那么Min层结点可以回溯到Max1层或者Max2层对应的结点。
本实施例中,以锄大地牌类游戏为例,出牌顺序可为Min1-Min2-Min3-Max。该游戏为四人交互但不合作的游戏。Min层为三层,并且与三层Min均为相邻层,当在Max层时,可回溯到Min1、Min2或者Min3层对应的结点。
本实施例中,当第二极值层为至少两个第二极值层、至少两个第二极值层为相邻的极值层,且当前搜索结点为第一极值层结点时,虚拟对象控制程序可回溯至该第二极值层中与当前搜索结点所在层最靠近的第二极值层。
本实施例中,当第一极值层为至少两个第一极值层、至少两个第一极值层为相邻的极值层,且当前搜索结点为第二极值层结点时,回溯至该至少两个第一极值层中任意一个极值层中对应的结点。
上述虚拟对象控制方法,当第二极值层为至少两个第二极值层、至少两个第二极值层为相邻的极值层,且当前搜索结点为第一极值层结点时,回溯至该至少两个第二极值层中任意一个极值层中对应的结点,能够将实现在至少三人的虚拟场景中的剪枝,从而减少计算机资源占用以及提高虚拟对象控制效率。
在一个实施例中,当前搜索结点的分值为第一分值或第二分值。第二极值层结点的分值为第一分值或第二分值。第一分值与第二分值不相同。其中,第一分值和第二分值均可以为任意一个固定的分值。且第一分值和第二分值不相同。例如,交互结果为输,对应的第一分值为-1、0或者1等不限于此;交互结果为赢,对应的第一分值可为1、2或者3等不限于此。整棵博弈树如图7所示,图8为另一个实施例中博弈树的示意图。整棵博弈树中的分值只有两个,可以为-1或1,即第一分值和第二分值。对比于具有多种分值的博弈树,在极大值层虚拟对象控制程序需要在子结点中查找到极大值,例如图3中的-4和3,在找到-4时,需要往下找,才知道-4是不是极大值。而将分值设置为第一分值或第二分值,那么当当前搜索层为极大值层时,只要从极大值层的子结点中找到分值1,则可以对未搜索的子结点直接剪枝。
本实施例中,如图9所示,为又一个实施例中各种方式耗时对比图。图8中仍旧以测试机型8核2.5吉赫兹的中央处理器,16G存储器为例,在不经过任何优化的前提下,即完全展开博弈树,搜索时长为5400s(second,秒),遍历结点数大于100亿。而采用本申请中的剪枝方式,能够使搜索时长减少为370s。采用剪枝以及从缓存中查找分值的方式,能够使搜索时长减少为3.57s。采用剪枝、缓存和预设交互资源使用规则对交互资源处理的方式,能够使搜索时长减少为0.031s,降低了两个数量级的时长。而采用剪枝、缓存、预设资源使用规则的方式以及将结点分值设置为第一分值和第二分值的方式,能够使搜索时长减少为0.003秒,又降低了1个数量级。
上述虚拟对象控制方法,当前搜索结点的分值为第一分值或第二分值,第二极值层结点的分值为第一分值或第二分值,第一分值与第二分值不相同,由于整个博弈树中只有两个值,那么虚拟对象控制程序能较快得到极大值或极小值,从而减少计算机资源占用,提高虚拟对象控制效率。
在一个实施例中,当当前搜索结点的分值以及第二极值层结点的分值满足预设条件时,停止对当前搜索结点搜索,包括:
当当前搜索结点的分值以及第二极值层结点的分值满足极大值层结点的分值大于或等于极小值层结点的分值时,停止对当前搜索结点对应的未搜索子结点搜索。
其中。未搜索子结点是指该子结点可能存在,但是未被虚拟对象控制程序搜索。
具体地,当当前搜索结点所在层为极小值层以及第二极值层为极大值层,或者当当前搜索结点所在层为极大值层以及第二极值层为极小值层,只要当前搜索结点的分值以及第二极值层结点的分值满足极大值层结点的分值大于或等于极小值结点的分值时,就停止对当前搜索节点对应的未搜索子节点的搜索,即对当前搜索结点对应的未搜索子结点剪枝。
本实施例中,当当前处于极小值层,且子结点的分值小于当前搜索结点的分值时,则当前搜索结点的分值修改为子结点的分值,当前极小值层的β值为该子结点的分值。当回溯的极大值层对应的α值大于或等于当前极小值层的分值即β值时,对当前搜索结点的未搜索子结点剪枝,得到博弈树。
当当前处于极大值层,且子结点的分值大于当前搜索结点的分值时,则当前搜索结点的分值修改为子结点的分值,当前极大值层的α值为该子结点的分值。当该极大值层对应的α值大于或等于回溯的极小值层的β值时,对当前搜索结点的未搜索子结点剪枝,得到博弈树。
上述虚拟对象控制方法,当当前搜索结点的分值以及第二极值层结点的分值满足极大值层结点的分值大于或等于极小值层结点的分值时,对当前搜索结点对应的未搜索子结点剪枝,无论当前搜索结点所在层为哪一层,均采用同一剪枝条件,能够停止搜索子结点,减少计算机占用率,且提高虚拟对象控制效率。
在一个实施例中,如图10(a)所示,为一个实施例中斗地主游戏的界面示意图。如图10(b)所示,为另一个实施例中斗地主游戏的界面示意图。如图10(c)所示,为又一个实施例中斗地主游戏的界面示意图。具体地,虚拟对象控制程序可应用于如图10(a)、图10(b)和图10(c)所示的斗地主游戏中。图10(a)为斗地主温暖局,目标虚拟对象可为“冰”、“平安顺心”或者“子骄”。即采用本申请实施例的虚拟对象控制方法的对象均可称为目标虚拟对象。当前可用的第一交互资源为牌资源“2 2 Q J 8 8 8 8 7 6 6 6 5 3 3 3 3”。图10(b)为斗地主红包赛。图10(c)可为斗地主单机,即虚拟对象控制程序可应用于人机交互。
在一个实施例中,一种虚拟对象控制方法,应用于包含至少三个虚拟对象的虚拟场景中,该方法包括以下步骤:
步骤(a1),获取目标虚拟对象可用的第一交互资源。
步骤(a2),根据第一交互资源进行深度优先搜索。
步骤(a3),当搜索到第一极值层时,划分第一极值层对应的可用交互资源,以及按照预设交互资源使用规则对第一极值层对应的可用交互资源排列,获取第一极值交互收益对应的可用交互资源。
步骤(a4),将第一极值交互收益对应的可用交互资源作为第一极值层结点对应的可用交互资源。
步骤(a5),当搜素到第二极值层时,划分第二极值层对应的交互资源,以及按照预设交互资源使用规则对第二极值层对应的可用交互资源排列,获取第二极值交互收益对应的可用交互资源。
步骤(a6),将第二极值交互收益对应的可用交互资源作为第二极值层结点对应的可用交互资源。
步骤(a7),获取虚拟场景中至少三个虚拟对象中每个虚拟对象已使用的第二交互资源、目标虚拟对象的上一个使用交互资源的虚拟对象及所使用的第二交互资源。
步骤(a8),根据每个虚拟对象已使用的第二交互资源、上一个使用交互资源的虚拟对象以及所使用的第二交互资源,从缓存中搜索当前搜索结点对应的分值。
步骤(a9),当缓存中不存在当前搜索结点对应的虚拟场景状态,且缓存达到缓存阈值时,剔除淘汰缓存中最近最少使用的虚拟场景状态以及对应的分值,将当前搜索结点对应的虚拟场景状态以及分值对应存储在缓存中。
步骤(a10),当当前搜索结点为第一极值层结点时,回溯至对应的第二极值层结点,获取第二极值层结点的分值,其中,第二极值与第一极值为相反的极值。
步骤(a11),当当前搜索结点的分值以及第二极值层结点的分值满足极大值层结点的分值大于或等于极小值层结点的分值时,停止对当前搜索结点对应的未搜索子结点搜索,当前搜索结点的分值为第一分值或第二分值。第二极值层结点的分值为第一分值或第二分值,第一分值和第二分值不相同,得到博弈树。
步骤(a12),获取博弈树的根结点分值。
步骤(a13),根据根结点分值获取对应的目标交互资源。
步骤(a14),控制目标虚拟对象从第一交互资源中获取并使用目标交互资源。
虽然上述步骤(a1)至(a14)各个步骤按照数字的指示依次显示,但是这些步骤并不是必然按照数字指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述步骤(a1)至(a14)中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
上述虚拟对象控制方法,可应用于包括至少三个虚拟对象的虚拟场景中,获取目标虚拟对象可用的第一交互资源,根据第一交互资源进行深度优先搜索,获取虚拟场景中至少三个虚拟对象中每个虚拟对象已使用的第二交互资源、目标虚拟对象的上一个使用交互资源的虚拟对象以及该上一个使用交互资源的虚拟对象所使用的第二交互资源,根据每个虚拟对象已使用的第二交互资源、上一个使用交互资源的虚拟对象以及上一个使用交互资源的虚拟对象所使用的第二交互资源,从缓存中搜索当前搜索结点对应的分值,能够避免搜索到叶子结点才得到分值,能在未到叶子结点时就得到分值,向上回溯,减少计算机的计算量以及占用的资源,也提高虚拟对象控制效率;当当前搜索结点为第一极值层结点时,回溯至对应的第二极值层结点,获取第二极值层结点的分值,当分值满足剪枝条件时,对当前搜索结点对应的未搜索子结点剪枝,即停止对该当前搜索结点的其他子结点进行搜索,在包括至少三个对象的虚拟场景中进行剪枝,从而在构建博弈树的过程中减少了对分支的探索时间,能够快速得到博弈树,根据博弈树控制目标虚拟对象使用第一交互资源,能使目标虚拟对象得到一个较好的交互结果,并且减少计算机资源占用,也提高虚拟对象控制效率。
图2和7为一个实施例中虚拟对象控制方法的流程示意图。应该理解的是,虽然图2和7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图11为一个实施例中虚拟对象控制装置的结构框图。如图11所示,一种虚拟对象控制装置,包括第一获取模块1102、深度优先模块1104、第二获取模块1106、停止搜索模块1108和控制模块1110,其中:
第一获取模块1102,用于获取目标虚拟对象可用的第一交互资源。
深度优先模块1104,用于根据第一交互资源进行深度优先搜索,确定当前搜索结点的分值。
第二获取模块1106,用于当当前搜索结点为第一极值层结点时,回溯至对应的第二极值层结点,获取第二极值层结点的分值。
停止搜索模块1108,用于当当前搜索结点的分值以及第二极值层结点的分值满足预设条件时,停止对当前搜索结点搜索,得到博弈树。
控制模块1110,根据博弈树控制目标虚拟对象使用第一交互资源。
上述虚拟对象控制装置,可应用于包括至少三个虚拟对象的虚拟场景中,获取目标虚拟对象可用的第一交互资源,根据第一交互资源进行深度优先搜索,确定当前搜索结点的分值,当当前搜索结点为第一极值层结点时,回溯至对应的第二极值层结点,获取第二极值层结点的分值,当分值满足预设条件时,停止对该当前搜索结点的其他子结点进行搜索,从而在构建博弈树的过程中减少了对分支的探索时间,能够快速得到博弈树,根据博弈树控制目标虚拟对象使用第一交互资源,能使目标虚拟对象得到一个较好的交互分值,并且减少计算机资源占用,也提高虚拟对象控制效率。
在一个实施例中,深度优先模块1104用于获取当前搜索结点对应的虚拟场景状态;根据虚拟场景状态从缓存中搜索当前搜索结点对应的分值。
上述虚拟对象控制装置,获取当前搜索结点对应的虚拟场景状态,根据虚拟场景状态从缓存中搜索对应的分值,能够避免搜索到叶子结点才得到分值,能在未到叶子结点时就得到分值,向上回溯,减少计算机的计算量以及占用的资源,也提高虚拟对象控制效率。
在一个实施例中,深度优先模块1104用于获取虚拟场景中至少三个虚拟对象中每个虚拟对象已使用的第二交互资源、目标虚拟对象的上一个使用交互资源的虚拟对象及所使用的第二交互资源;根据每个虚拟对象已使用的第二交互资源、上一个使用交互资源的虚拟对象以及所使用的第二交互资源,从缓存中搜索当前搜索结点对应的分值。
上述虚拟对象控制装置,获取虚拟场景中至少三个虚拟对象中每个虚拟对象已使用的第二交互资源、目标虚拟对象的上一个使用交互资源的虚拟对象以及该上一个使用交互资源的虚拟对象所使用的第二交互资源,根据每个虚拟对象已使用的第二交互资源、上一个使用交互资源的虚拟对象以及上一个使用交互资源的虚拟对象所使用的第二交互资源,从缓存中搜索当前搜索结点对应的分值,能够避免搜索到叶子结点才得到分值,能在未到叶子结点时就得到分值,向上回溯,减少计算机的计算量以及占用的资源,也提高虚拟对象控制效率。
在一个实施例中,该虚拟对象控制装置还包括缓存模块。缓存模块用于当缓存中不存在当前搜索结点对应的虚拟场景状态,且缓存达到缓存阈值,淘汰缓存中最近最少使用的虚拟场景状态以及分值,将当前搜索结点对应的虚拟场景状态以及分值存储在缓存中。
上述虚拟对象控制装置,当缓存中不存在当前搜索结点对应的虚拟场景状态,且缓存达到缓存阈值,淘汰缓存中最近最少使用的虚拟场景状态以及分值,将当前搜索结点对应的虚拟场景状态以及分值存储在缓存中,方便使用,能够保证该数据占用的缓存大小不变,并且淘汰最少使用的数据,能够提高从缓存中查到对应分值的概率。
在一个实施例中,该虚拟对象控制装置还包括交互资源处理模块。交互资源处理模块用于当搜索到第一极值层时,按照预设交互资源使用规则对第一极值层对应的可用交互资源处理,得到第一极值交互收益对应的可用交互资源;将第一极值交互收益对应的可用交互资源作为第一极值层结点对应的可用交互资源;当搜索到第二极值层时,按照预设交互资源使用规则对第二极值层对应的可用交互资源处理,得到第二极值交互收益对应的可用交互资源;将第二极值交互收益对应的交互可用资源作为第二极值层结点对应的可用交互资源。
上述虚拟对象控制装置中,当搜索到第一极值层时,按照预设交互资源使用规则对第一极值层对应的交互资源处理,得到第一极值交互收益对应的交互资源,将第一极值交互收益对应的交互资源作为第一极值层结点对应的交互资源;当搜索到第二极值层时,按照预设交互资源使用规则对第二极值层对应的交互资源处理,得到第二极值交互收益对应的交互资源,将第二极值交互收益对应的交互资源作为第二极值层结点对应的交互资源,能够在当前层得到一个较优解,从而找到一条在实际使用交互资源的情况下最可能出现的分支,使最可能的分支尽可能尽快满足剪枝条件,提高剪枝效率,从而减少计算机资源的占用,提高虚拟对象控制效率。
在一个实施例中,该虚拟对象控制装置还包括交互资源处理模块。交互资源处理模块用于划分第一极值层对应的可用交互资源,得到可用交互资源的子集;按照预设交互资源使用规则对可用交互资源的子集排列,获取第一极值交互收益对应的子集。划分第二极值层对应的交互资源,得到可用交互资源的子集;按照预设交互资源使用规则对可用交互资源的子集排列,获取第二极值交互收益对应的子集。
上述虚拟对象控制装置,划分第一极值层对应的可用交互资源,得到子集按照预设交互资源使用规则对子集排列,获取第一极值交互收益对应的子集,划分第而极值层对应的可用交互资源,得到子集,按照预设交互资源使用规则对子集排列,获取第二极值交互收益对应的子集,能够在当前层得到一个较优解,从而找到一条在实际使用交互资源的情况下最可能出现的分支,使最可能的分支尽可能尽快满足剪枝条件,提高剪枝效率,从而减少计算机资源的占用,提高虚拟对象控制效率。
在一个实施例中,深度优先模块1104用于当搜索到叶子结点时,获取叶子结点对应的叶子分值;根据叶子分值确定当前搜索结点的分值,其中,当前搜索结点为叶子结点的上层结点。
上述虚拟对象控制装置,当搜索到叶子结点时,获取叶子结点对应的叶子分值,根据叶子分值获取当前搜索结点的分值,从而能够得到整个博弈树的分值,提高虚拟对象控制的准确性。
在一个实施例中,深度优先模块1104用于当当前搜索结点为极大值层结点时,根据叶子分值获取对应的极大值,将极大值作为当前搜索结点的分值;当当前搜索结点为极小值层结点时,根据叶子分值获取对应的极小值,将极小值作为当前搜索结点的分值。
上述虚拟对象控制装置,当当前搜索结点为极大值层结点时,根据叶子分值获取对应的极大值,将极大值作为当前搜索结点的分值,当当前搜索结点为极小值层结点时,根据叶子分值获取对应的极小值,将极小值作为当前搜索结点的分值,能够根据每一层的下一层得到当前搜索结点的分值,从而得到整个博弈树的分值,提高虚拟对象控制的准确性。
在一个实施例中,控制模块1110用于获取博弈树的根结点分值,根据根结点分值获取对应的目标交互资源,控制目标虚拟对象从第一交互资源中获取并使用目标交互资源。
上述虚拟对象控制装置,获取博弈树的根结点分值,根据根结点分值获取对应的目标交互资源,控制目标虚拟对象从第一交互资源中获取并使用目标交互资源,能够得到目标虚拟对象对应的最优解,并且通过剪枝的方式能够减少计算机占用资源。
在一个实施例中,第二获取模块1106用于当第二极值层为至少两个第二极值层、至少两个第二极值层为相邻的极值层,且当前搜索结点为第一极值层结点时,回溯至该至少两个第二极值层中任意一个极值层中对应的结点。
上述虚拟对象控制装置,当第二极值层为至少两个第二极值层、至少两个第二极值层为相邻的极值层,且当前搜索结点为第一极值层结点时,回溯至该至少两个第二极值层中任意一个极值层中对应的结点,能够将实现在至少三人的虚拟场景中的剪枝,从而减少计算机资源占用以及提高虚拟对象控制效率。
在一个实施例中,当前搜索结点的分值为第一分值或第二分值。第二极值层结点的分值为第一分值或第二分值。第一分值与第二分值不相同。
上述虚拟对象控制装置,当前搜索结点的分值为第一分值或第二分值,第二极值层结点的分值为第一分值或第二分值,第一分值与第二分值不相同,由于整个博弈树中只有两个值,那么虚拟对象控制程序能较快得得到极大值或极小值,从而减少计算机资源占用,提高虚拟对象控制效率。
在一个实施例中,停止搜索模块1108用于当当前搜索结点的分值以及第二极值层结点的分值满足极大值层结点的分值大于或等于极小值层结点的分值时,停止对当前搜索结点对应的未搜索子结点搜索。
上述虚拟对象控制装置,当当前搜索结点的分值以及第二极值层结点的分值满足极大值层结点的分值大于或等于极小值层结点的分值时,停止对当前搜索结点对应的未搜索子结点搜索,无论当前搜索结点所在层为哪一层,均采用同一剪枝条件,能够停止搜索子结点,减少计算机占用率,且提高虚拟对象控制效率。
图12示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110。如图12所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现虚拟对象控制方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行虚拟对象控制方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的虚拟对象控制装置可以实现为一种计算机程序的形式,计算机程序可在如图12所示的计算机设备上运行。计算机设备的存储器中可存储组成该虚拟对象控制装置的各个程序模块,比如,图11所示的第一获取模块1102、深度优先模块1104、第二获取模块1106、停止搜索模块1108和控制模块1110。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的虚拟对象控制方法中的步骤。
例如,图12所示的计算机设备可以通过如图11所示的虚拟对象控制装置中的第一获取模块执行获取目标虚拟对象可用的第一交互资源。计算机设备可通过深度优先搜索模块执行根据第一交互资源进行深度优先搜索,确定当前搜索结点的分值。计算机设备可通过第二获取模块执行当当前搜索结点为第一极值层结点时,回溯至对应的第二极值层结点,获取第二极值层结点的分值。计算机设备可通过停止搜索模块执行当当前搜索结点的分值以及第二极值层结点的分值满足预设条件时,停止对当前搜索结点搜索,得到博弈树。计算机设备可通过控制模块执行根据博弈树控制目标虚拟对象使用第一交互资源。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述虚拟对象控制方法的步骤。此处虚拟对象控制方法的步骤可以是上述各个实施例的虚拟对象控制方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述虚拟对象控制方法的步骤。此处虚拟对象控制方法的步骤可以是上述各个实施例的虚拟对象控制方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (24)
1.一种虚拟对象控制方法,其特征在于,所述方法包括:
获取目标虚拟对象可用的第一交互资源;
根据所述第一交互资源进行深度优先搜索,针对当前搜索结点,获取所述当前搜索结点对应的虚拟场景状态,当缓存中存在所述当前搜索结点对应的虚拟场景状态,根据所述虚拟场景状态从所述缓存中搜索所述当前搜索结点对应的分值;
当所述当前搜索结点为第一极值层结点时,回溯至对应的第二极值层结点,获取所述第二极值层结点的分值;
当所述当前搜索结点的分值以及所述第二极值层结点的分值满足预设剪枝条件时,停止对所述当前搜索结点搜索,得到博弈树;
根据所述博弈树控制所述目标虚拟对象使用所述第一交互资源。
2.根据权利要求1所述的方法,其特征在于,所述获取当前搜索结点对应的虚拟场景状态,包括:
获取虚拟场景中至少三个虚拟对象中每个虚拟对象已使用的第二交互资源、所述目标虚拟对象的上一个使用交互资源的虚拟对象及所使用的第二交互资源;
所述根据所述虚拟场景状态从缓存中搜索所述当前搜索结点对应的分值,包括:
根据所述每个虚拟对象已使用的第二交互资源、所述上一个使用交互资源的虚拟对象以及所述所使用的第二交互资源,从缓存中搜索所述当前搜索结点对应的分值。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当缓存中不存在所述当前搜索结点对应的虚拟场景状态,继续搜索至叶子结点,获取所述叶子结点对应的叶子分值;
根据所述叶子分值确定所述当前搜索结点的分值。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当所述缓存中不存在所述当前搜索结点对应的虚拟场景状态,且所述缓存达到缓存阈值时,淘汰所述缓存中最近最少使用的虚拟场景状态以及对应的分值,将所述当前搜索结点对应的所述虚拟场景状态以及所述当前搜索结点对应的分值对应存储在所述缓存中。
5.根据权利要求3所述的方法,其特征在于,所述根据所述叶子分值确定所述当前搜索结点的分值,包括:
当所述当前搜索结点为极大值层结点时,根据所述叶子分值获取对应的极大值,将所述极大值作为所述当前搜索结点的分值;
当所述当前搜索结点为极小值层结点时,根据所述叶子分值获取对应的极小值,将所述极小值作为所述当前搜索结点的分值。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当搜索到第一极值层时,按照预设交互资源使用规则对所述第一极值层对应的可用交互资源处理,得到第一极值交互收益对应的可用交互资源;
将所述第一极值交互收益对应的可用交互资源作为所述第一极值层结点对应的可用交互资源;
当搜索到第二极值层时,按照所述预设交互资源使用规则对所述第二极值层对应的可用交互资源处理,得到第二极值交互收益对应的可用交互资源;
将所述第二极值交互收益对应的可用交互资源作为所述第二极值层结点对应的可用交互资源。
7.根据权利要求6所述的方法,其特征在于,所述按照预设交互资源使用规则对所述第一极值层对应的可用交互资源处理,得到第一极值交互收益对应的可用交互资源,包括:
划分所述第一极值层对应的可用交互资源,得到所述可用交互资源的子集;
按照所述预设交互资源使用规则对所述可用交互资源的子集排列,获取所述第一极值交互收益对应的子集;
所述按照所述预设交互资源使用规则对所述第二极值层对应的可用交互资源处理,包括:
划分所述第二极值层对应的交互资源,得到所述可用交互资源的子集;
按照所述预设交互资源使用规则对所述可用交互资源的子集排列,获取所述第二极值交互收益对应的子集。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述根据所述博弈树控制所述目标虚拟对象使用所述第一交互资源,包括:
获取所述博弈树的根结点分值;
根据所述根结点分值获取对应的目标交互资源;
控制所述目标虚拟对象从所述第一交互资源中获取并使用所述目标交互资源。
9.根据权利要求1至7任一项所述的方法,其特征在于,所述当所述当前搜索结点为第一极值层结点时,回溯至对应的第二极值层结点,包括:
当第二极值层为至少两个第二极值层、所述至少两个第二极值层为相邻的极值层,且所述当前搜索结点为第一极值层结点时,回溯至所述至少两个第二极值层中任意一个极值层中对应的结点。
10.根据权利要求1至7任一项所述的方法,其特征在于,所述当前搜索结点的分值为第一分值或第二分值;所述第二极值层结点的分值为第一分值或第二分值,所述第一分值和所述第二分值不相同。
11.根据权利要求1至7任一项所述的方法,其特征在于,所述当所述当前搜索结点的分值以及所述第二极值层结点的分值满足预设剪枝条件时,停止对所述当前搜索结点搜索,包括:
当所述当前搜索结点的分值以及所述第二极值层结点的分值满足极大值层结点的分值大于或等于极小值层结点的分值时,停止对所述当前搜索结点对应的未搜索子结点搜索。
12.一种虚拟对象控制装置,其特征在于,所述装置包括:
第一获取模块,用于获取目标虚拟对象可用的第一交互资源;
深度优先搜索模块,用于根据所述第一交互资源进行深度优先搜索,针对当前搜索结点,获取所述当前搜索结点对应的虚拟场景状态,当缓存中存在所述当前搜索结点对应的虚拟场景状态,根据所述虚拟场景状态从所述缓存中搜索所述当前搜索结点对应的分值;
第二获取模块,用于当所述当前搜索结点为第一极值层结点时,回溯至对应的第二极值层结点,获取所述第二极值层结点的分值;
停止搜索模块,用于当所述当前搜索结点的分值以及所述第二极值层结点的分值满足预设剪枝条件时,停止对所述当前搜索结点搜索,得到博弈树;
控制模块,根据所述博弈树控制所述目标虚拟对象使用所述第一交互资源。
13.根据权利要求12所述的装置,其特征在于,所述深度优先模块还用于:获取虚拟场景中至少三个虚拟对象中每个虚拟对象已使用的第二交互资源、所述目标虚拟对象的上一个使用交互资源的虚拟对象及所使用的第二交互资源;根据所述每个虚拟对象已使用的第二交互资源、所述上一个使用交互资源的虚拟对象以及所述所使用的第二交互资源,从缓存中搜索所述当前搜索结点对应的分值。
14.根据权利要求12所述的装置,其特征在于,所述深度优先模块还用于:当缓存中不存在所述当前搜索结点对应的虚拟场景状态,继续搜索至叶子结点,获取所述叶子结点对应的叶子分值;根据所述叶子分值确定所述当前搜索结点的分值。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括缓存模块,所述缓存模块用于:当所述缓存中不存在所述当前搜索结点对应的虚拟场景状态,且所述缓存达到缓存阈值时,淘汰所述缓存中最近最少使用的虚拟场景状态以及对应的分值,将所述当前搜索结点对应的所述虚拟场景状态以及所述当前搜索结点对应的分值对应存储在所述缓存中。
16.根据权利要求14所述的装置,其特征在于,所述深度优先模块还用于:当所述当前搜索结点为极大值层结点时,根据所述叶子分值获取对应的极大值,将所述极大值作为所述当前搜索结点的分值;当所述当前搜索结点为极小值层结点时,根据所述叶子分值获取对应的极小值,将所述极小值作为所述当前搜索结点的分值。
17.根据权利要求12所述的装置,其特征在于,所述装置还包括:交互资源处理模块,用于:当搜索到第一极值层时,按照预设交互资源使用规则对所述第一极值层对应的可用交互资源处理,得到第一极值交互收益对应的可用交互资源;将所述第一极值交互收益对应的可用交互资源作为所述第一极值层结点对应的可用交互资源;当搜索到第二极值层时,按照所述预设交互资源使用规则对所述第二极值层对应的可用交互资源处理,得到第二极值交互收益对应的可用交互资源;将所述第二极值交互收益对应的可用交互资源作为所述第二极值层结点对应的可用交互资源。
18.根据权利要求17所述的装置,其特征在于,所述交互资源处理模块,还用于:划分所述第一极值层对应的可用交互资源,得到所述可用交互资源的子集;按照所述预设交互资源使用规则对所述可用交互资源的子集排列,获取所述第一极值交互收益对应的子集;划分所述第二极值层对应的交互资源,得到所述可用交互资源的子集;按照所述预设交互资源使用规则对所述可用交互资源的子集排列,获取所述第二极值交互收益对应的子集。
19.根据权利要求12至18任一项所述的装置,其特征在于,所述控制模块还用于:获取所述博弈树的根结点分值;根据所述根结点分值获取对应的目标交互资源;控制所述目标虚拟对象从所述第一交互资源中获取并使用所述目标交互资源。
20.根据权利要求12至18任一项所述的装置,其特征在于,所述第二获取模块还用于:当第二极值层为至少两个第二极值层、所述至少两个第二极值层为相邻的极值层,且所述当前搜索结点为第一极值层结点时,回溯至所述至少两个第二极值层中任意一个极值层中对应的结点。
21.根据权利要求12至18任一项所述的装置,其特征在于,所述当前搜索结点的分值为第一分值或第二分值;所述第二极值层结点的分值为第一分值或第二分值,所述第一分值和所述第二分值不相同。
22.根据权利要求12至18任一项所述的装置,其特征在于,所述停止搜索模块还用于:当所述当前搜索结点的分值以及所述第二极值层结点的分值满足极大值层结点的分值大于或等于极小值层结点的分值时,停止对所述当前搜索结点对应的未搜索子结点搜索。
23.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至11中任一项所述方法的步骤。
24.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至11中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910989505.8A CN110732138B (zh) | 2019-10-17 | 2019-10-17 | 虚拟对象控制方法、装置、可读存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910989505.8A CN110732138B (zh) | 2019-10-17 | 2019-10-17 | 虚拟对象控制方法、装置、可读存储介质和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110732138A CN110732138A (zh) | 2020-01-31 |
CN110732138B true CN110732138B (zh) | 2023-09-22 |
Family
ID=69269183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910989505.8A Active CN110732138B (zh) | 2019-10-17 | 2019-10-17 | 虚拟对象控制方法、装置、可读存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110732138B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112076475B (zh) * | 2020-09-02 | 2024-09-27 | 淳溥科技(深圳)有限公司 | 交互控制方法、装置、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103987101A (zh) * | 2014-04-17 | 2014-08-13 | 南京邮电大学 | 无线传感器网络中移动sink节点的自主移动方法 |
CN104504696A (zh) * | 2014-12-16 | 2015-04-08 | 江南大学 | 图像显著区域检测的嵌入式并行优化方法 |
CN105741271A (zh) * | 2016-01-25 | 2016-07-06 | 上海物联网有限公司 | 一种深度图像中物体检测方法 |
CN109960814A (zh) * | 2019-03-25 | 2019-07-02 | 北京金山数字娱乐科技有限公司 | 模型参数搜索方法以及装置 |
CN109976998A (zh) * | 2017-12-28 | 2019-07-05 | 航天信息股份有限公司 | 一种软件缺陷预测方法、装置和电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8234233B2 (en) * | 2009-04-13 | 2012-07-31 | Palo Alto Research Center Incorporated | System and method for combining breadth-first and depth-first search strategies with applications to graph-search problems with large encoding sizes |
-
2019
- 2019-10-17 CN CN201910989505.8A patent/CN110732138B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103987101A (zh) * | 2014-04-17 | 2014-08-13 | 南京邮电大学 | 无线传感器网络中移动sink节点的自主移动方法 |
CN104504696A (zh) * | 2014-12-16 | 2015-04-08 | 江南大学 | 图像显著区域检测的嵌入式并行优化方法 |
CN105741271A (zh) * | 2016-01-25 | 2016-07-06 | 上海物联网有限公司 | 一种深度图像中物体检测方法 |
CN109976998A (zh) * | 2017-12-28 | 2019-07-05 | 航天信息股份有限公司 | 一种软件缺陷预测方法、装置和电子设备 |
CN109960814A (zh) * | 2019-03-25 | 2019-07-02 | 北京金山数字娱乐科技有限公司 | 模型参数搜索方法以及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110732138A (zh) | 2020-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5841276B1 (ja) | ゲーム制御方法、コンピュータ及び制御プログラム | |
CN112843737B (zh) | 虚拟对象的显示方法、装置、终端及存储介质 | |
JP2016195691A (ja) | 情報処理装置、及び、ゲームプログラム | |
CN107308646A (zh) | 确定匹配对象的方法、装置及存储介质 | |
KR102694268B1 (ko) | 게임 환경에서의 에이전트 생성 장치 및 그 방법 | |
CN111738294B (zh) | Ai模型的训练方法、使用方法、计算机设备及存储介质 | |
CN109453524B (zh) | 一种对象匹配的方法、模型训练的方法及服务器 | |
US20220212114A1 (en) | Persona driven dynamic content framework | |
CN110732138B (zh) | 虚拟对象控制方法、装置、可读存储介质和计算机设备 | |
CN115970289A (zh) | 一种基于人工智能技术的剧情信息生成、评估及优化方法 | |
CN116650973A (zh) | 一种游戏内容动态调整方法、电子设备及存储介质 | |
CN113543861A (zh) | 用于多任务学习的方法及系统 | |
Chentsov et al. | Monte Carlo tree search modification for computer games | |
Goodman et al. | Following the leader in multiplayer tabletop games | |
da Silva Oliveira et al. | Team recommendation for the Pokémon GO game using optimization approaches | |
Liu et al. | Player identification from RTS game replays | |
Botea et al. | Scaling up search with partial initial states in optimization crosswords | |
Togelius et al. | Active player modelling | |
JP2016190015A (ja) | ゲーム制御方法、コンピュータ及び制御プログラム | |
Liu et al. | Introduction of a new dataset and method for location predicting based on deep learning in wargame | |
KR102248639B1 (ko) | 스포츠 게임의 선수의 포지션 및 트레이너에 대한 추천 자동화를 이용한 팀 관리 방법 및 시스템 | |
Browne | A problem case for UCT | |
Chia et al. | Designing card game strategies with genetic programming and monte-carlo tree search: A case study of hearthstone | |
Liu et al. | Strategy and implementation of Hex | |
Yee et al. | Well-time pattern recognition in Go gaming automation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40021365 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |