智能游戏处理方法、装置、设备及存储介质

文档序号:1512414 发布日期:2020-02-11 浏览:43次 >En<

阅读说明:本技术 智能游戏处理方法、装置、设备及存储介质 (Intelligent game processing method, device, equipment and storage medium ) 是由 徐波 于 2019-10-12 设计创作,主要内容包括:本发明公开了一种智能游戏处理方法,包括:获取智能游戏的当前玩家的游戏状态数据,并对所述智能游戏进行模拟;根据预设的蒙特卡洛搜索树搜索当前玩家的游戏状态数据对应执行的动作直至整轮游戏结束;其中,每一次执行搜索得到的对应动作产生的游戏数据均作为下一次搜索时的当前玩家的游戏状态数据;将所述整轮游戏执行的各个动作后对应产生的游戏信息进行保存至数据库;根据从所述数据库获取的采样数据采用反向传播法对预先构建的价值网络以及预先构建的动作概率网络的损失值函数进行优化,得到最佳价值网络以及最佳动作概率网络。本发明实施例还公开了一种智能游戏处理装置、设备及存储介质,采用多个实施例解决了在非完全信息游戏中,非玩家角色的行为决策不准确,游戏质量下降的问题。(The invention discloses an intelligent game processing method, which comprises the following steps: acquiring game state data of a current player of an intelligent game, and simulating the intelligent game; searching the action correspondingly executed by the game state data of the current player according to a preset Monte Carlo search tree until the whole round of game is finished; the game data generated by the corresponding action obtained by each search is used as the game state data of the current player in the next search; storing game information correspondingly generated after each action executed by the whole round of game to a database; and optimizing the loss value function of the pre-constructed value network and the pre-constructed action probability network by adopting a back propagation method according to the sampling data acquired from the database to obtain the optimal value network and the optimal action probability network. The embodiment of the invention also discloses an intelligent game processing device, equipment and a storage medium, and the problems of inaccurate behavior decision of non-player characters and reduced game quality in the incomplete information game are solved by adopting a plurality of embodiments.)

智能游戏处理方法、装置、设备及存储介质

技术领域

本发明涉及计算机技术领域,尤其涉及一种智能游戏处理方法、装置、设备及存储介质。

背景技术

回合制游戏内玩家轮流自己的回合,只有轮到自己的回合才能进行操作,趣味性比较强,已经成为人们主要的休闲娱乐方式之一。回合制游戏中非玩家角色的行为决策往往是影响游戏质量和用户体验的重要因素,传统游戏人工智能的实现是通过状态机或行为树来实现,通过不同的状态触发非玩家角色的对应操作,这种方式一方面容易让玩家掌握规律,失去可玩性,另一方面,随着游戏状态越来越复杂,设计逻辑越来越复杂。

随着AlphaGo在围棋上的成功,强化学习在游戏的运用越来越广泛,然而棋类游戏具有完全信息的特性,对方和己方的状态都全部公开,不存在隐含的信息,不存在随机的因素。而在非完全信息的游戏中,玩家对对方的信息并不能完全知道,并且,出招带来的效果具有随机性,存在很多的不确定因素,对强化学习的训练造成很大困难,从而导致非玩家角色的行为决策不准确,游戏质量下降。

发明内容

本发明实施例提供一种智能游戏处理方法、装置、设备及存储介质,能有效解决现有技术中面对非完全信息游戏时,非玩家角色的行为决策不准确,游戏质量下降的问题。

本发明一实施例提供一种智能游戏处理方法,包括:

获取智能游戏的当前玩家的游戏状态数据,并对所述智能游戏进行模拟;

根据预设的蒙特卡洛搜索树搜索当前玩家的游戏状态数据对应执行的动作直至整轮游戏结束;其中,每一次执行搜索得到的对应动作产生的游戏数据均作为下一次搜索时当前玩家的游戏状态数据;

将所述整轮游戏执行的各个动作后对应产生的游戏信息进行保存至数据库;

根据从所述数据库获取的采样数据采用反向传播法对预先构建的价值网络以及预先构建的动作概率网络的损失值函数进行优化,得到最佳价值网络以及最佳动作概率网络。

作为上述方案的改进,所述根据预设的蒙特卡洛搜索树搜索当前玩家的游戏状态数据对应执行的动作直至整轮游戏结束;其中,每一次执行搜索得到的对应动作产生的游戏数据均作为下一次搜索时当前玩家的游戏状态数据,具体包括:

确定所述当前玩家的游戏状态数据对应的节点;

根据所述当前玩家的游戏状态数据对应的节点查找至少一个对应的子节点;

从至少一个所述对应的子节点中选择最佳子节点作为所述当前玩家的游戏状态数据下执行的动作。

作为上述方案的改进,所述从至少一个所述对应的子节点中选择最佳子节点作为所述当前玩家的游戏状态数据下执行的动作;具体包括:

