游戏资源的缓存方法、决策网络的训练方法及装置

文档序号:1604843 发布日期:2020-01-10 浏览:27次 >En<

阅读说明:本技术 游戏资源的缓存方法、决策网络的训练方法及装置 (Game resource caching method, decision network training method and device ) 是由 胡玥 王蒙 陈赢峰 范长杰 于 2019-11-01 设计创作,主要内容包括:本发明提供了一种游戏资源的缓存方法、决策网络的训练方法及装置,涉及游戏技术领域,该游戏资源的缓存方法包括:响应资源请求,检查cache中是否已缓存资源请求对应的目标游戏资源;如果cache中未缓存目标游戏资源,获取游戏的状态信息;基于状态信息和预先训练好的决策网络,确定目标游戏资源的缓存位置;将目标游戏资源缓存至缓存位置。本发明提供的游戏资源的缓存方法、决策网络的训练方法及装置,能够结合玩家的行为习惯确定出待清除游戏资源,以使之后还有可能被请求的资源提前保留在cache里,可以减少资源的频繁替换,同时提高cache中请求资源的命中率。(The invention provides a game resource caching method, a decision network training method and a decision network training device, which relate to the technical field of games, and the game resource caching method comprises the following steps: responding to the resource request, and checking whether a target game resource corresponding to the resource request is cached in the cache; if the target game resource is not cached in the cache, acquiring the state information of the game; determining the cache position of the target game resource based on the state information and a pre-trained decision network; and caching the target game resource to a cache position. The game resource caching method, the decision network training method and the device provided by the invention can determine the game resources to be cleared by combining the behavior habits of the players, so that the resources which are possibly requested later are reserved in the cache in advance, the frequent replacement of the resources can be reduced, and the hit rate of the requested resources in the cache is improved.)

游戏资源的缓存方法、决策网络的训练方法及装置

技术领域

本发明涉及游戏技术领域,尤其是涉及一种游戏资源的缓存方法、决策网络的训练方法及装置。

背景技术

目前的游戏中,玩家每次进入一个新的游戏地图,或者打斗过程中产生的特效都会发生资源请求,需要在高速缓冲存储器cache中进行资源加载。cache的主要工作原理是将用户经常请求的资源放在cache中,当用户再次请求该资源时,CPU可以直接在cache中获取资源而不需要去主存中获取数据,以提高处理速度。

由于游戏中的游戏场景,或者游戏特效等是不断变化的,因此,游戏中的cache经常需要加载和卸载资源,而cache的容量是固定的,有些常用的资源被反复地加载卸载会导致设备消耗,容易引起游戏卡顿,影响玩家的游戏体验。因此,cache内的资源管理是一个非常重要的部分。

对于游戏中的资源,经常会出现玩家一段时间后重复请求前段时间的资源的情况,而运用现有的资源管理方式,往往会出现重新加载刚刚删掉的资源,而多次加载同一资源会导致大量的设备资源消耗,并且,cache内实际加载的资源的使用率也较低。

发明内容

有鉴于此,本发明的目的在于提供一种游戏资源的缓存方法、决策网络的训练方法及装置,以缓解上述技术问题。

第一方面,本发明实施例提供了一种游戏资源的缓存方法,应用于游戏的客户端,该方法包括:响应针对于游戏中的虚拟对象的资源请求,检查高速缓冲存储器cache中是否已缓存资源请求对应的目标游戏资源;如果cache中未缓存目标游戏资源,获取游戏的状态信息,其中,状态信息包括虚拟对象的当前位置信息和虚拟对象的运动路径信息;基于状态信息和预先训练好的决策网络,确定目标游戏资源的缓存位置;其中,决策网络为基于游戏中的虚拟对象的运动行为训练得到的;将目标游戏资源缓存至上述缓存位置。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,上述基于状态信息和预先训练好的决策网络,确定目标游戏资源的缓存位置的步骤,包括:将状态信息输入预先训练好的决策网络,得到决策网络输出的评分值,其中,评分值为将目标游戏资源缓存至cache中的每个位置对应的评分值;基于评分值确定目标游戏资源的缓存位置。

结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,上述将目标游戏资源缓存至缓存位置的步骤包括:如果缓存位置已缓存有资源,将缓存位置中已缓存的资源替换为目标游戏资源。

结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,上述将所述目标游戏资源缓存至所述缓存位置的步骤包括:如果缓存位置为空,将资源请求对应的目标游戏资源缓存至缓存位置。