选择访问次数最多的子节点作为最佳子节点;

或,

以预设的选择概率从至少一个所述对应的子节点中选择最佳子节点;

或,

选择置信值最大的子节点;其中,

Figure BDA0002230763230000021

所述UCB为置信值,N(v)为当前子节点访问次数,N(v’)子节点访问次数,E(Q(v))为所述整轮游戏中当前子节点获得的平局收益。

作为上述方案的改进,所述对所述智能游戏进行模拟,具体包括:

对可见的信息保持不变,对非可见信息进行随机生成操作。

作为上述方案的改进,在所述根据预设的蒙特卡洛搜索树搜索当前玩家的游戏状态数据对应执行的动作直至整轮游戏结束之后,将所述整轮游戏执行的各个动作对应的游戏信息进行保存至数据库之前,还包括:

将至少一个所述当前玩家的游戏状态数据对应的节点进行反向传播分别计算每个当前游戏状态对应的收益值以及访问次数。

作为上述方案的改进,所述方法还包括:

若根据预设的蒙特卡洛搜索树无法查找到当前玩家的游戏状态数据对应执行的动作且所述整轮游戏未结束,通过预设的神经网络扩展当前玩家的游戏状态数据对应的可能执行的动作,并记录各个可能执行的动作的概率。

作为上述方案的改进,所述游戏信息包括:

当前玩家的游戏状态数据、当前玩家的游戏状态数据对应执行各个动作的概率标签、当前游戏状态价值标签以及整轮游戏结束时的游戏结果。

本发明另一实施例对应提供了一种智能游戏处理装置,包括:

获取模块,用于获取智能游戏的当前玩家的游戏状态数据,并对所述智能游戏进行模拟;

搜索匹配模块,用于根据预设的蒙特卡洛搜索树搜索当前玩家的游戏状态数据对应执行的动作直至整轮游戏结束;其中,每一次执行搜索得到的对应动作产生的游戏数据均作为下一次搜索时当前玩家的游戏状态数据;

存储模块,用于将所述整轮游戏执行的各个动作后对应产生的游戏信息进行保存至数据库;

构建模块,用于根据从所述数据库获取的采样数据采用反向传播法对预先构建的价值网络以及预先构建的动作概率网络的损失值函数进行优化,得到最佳价值网络以及最佳动作概率网络。

本发明另一实施例提供了一种智能游戏处理设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述发明实施例所述的智能游戏处理方法。

本发明另一实施例提供了一种存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述发明实施例所述的智能游戏处理方法。

与现有技术相比,本发明实施例公开的智能游戏处理方法、装置、设备及存储介质,通过获取智能游戏的当前玩家的游戏状态数据并进行模拟,根据预设的蒙特卡洛搜索树搜索当前玩家的游戏状态数据对应执行的动作,在进行下一次搜索时将对应执行的动作产生的游戏数据当作当前游戏状态确定对应执行的动作,直至整轮游戏结束,将所述整轮游戏执行的各个动作后对应产生的游戏信息进行保存至数据库,根据数据库中获取的采样数据采用反向传播法对预设的价值网络和动作概率网络损失值函数进行优化,得到最佳价值网络以及最佳动作概率网络,在非完全信息游戏中,简化强化学习的训练过程,使得非玩家的行为决策更加准确,提升游戏质量,可玩性增强,提高用户体验。

附图说明

图1是本发明一实施例提供的一种智能游戏处理方法的流程示意图;

图2是本发明一实施例提供的预设的蒙特卡洛搜索树模拟流程示意图;

图3是本发明一实施例提供的一种智能游戏处理装置的结构示意图;

图4是本发明一实施例提供的一种智能游戏处理设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1,是本发明一实施例提供的一种智能游戏处理方法的流程示意图。

本发明实施例提供了一种智能游戏处理方法,包括:

S10,获取智能游戏的当前玩家的游戏状态数据,并对所述智能游戏进行模拟。

其中,当前玩家的游戏状态数据包括:游戏战斗中玩家双方的门派,等级,血量值,魔法值,装备信息,携带宠物信息,玩家带有的增益效果,减益效果等。将上述数据组合成向量形式进行输入。

在本实施例中,可以根据建立的游戏数据模型获取当前玩家的游戏状态数据,只是本实施例的一种实施方式,不局限于上述实施方式,还可以为其他可以获得当前玩家的游戏状态数据的实施方式。

S20,根据预设的蒙特卡洛搜索树搜索当前玩家的游戏状态数据对应执行的动作直至整轮游戏结束;其中,每一次执行搜索得到的对应动作产生的游戏数据均作为下一次搜索时当前玩家的游戏状态数据。