结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,上述方法还包括:如果cache中缓存有目标游戏资源,将目标游戏资源渲染至客户端的图形用户界面上。

第二方面,本发明实施例还提供一种决策网络的训练方法,该方法包括:响应针对游戏模拟环境的构建操作,在预先建立的游戏模拟界面上添加静态资源、动态资源和运动体,以及触发运动体和动态资源在游戏模拟界面上运动;响应运动体在运动过程中的各个模拟资源请求;针对每个模拟资源请求,均执行:获取游戏模拟环境的状态信息,并应用状态信息对决策网络进行强化学习训练,得到训练好的决策网络;其中,状态信息包括运动体的当前位置信息和运动体的运动路径信息;决策网络用于对缓存游戏资源的cache进行资源管理。

结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,上述在预先建立的游戏模拟界面上添加静态资源、动态资源和运动体的步骤包括:在预先建立的游戏模拟界面上添加静态资源对应的标识、动态资源对应的标识、运动体的标识,以及运动体的预设运动终点标识。

结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,上述触发运动体和动态资源在游戏模拟界面上运动的步骤包括:设置运动体和动态资源的运动模式;触发运动体和动态资源在游戏模拟界面上按照相应的运动模式进行运动,以构建游戏模拟环境;其中,运动模式包括固定转移模式和概率转移模式。

结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,上述应用状态信息对决策网络进行强化学习训练包括:应用状态信息构建决策网络的强化学习环境,在强化学习环境中对决策网络进行强化学习训练;其中,强化学习环境包括状态空间、动作空间和奖励函数。

第三方面,本发明实施例还提供一种游戏资源的缓存装置,设置于游戏的客户端,该装置包括:检测模块,用于响应针对于游戏中的虚拟对象的资源请求,检查高速缓冲存储器cache中是否已缓存资源请求对应的目标游戏资源;获取模块,用于如果cache中未缓存目标游戏资源,获取游戏的状态信息,其中,状态信息包括虚拟对象的当前位置信息和虚拟对象的运动路径信息;确定模块,用于基于状态信息和预先训练好的决策网络,确定目标游戏资源的缓存位置;其中,决策网络为基于游戏中的虚拟对象的运动行为训练得到的;缓存模块,用于将目标游戏资源缓存至缓存位置。

第四方面,本发明实施例还提供一种决策网络的训练装置,该装置包括:构建模块,用于响应针对游戏模拟环境的构建操作,在预先建立的游戏模拟界面上添加静态资源、动态资源和运动体,以及触发运动体和动态资源在游戏模拟界面上运动;响应模块,用于响应运动体在运动过程中的各个模拟资源请求;执行模块,用于针对每个模拟资源请求,均执行:获取游戏模拟环境的状态信息,并应用状态信息对决策网络进行强化学习训练,得到训练好的决策网络;其中,状态信息包括运动体的当前位置信息和运动体的运动路径信息;决策网络用于对缓存游戏资源的cache进行资源管理。

第五方面,本发明实施例还提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现第一至第二方面所述的方法。

第六方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现第一至第二方面所述的方法。

本发明实施例带来了以下有益效果:

本发明实施例提供的一种游戏资源的缓存方法、决策网络的训练方法及装置,能够响应针对于游戏中的虚拟对象的资源请求,并检查高速缓冲存储器cache中是否已缓存该资源请求对应的目标游戏资源,并在cache中未缓存目标游戏资源时,获取游戏的状态信息,基于状态信息和预先训练好的决策网络,确定目标游戏资源的缓存位置;进而对目标游戏资源进行缓存,由于决策网络为基于游戏中的虚拟对象的运动行为训练得到的,因此,决策网络能够在获取到状态信息后结合玩家的行为习惯确定出目标游戏资源的缓存位置,以使之后还有可能被请求的资源提前保留在cache里,可以减少资源的频繁替换,同时提高cache中请求资源的命中率。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明

具体实施方式

或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1中的(a)和(b)分别是现有技术中cache管理算法的执行过程示意图;

图2为本发明实施例提供的一种游戏资源的缓存方法的流程图;

图3为本发明实施例提供的另一种游戏资源的缓存方法的流程图;

图4为本发明实施例提供的一种决策网络的训练方法的流程图;

图5为本发明实施例提供的另一种决策网络的训练方法的流程图;

图6为本发明实施例提供的一种游戏模拟环境的局部示意图;

图7为本发明实施例提供的一种训练过程的示意图;

图8为本发明实施例提供的一种游戏资源的缓存装置的结构示意图;

图9为本发明实施例提供的一种决策网络的训练装置的结构示意图;

图10为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

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

目前,常用的cache管理的算法有LRU(Least Recently Used)算法和FIFO(FirstIn First Out)算法。LRU算法是最近最少使用算法,当cache满的时候,需要加载新的资源时,会选择cache中最久没有被请求的资源进行替换。该算法执行过程如图1中的(a)图所示,最上面的数字代表请求的资源标号,先后顺序是从左向右;下面部分代表cache,其容量为5;新加载的资源放入cache中,其优先级最高;第四个请求7号资源时,不会加载新的资源进cache,因为cache中已经存在7号资源,会将7号资源的优先级变最高,说明其在被频繁请求;第七、九、十个请求资源也是同样,不会往cache中加入新的资源,但是会改变cache中资源的优先级;最后一个请求6号资源,此时cache容量不够,将优先级最低的4号资源移出cache,放入6号资源。

FIFO算法是先进先出算法,cache中的优先级按进cache的先后顺序决定。当cache满的时候,会将最先放进cache中的资源替换出来。该算法执行过程如图1中的(b)所示,最上面的数字依旧代表请求的资源标号,cache容量为5;资源的多次请求并不会影响其在cache内的优先级,当1号和2号资源第二次请求时不会改变其在cache中的顺序;最后6号资源的请求会把最先放进cache中的4号资源进行替换。

上述介绍的LRU算法和FIFO算法是比较普遍通用的算法,大多数cache管理算法采用LRU算法,当前游戏中也是采用此方法。LRU算法会定期地删除一部分之前使用的资源,留下最近使用的资源,再加载玩家请求的资源。但是当出现玩家一段时间后重复请求前段时间请求的资源情况,比如,玩家重返任务点或者任务路线是个圈时,LRU算法管理下的cache又要重新加载刚刚删掉的资源,多次加载导致大量的设备资源消耗,并且cache内实际加载资源的使用率很低。

基于此,本发明实施例提供的一种游戏资源的缓存方法、决策网络的训练方法及装置,可以缓解上述技术问题,减少资源的频繁替换,同时提高cache中请求资源的命中率。

为便于对本实施例进行理解,首先对本发明实施例所公开的一种游戏资源的缓存方法进行详细介绍。

在一种可能的实施方式中,本发明实施例提供了一种游戏资源的缓存方法,该方法应用于游戏的客户端,具体实现时,该游戏的客户端通常是指安装有游戏对应的应用程序APP的智能终端,例如,可以是智能手机、平板电脑、台式机、掌上电脑等智能终端,可以依据本发明实施例提供的方法对游戏资源进行缓存。具体地,图2示出了一种游戏资源的缓存方法的流程图,该方法包括以下步骤:

步骤S202,响应针对于游戏中的虚拟对象的资源请求,检查高速缓冲存储器cache中是否已缓存资源请求对应的目标游戏资源;

其中,上述虚拟对象通常是由玩家控制的游戏中的虚拟对象,上述资源请求通常是玩家控制虚拟对象每次进入一个新的游戏地图,或者,打斗过程中产生特效时,由游戏的客户端针对当前的虚拟对象发送的,以便于对虚拟对象当前的游戏场景或者游戏环境进行渲染,以在客户端的显示界面显示相应的游戏场景或者游戏环境。

具体地,可以由客户端对应的智能终端通过CPU在cache中直接查找是否已缓存上述资源请求对应的目标游戏资源。

步骤S204,如果cache中未缓存目标游戏资源,获取游戏的状态信息;

其中,上述状态信息包括虚拟对象的当前位置信息和虚拟对象的运动路径信息;

具体地,如果该目标游戏资源没有在cache中,则需要从主存中去获取该目标游戏资源,并将该目标游戏资源缓存至cache中,供CPU调取。具体需要将目标游戏资源缓存在cache中的哪个位置,则是按照步骤S206的过程进行决策的。

步骤S206,基于状态信息和预先训练好的决策网络,确定目标游戏资源的缓存位置;

具体地,上述决策网络为基于游戏中的虚拟对象的运动行为训练得到的;通常,游戏中的资源请求与玩家当前进行中的任务,即玩家控制虚拟对象的运动轨迹相关,本发明实施例中,基于游戏中的虚拟对象的运动行为训练得到的决策网络,能够结合玩家的行为习惯,如,玩家如何控制虚拟对象的运动轨迹等等,进而提供合理的cache管理方式,在cache中未缓存目标游戏资源情况下,决策出cache中较为合理的缓存位置来缓存目标游戏资源,以减少资源交换次数,提高cache中已缓存的游戏资源的命中率,进而减少游戏中总的游戏资源加载耗时和设备资源消耗。