其中,参见图2,预设的蒙特卡洛搜索树为:蒙特卡洛搜索的每个节点对应游戏中的一个状态,每个节点的子节点为在这个状态下采取各个动作后产生新的状态,每个动作对应一个节点。在本发明实例中各个状态可用的动作包括玩家的不同技能出招,物品的使用等。在相同的状态使用相同的动作,由于游戏的随机性也可能产生不同的效果,而每个子节点只针对采取的动作而言。

定义蒙特卡洛搜索树中树节点属性,节点属性包括父节点的索引、全部子节点的索引、该节点被访问的次数、预先构建的动作概率网络对当前节点的输出的动作概率值、以及根据预先构建的价值网络计算经过该节点后游戏最终的收益值。

在本实施例中,在模拟同一个场游戏中,每走一步(即执行一次动作)可以重新创建一颗新的蒙特卡洛树,也可以复用之前创建的蒙特卡洛树,并且把根节点根据当前实际采取的动作产生的游戏数据当作当前玩家的游戏状态数据,直到当前场的游戏结束,在下一场游戏开始时候重新创建一颗新的蒙特卡洛树。

具体地,当需要根据当前玩家的游戏状态数据确定接下来对应执行的动作时,通过预设的蒙特卡洛树进行搜索对应执行的动作,将搜索到的对应的动作产生的游戏数据作为下一次搜索当前玩家的游戏状态数据,继续搜索对应执行的动作,直至模拟的智能游戏结束。

S30,将所述整轮游戏执行的各个动作数据对应的游戏信息进行保存至数据库;其中,所述游戏信息包括:当前玩家的游戏状态数据、当前玩家的游戏状态数据对应执行各个动作的概率标签、当前玩家游戏状态价值标签。

在本实施例中,当前游戏状态价值标签包括:胜利或失败或平局分别记为1,-1和0。动作概率标签的确定,可以通过模拟结束后,根据每个子节点被访问的次数和父节点访问次数的比值,作为各个子节点的动作概率标签。

具体地,将各个动作数据对应的游戏信息进行保存至数据库,对数据库进行扩充,增加训练样本多样性,提高泛化能力,加速训练。

S40,根据从所述数据库获取的采样数据采用反向传播法对预先构建的价值网络以及预先构建的动作概率网络的损失值函数进行优化,得到最佳价值网络以及最佳动作概率网络。

其中,所述预设的价值网络和动作概率网络损失值函数具体为:

L=αLv+βLp+ηwtw,其中,Lv为价值网络的损失函数,系数为α,Lp为动作概率网络的损失函数,系数为β,wtw为正则化惩罚项,系数为η。价值网络的损失函数是通过在某个游戏状态在价值网络输出的这个状态的价值,与实际的这个状态的价值标签的均方误差。动作概率网络损失值函数是通过在某个游戏状态在动作概率网络的输出概率值和动作概率标签的交叉熵。

具体地,通过深度学习反向传播的方式进行梯度下降,直到收敛,得到最佳的价值网络和动作概率网络。

综上所述,通过获取智能游戏的当前玩家的游戏状态数据并进行模拟,根据预设的蒙特卡洛搜索树搜索当前玩家的游戏状态数据对应执行的动作,在进行下一次搜索时将对应执行的动作产生的游戏数据当作当前游戏状态确定对应执行的动作,直至整轮游戏结束,将所述整轮游戏执行的各个动作后对应产生的游戏信息进行保存至数据库,根据数据库中获取的采样数据采用反向传播法对预设的价值网络和动作概率网络损失值函数进行优化,得到最佳价值网络以及最佳动作概率网络,在非完全信息游戏中,简化强化学习的训练过程,使得非玩家的行为决策更加准确,提升游戏质量,可玩性增强,提高用户体验。

作为上述方案的改进,所述根据预设的蒙特卡洛搜索树搜索当前玩家的游戏状态数据对应执行的动作直至整轮游戏结束;其中,每一次执行搜索得到的对应动作产生的游戏数据均作为下一次搜索时当前玩家的游戏状态数据,具体包括:

确定所述当前玩家的游戏状态数据对应的节点。

在本实施例中,当前玩家的游戏状态数据作为预设的蒙特卡洛树的根节点。

根据所述当前玩家的游戏状态数据对应的节点查找至少一个对应的子节点。

在本实施例中,根据根节点逐层访问子节点。

从至少一个所述对应的子节点中选择最佳子节点作为所述当前玩家的游戏状态数据下执行的动作。

其中,选择访问次数最多的子节点作为最佳子节点。

或,以预设的选择概率从至少一个所述对应的子节点中选择最佳子节点。

具体地,根据预设的选择概率从至少一个所述对应的子节点中选择最佳子节点,增加了随机性,增加了训练样本的多样性。

或,选择置信值最大的子节点;其中,

Figure BDA0002230763230000081