步骤S208,将目标游戏资源缓存至上述缓存位置。

本发明实施例提供的一种游戏资源的缓存方法,能够响应针对于游戏中的虚拟对象的资源请求,并检查高速缓冲存储器cache中是否已缓存该资源请求对应的目标游戏资源,并在cache中未缓存目标游戏资源时,获取游戏的状态信息,基于状态信息和预先训练好的决策网络,确定目标游戏资源的缓存位置;进而对目标游戏资源进行缓存,由于决策网络为基于游戏中的虚拟对象的运动行为训练得到的,因此,决策网络能够在获取到状态信息后结合玩家的行为习惯确定出目标游戏资源的缓存位置,以使之后还有可能被请求的资源提前保留在cache里,可以减少资源的频繁替换,同时提高cache中请求资源的命中率。

具体实现时,上述步骤S206中确定目标游戏资源的缓存位置的过程是将状态信息输入至决策网络,由决策网络基于状态信息来决策的,基于此,在图2的基础上,图3还示出了另一种游戏资源的缓存方法的流程图,如图3所示,包括以下步骤:

步骤S302,响应针对于游戏中的虚拟对象的资源请求,检查高速缓冲存储器cache中是否已缓存资源请求对应的目标游戏资源;

步骤S304,如果cache中未缓存目标游戏资源,获取游戏的状态信息;

其中,上述状态信息包括虚拟对象的当前位置信息和虚拟对象的运动路径信息;

通常,状态信息中,还可以包括cache中已缓存的游戏资源,而在本发明实施例中,在获取到虚拟对象的当前位置信息和虚拟对象的运动路径信息之后就可以执行后续步骤,因此,本发明实施例中对cache中已缓存的游戏资源不进行限制。

步骤S306,将状态信息输入预先训练好的决策网络,得到决策网络输出的评分值;

其中,评分值为将目标游戏资源缓存至cache中的每个位置对应的评分值;

步骤S308,基于评分值确定目标游戏资源的缓存位置;

步骤S310,将目标游戏资源缓存至上述缓存位置;

具体地,如果上述缓存位置已缓存有资源,将缓存位置中已缓存的资源替换为目标游戏资源;如果上述缓存位置为空,则将资源请求对应的目标游戏资源直接缓存至上述缓存位置。

在本发明实施例中,上述决策网络是对神经网络训练得到的具体决策功能的网络,其输入是状态信息,包括:cache中当前的状态,即cache中已缓存的游戏资源,通常以游戏资源的编号信息代替;还包括当前请求的资源编号,即目标游戏资源;还包括运动体当前的位置信息和当前路径所要到达的终点位置信息和路径信息,即,当前运动体处于第几条可选的路径,其中,该运动体则是游戏中可以由玩家进行控制的虚拟对象,因此,运动体的运动信息即为上述虚拟对象的当前位置信息和虚拟对象的运动路径信息。

对于训练好的决策网络,可以根据上述状态信息输出每个动作的评分值,即,Q值,其中,每个动作可以表示为0、1、2……C-2、C-1,表示取cache中第几个位置为缓存位置,其中,对于cache中缓存已满的情况,则指取cache中缓存的第几个资源和当前请求的目标游戏资源进行替换,而Q值通常是强化学习的概念,用来度量某个状态下,做这个动作的好坏,通常选择Q值最大的对应动作作为执行动作。

而本发明实施例中,执行动作则是把目标游戏资源缓存至cache中的第几个位置,或者说,把当前资源请求的目标游戏资源和cache中哪个位置已缓存的游戏资源进行替换。

为了便于理解,以图1中容量为5的cache为例进行说明,且假设此时cache中,每个位置都缓存有游戏资源,此时,决策网络在获取到输入的状态信息时,可以根据状态信息输出对于每个已缓存的游戏资源进行替换时的动作的Q值,如,替换第一个已缓存的游戏资源的评分值Q1,替换第二个已缓存的游戏资源的评分值Q2,替换第三个已缓存的游戏资源的评分值Q3,替换第四个已缓存的游戏资源的评分值Q4和替换第五个已缓存的游戏资源的评分值Q5。

此时,可以基于Q1~Q5选取Q值最高对应的位置为缓存位置,并把该缓存位置已缓存的游戏资源作为待清除游戏资源,并执行替换动作,进行资源替换,例如,如果Q值最大的动作是Q5对应的第五个已缓存的游戏资源,那么就将cache中第五个已缓存的游戏资源和资源请求对应的目标游戏资源进行替换。进一步,如果Q5对应的第五个缓存位置为空,则直接把目标游戏资源缓存至第五个缓存位置。

步骤S312,将cache中的目标游戏资源渲染至客户端的图形用户界面上。

具体地,当目标游戏资源缓存至决策网络决策出的缓存位置后,CPU可以在cache中获取到该目标游戏资源进行渲染,而不需要去主存中获取资源数据。

此外,对于缓存位置为空的情况,在将目标游戏资源缓存至该缓存位置之后,还可以记录游戏资源编号,以及当前存储的cache中的位置编号,以便在cache满时便于决策网络进行决策。

在实际使用时,由于游戏内大部分玩家控制虚拟对象运动的运动轨迹是有规律可循的,在运用本发明实施例提供的游戏资源的缓冲方法对cache进行管理时,由于本发明实施例中决策网络为基于游戏中的虚拟对象的运动行为训练得到的,因此,能够结合玩家的行为习惯决策出待清除游戏资源,并将之后还有可能会被请求的游戏资源提前保留在cache里,可以有效减少资源的频繁替换,同时提高cache中请求资源的命中率。

进一步,针对上述决策网络,本发明实施例还提供了一种决策网络的训练方法,具体地,该方法可以应用于具有运算功能的终端,如,服务器,计算机,云平台等等。图4示出了一种决策网络的训练方法的流程图,如图4所示,该方法包括以下步骤:

步骤S402,响应针对游戏模拟环境的构建操作,在预先建立的游戏模拟界面上添加静态资源、动态资源和运动体,以及触发运动体和动态资源在所述游戏模拟界面上运动;

具体地,上述步骤S402的过程在决策网络的训练过程相当于游戏模拟环境的构建过程,具体地,该游戏模拟环境需贴近真实的游戏环境,因此,在建立相应的游戏模拟界面时,还需要在游戏模拟界面上添加相应的添加静态资源、动态资源和运动体,并触发运动体和动态资源在游戏模拟界面上运动,进而模拟真实的游戏环境。

步骤S404,响应运动体在运动过程中的各个模拟资源请求;

具体地,上述运动体相当于玩家本身,即玩家控制的游戏中的虚拟对象,上述步骤S404的过程则是在模拟环境中运动体运动时,请求视野域范围内的游戏资源的过程,其中,该视野域可以根据曼哈顿距离进行计算。

步骤S406,针对每个模拟资源请求,均执行:获取游戏模拟环境的状态信息,并应用状态信息对决策网络进行强化学习训练,得到训练好的决策网络;

其中,上述得到的训练好的决策网络,可用于对缓存游戏资源的cache进行资源管理,上述状态信息包括运动体的当前位置信息和运动体的运动路径信息。

在实际使用时,对于上述每一个模拟资源请求,上述训练执行主体(即,具有运算功能的终端,如,服务器,计算机,云平台等等)均可以有相应的训练动作,即按照步骤S406的执行过程进行决策网络的强化学习训练。

为了使上述游戏模拟环境更加贴近真实的游戏场景以进行决策网络的训练,在游戏模拟界面上添加静态资源、动态资源和运动体时,通常采取添加标识的方式进行,以标识表征对应的资源和运动体,进而构建游戏模拟环境,因此,在图4的基础上,本发明实施例还提供了另一种决策网络的训练方法,如图5所示的另一种决策网络的训练方法的流程图,该方法包括以下步骤:

步骤S502,响应针对游戏模拟环境的构建操作,在预先建立的游戏模拟界面上添加静态资源对应的标识、动态资源对应的标识、运动体的标识,以及运动体的预设运动终点标识;

为了在游戏模拟环境中区分上述静态资源、动态资源和运动体,上述静态资源对应的标识、动态资源对应的标识、运动体的标识,以及运动体的预设运动终点标识可以采用不同形状的图形表示,并且,不同的资源和运动体还可以设置不同的颜色进行区分。

具体地,上述运动体,即,玩家控制的游戏中的虚拟对象,在模拟环境中通常用白色圆形表示。运动体的预设运动终点标识通常用黄色正方形表示。