所述UCB为置信值,N(v)为当前子节点访问次数,N(v’)子节点访问次数,E(Q(v))为所述整轮游戏中当前子节点获得的平局收益。

作为上述方案的改进,所述对所述智能游戏进行模拟,具体包括:

对可见的信息保持不变,对非可见信息进行随机生成操作。

示例性地,每一轮模拟需要重新生成游戏环境,对己方的状态和保持不变,对方的状态中己方能看到的状态保持不变,对方状态中己方无法看到的状态需要重新随机生成(如图2所示,即隐含部分重新随机生成)。本实例中,对方状态己方无法看到的包括使用的物品,一些特殊增益或者减益效果,一些特殊的可以使用的技能。每次新的一轮模拟要对这个非可见信息重新随机生成,每次开始的状态未知部分重新随机。

作为上述方案的改进,在所述根据预设的蒙特卡洛搜索树搜索当前玩家的游戏状态数据对应执行的动作数据直至整轮游戏结束之后,将所述整轮游戏执行的各个动作数据对应的游戏信息进行保存至数据库之前,还包括:

将至少一个所述当前玩家的游戏状态数据对应的节点进行反向传播分别计算每个当前游戏状态对应的收益值以及访问次数。

在本实施例中,从当前子节点往根节点反向传播,根据最后玩家游戏状态数据回溯更新导致这个结果(胜利或者失败或者平局)的每个节点中的收益值和访问次数,在计算收益值时候,采用移动平均值计算方法,迭代更新平均收益,根据计算出的进行判断,收益值越高,说明该玩家游戏状态数据的潜在收益越大。

作为上述方案的改进,所述方法还包括:

若根据预设的蒙特卡洛搜索树无法查找到当前玩家的游戏状态数据对应执行的动作数据且所述整轮游戏未结束,通过预设的神经网络扩展当前玩家的游戏状态数据对应的可能执行的动作,并记录各个可能执行的动作的概率。

在本实施例中,根据当前玩家的游戏状态数据,把当前玩家的游戏状态数据输入预设的神经网络,得到当前玩家的游戏状态数据的价值和对应可用执行动作的执行概率,扩展当前节点,得到子节点,子节点为可用动作,并把这些概率值记录在各个子节点中,对应的子节点包括在当前游戏状态下可以采取的所有操作,包括可用的技能的施放和物品使用,扩展时记录对应各个操作下的概率。

参见图3,是本发明一实施例提供的一种智能游戏处理装置的结构示意图。

本发明实施例对应提供了一种智能游戏处理装置,包括:

获取模块10,用于获取智能游戏的当前玩家的游戏状态数据,并对所述智能游戏进行模拟。

搜索匹配模块20,用于根据预设的蒙特卡洛搜索树搜索当前玩家的游戏状态数据对应执行的动作直至整轮游戏结束;其中,每一次执行搜索得到的对应动作产生的游戏数据均作为下一次搜索时当前玩家的游戏状态数据。

存储模块30,用于将所述整轮游戏执行的各个动作后对应产生的游戏信息进行保存至数据库。

构建模块40,用于根据从所述数据库获取的采样数据采用反向传播法对预先构建的价值网络以及预先构建的动作概率网络的损失值函数进行优化,得到最佳价值网络以及最佳动作概率网络。

综上所述,本发明实施例提供的一种智能游戏处理装置,通过获取智能游戏的当前玩家的游戏状态数据并进行模拟,根据预设的蒙特卡洛搜索树搜索当前玩家的游戏状态数据对应执行的动作,在进行下一次搜索时将对应执行的动作产生的游戏数据当作当前游戏状态确定对应执行的动作,直至整轮游戏结束,将所述整轮游戏执行的各个动作后对应产生的游戏信息进行保存至数据库,根据数据库中获取的采样数据采用反向传播法对预设的价值网络和动作概率网络损失值函数进行优化,得到最佳价值网络以及最佳动作概率网络,在非完全信息游戏中,简化强化学习的训练过程,使得非玩家的行为决策更加准确,提升游戏质量,可玩性增强,提高用户体验。

参见图4,是本发明一实施例提供的智能游戏处理设备的示意图。该实施例的智能游戏处理设备包括:处理器11、存储器12以及存储在所述存储器中并可在所述处理器上运行的计算机程序。所述处理器执行所述计算机程序时实现上述各个智能游戏处理方法实施例中的步骤。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能。

示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述智能游戏处理设备中的执行过程。

所述智能游戏处理设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述智能游戏处理设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述示意图仅仅是智能游戏处理设备的示例,并不构成对智能游戏处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述智能游戏处理设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器11可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述智能游戏处理设备的控制中心,利用各种接口和线路连接整个智能游戏处理设备的各个部分。

所述存储器12可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述智能游戏处理设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

其中,所述智能游戏处理设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。

需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:游戏历史操作展示方法、装置、设备和可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类