进一步,上述静态资源通常表示游戏中固定的资源,如固定的NPC(Non-PlayerCharacter,非玩家角色),在游戏模拟环境中可以用蓝色三角形来表示;动态资源则表示游戏中运动的资源,如其他玩家,规律运动的NPC,在游戏模拟环境中用橙色三角形表示。

具体实现时,上述标识的形状和颜色,以及运动体的预设运动终点的个数,通常都可以根据实际使用情况进行设置,本发明实施例对此不进行限制。

步骤S504,设置运动体和动态资源的运动模式;

其中,本发明实施例中,运动模式通常包括固定转移模式和概率转移模式。

具体地,固定转移模式为先到达第一个终点,再转移去第二个终点,以此类推,以运动体的预设运动终点的个数为10个为例,其转移概率矩阵可以表示为:

Figure BDA0002257994660000131

概率转移模式是指运动体到达第一个终点之后,很大概率去第二个终点,但也可能去其他终点,同样以运动体的预设运动终点的个数为10个为例,其转移概率矩阵可以表示为:

Figure BDA0002257994660000141

通过上述两种运动模式来模拟运动体,即玩家控制的游戏中的虚拟对象在游戏中有规律的运动轨迹。

进一步,上述运动资源代表的其他玩家或者规律运动的NPC的运动模式也可以以上述两种运动模式来进行运动,具体实现时,可以预先设置每一个运动体和运动资源的运动模式,且,每个运动体和运动资源的运动模式可以相同,也可以不同,具体可以根据实际情况,以及要模拟的游戏对运动模式进行设置,以模拟真实游戏中其他玩家的运动,进而构建上述游戏模拟环境。

步骤S506,触发运动体和动态资源在游戏模拟界面上按照相应的运动模式进行运动,以构建游戏模拟环境;

步骤S508,响应运动体在运动过程中的各个模拟资源请求;

步骤S510,针对每个模拟资源请求,均执行:获取游戏模拟环境的状态信息,并应用状态信息对决策网络进行强化学习训练,得到训练好的决策网络。

在游戏模拟环境中,运动体在运动过程中,可以请求视野域范围内的模拟资源(视野域根据曼哈顿距离计算),如果该模拟资源没有在cache中,且cache中对应的缓存位置是空的,可以将其放入cache;如果该模拟资源没有在cache中,且,cache中对应的缓存位置是满的,则需要将所请求的模拟资源与cache中该缓存位置的资源进行替换,而该缓存位置具体指cache中的哪个位置,或者说,在cache中满时具体选取哪个资源与所请求的模拟资源进行替换,则需要决策网络进行决策。为了得到该决策网络,在训练过程中,针对每个模拟资源请求,都可以按照上述步骤S510的方式对决策网络进行强化学习训练。

此外,如果模拟资源请求对应的模拟资源已经在cache中了,则认为是命中。通常,在构建游戏模拟环境时,用粉色三角形表示该资源在cache中,用红色三角形表示当前模拟资源请求的资源命中。

上述游戏模拟环境中包括的动态资源、静态资源除了用不同的图形+颜色来表示以外,还可以采用图形+序号的方式来表示,且,在训练执行主体中还可以预先存储资源信息表,以确定每个序号所对应的是动态资源还是静态资源,或者是运动体,以及,运动体的预设运动终点等等,并且,为了便于理解,图6示出了一种游戏模拟环境的局部示意图,其中,不同标号的三角形标识动态资源和静态资源,以及,在cache中资源和命中的资源,白色圆形则标识运动体。其具体的标号形式可以根据实际使用情况进行设置,本发明实施例对此不进行限制。

进一步,上述步骤S510中,应用状态信息对决策网络进行强化学习训练包括:应用状态信息构建决策网络的强化学习环境,在强化学习环境中对决策网络进行强化学习训练;其中,强化学习环境包括状态空间、动作空间和奖励函数。

具体地,由于本申请中是基于强化学习进行决策网络训练的,因此,在训练过程中需要进行建模,以及构建上述强化学习环境中的状态空间、动作空间和奖励函数,以构建上述决策网络。

其中,状态空间中的状态对应于上述状态信息,将包含cache中当前的状态,即cache中已缓存的游戏资源,通常以游戏资源的编号信息代替;还包含当前请求的资源编号,即目标游戏资源;还包含运动体当前的位置信息和当前路径所要到达的终点位置信息和路径信息,即,当前运动体处于第几条可选的路径。

上述动作空间对应着训练过程中的动作,假设当前cache大小为C,则动作为0、1、2……C-2、C-1,表示取cache中缓存的第几个资源和当前请求的目标游戏资源进行替换,如果动作为i,且cache的第i个位置是空的,则意味着直接将当前请求资源放到cache的第i个位置。

进一步,奖励函数的设计分为中间奖励和最终奖励,中间奖励是指运动体在运动过程中每一个状态对应一个动作所得到的奖励,设计为每次是否命中,命中则加1。最终奖励是指一次运动路径结束后所获得的奖励,为最终的命中率。奖励函数的公式如下所示:

R=rmid+rfinal (1)

rmid=hitnum (2)

rfinal=α*hitrate (3)

其中,α为系数,用来平衡中间奖励和最终奖励。R表示奖励函数,rmid表示中间奖励,rfinal表示最终奖励。

上述公式(2)中,中间奖励用每一个时间片内的命中个数hitnum来表示,即,命中一个就加1,命中两个就加2,时间片是指一个状态到下一个状态的过程。

上述公式(3)中,最终奖励是指运动体完成一次完整的运动的总的命中率hitrate,例如,以运动体的预设运动终点的个数为10个为例,最终奖励是指运动体一共运动了十条路径后,总的命中率,即,命中的个数除以总的模拟资源请求的个数。

基于上述游戏模拟环境和决策网络的强化学习环境,决策网络与游戏模拟环境是不断互动的,为了便于理解,图7示出了一种训练过程的示意图,如图7所示,游戏模拟环境会给决策网络当前状态,决策网络根据状态做出动作并执行,游戏模拟环境进入新的状态并反馈得到的奖励。决策网络即管理cache的算法,会根据当前cache情况做出正确的资源替换策略,保留之后可能会遇到的资源,使得总体命中率高。

运动体在游戏模拟环境中按照设定的固定转移模式或者概率转移模式进行运动,遇到视野域里的资源就发起模拟资源请求,如果该资源已经在cache中则命中,没有在cache中决策网络则做出决策,确定当前模拟资源请求对应的资源将与cache中的哪一个资源进行替换。替换后,游戏模拟环境进入下一个状态(cache内部资源情况发生变化,运动体和动态资源也会发生变化),并且反馈刚刚的中间奖励给决策网络。决策网络根据{状态,动作,下一个状态,奖励}元组进行自身网络的训练。

进一步,决策网络根据{状态,动作,下一个状态,奖励}元组进行自身网络的训练的过程相当于运动体在模拟环境中不断试错的过程,是决策网络能够学会最优的cache资源替换方案,使得最终cache的命中率较高。

在游戏模拟环境下,对决策网络训练完成之后,还可以进行决策网络的测试,以对比LRU、FIFO、随机策略和基于强化学习的决策网络的策略的命中率。

具体地,表1示出了一种测试实验结果,如表1所示,其中,表1的实验结果,是在游戏模拟环境中只有静态资源情况下,且,运动体的运动模式为固定转移模式时进行的。

表1:

算法 LRU FIFO 随机 最优 强化学习的算法
平均命中率 0.3624 0.3840 0.3858 0.6487 0.5788

具体游戏模拟环境设置如下:随机种子:0;游戏模拟界面对应的地图大小:20*20;静态资源个数:30;cache容量:10;视野域范围:曼哈顿距离为2的范围。测试时,在相同的游戏模拟环境下进行10000次测试,计算平均命中率。

其中,上述表1中,最优的方法是指推演出所有的请求列表后,已知后续资源请求情况下计算的最优的结果,用来作为该实验设置下平均命中率最高可达到的值;表格里的随机是指随机替换的平均命中率。上述随机种子是用来生成虚拟环境和资源分布的,为了使环境的每次设置都是相同的,本发明实施例中,将随机种子固定,即设置成0。

进一步,表2示出了另一种测试实验结果,如表2所示,其中,为了避免静态资源对动态资源进行干扰,表2中的实验结果,是在游戏模拟环境中只有动态资源情况下进行的,且在,运动体和动态资源分别按照固定转移模式和概率转移模式运动时进行的。

表2:

Figure BDA0002257994660000181

具体地,游戏模拟环境设置如下:随机种子:0;游戏模拟界面对应的地图大小:20*20;动态资源个数:40;cache容量:10;视野域范围:曼哈顿距离为2的范围。同样测试时,在相同的游戏模拟环境下进行10000次测试,计算平均命中率。

综上,本发明实施例提供的基于强化学习的决策网络的训练方法包含以下几个步骤:

(1)构建游戏模拟环境:

游戏模拟环境中包含静态资源,动态资源以及运动体本身。动态资源会以固定转移模式或者概率转移模式有规律地在各个事先设定好的运动体的预设运动终点之间进行转移。运动体本身也是按照两种运动模式之一来有规律性地进行固定路线运动或者概率性地运动。

(2)构建决策网络的强化学习环境:

设计强化学习环境包括状态空间、动作空间和奖励函数,构建决策网络。状态空间中会包含cache当前的状态,当前请求的资源编号,运动体当前的位置信息和当前路径所要到达的终点位置信息和路径信息;

动作空间中的动作则为选择cache中的某一个资源进行替换;

奖励函数分为中间奖励和最终奖励,中间奖励是如果命中则加1,最终奖励为最终的命中率。

(3)训练过程:

运动体在游戏模拟环境中规律性运动,采集数据,训练决策网络。运动体规律性地运动,将{状态,动作,下一个状态,奖励}元组进行记录,用来决策网络的训练。

(4)在游戏模拟环境中进行测试,对比LRU、FIFO、随机策略和基于强化学习的决策网络的命中率。

由上述表1和表2示出的实验结果可以看出,本发明实施例中基于强化学习的决策网络做出的资源替换策略,其命中率要高于其他算法的实验结果。

在真实的游戏环境中,可以事先采样真实玩家的数据,利用上述方法进行决策网络的训练,并利用训练好的决策网络来决定当前cache中的哪个资源与资源请求对应的游戏资源进行替换。由于大量玩家数据的训练,使得决策网络可以做出长期效益较高的行为,提高加载资源的命中率,减少资源的消耗。

对应于上述图2所示的游戏资源的缓存方法,本发明实施例还提供了一种游戏资源的缓存装置,该装置设置于游戏的客户端,如图8所示的一种游戏资源的缓存装置,该装置包括:

检测模块80,用于响应针对于游戏中的虚拟对象的资源请求,检查高速缓冲存储器cache中是否已缓存资源请求对应的目标游戏资源;

获取模块82,用于如果cache中未缓存目标游戏资源,获取游戏的状态信息,其中,状态信息包括虚拟对象的当前位置信息和虚拟对象的运动路径信息;

确定模块84,用于基于状态信息和预先训练好的决策网络,确定目标游戏资源的缓存位置;其中,决策网络为基于游戏中的虚拟对象的运动行为训练得到的;

缓存模块86,用于将目标游戏资源缓存至上述缓存位置。

进一步,对应于上述图4所示的决策网络的训练方法,本发明实施例还提供了一种决策网络的训练装置,该装置可以设置于训练执行主体,如服务器,计算机,云平台等等,如图9所示的一种决策网络的训练装置的结构示意图,该装置包括:

构建模块90,用于响应针对游戏模拟环境的构建操作,在预先建立的游戏模拟界面上添加静态资源、动态资源和运动体,以及触发运动体和动态资源在游戏模拟界面上运动;

响应模块92,用于响应运动体在运动过程中的各个模拟资源请求;

执行模块94,用于针对每个模拟资源请求,均执行:获取游戏模拟环境的状态信息,并应用状态信息对决策网络进行强化学习训练,得到训练好的决策网络;

其中,状态信息包括运动体的当前位置信息和运动体的运动路径信息;决策网络用于对缓存游戏资源的cache进行资源管理。

本发明实施例还提供了一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现上述游戏资源的缓存方法或决策网络的训练方法。

进一步,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述游戏资源的缓存方法或决策网络的训练方法。

如图10所示的一种电子设备的结构示意图,其中,该电子设备包括处理器101和存储器100,该存储器100存储有能够被该处理器101执行的计算机可执行指令,该处理器101执行该计算机可执行指令以实现上述游戏资源的缓存方法或决策网络的训练方法。

在图10示出的实施方式中,该电子设备还包括总线102和通信接口103,其中,处理器101、通信接口103和存储器100通过总线102连接。

其中,存储器100可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA(IndustryStandard Architecture,工业标准体系结构)总线、PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线102可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器101读取存储器中的信息,结合其硬件完成前述实施例的游戏资源的缓存方法或决策网络的训练方法的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的电子设备和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本发明实施例所提供的游戏资源的缓存方法、决策网络的训练方法及装置的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

21页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:终端应用资源的处理方法及装置

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类