一种游戏对象的控制方法、装置、介质以及设备与流程

文档序号:16474430发布日期:2019-01-02 23:26阅读:188来源:国知局
一种游戏对象的控制方法、装置、介质以及设备与流程

本申请涉及游戏人工智能技术领域,尤其涉及一种游戏对象的控制方法、装置、计算机存储介质以及设备。



背景技术:

目前在游戏开发及应用中,很多场景下都会用到人工智能,称为游戏人工智能(artificialintelligence,ai)即游戏ai。例如,在游戏开发过程中,游戏ai可以替代测试人员的角色,通过游戏ai玩游戏获得测试数据,以实现游戏性能测试;再例如,在游戏应用过程中,游戏玩家在掉线或其他场景下,可以主动选择游戏ai自动处理。还有可能在游戏人数不够时,为了使得游戏能正常进行,也选择一些游戏ai来与真人进行游戏。

目前游戏ai主要有两种实现方案,一种是基于脚本的实现方案,其优点是实现简单,运算开销小,其缺点是行为模式死板,该方案只适合一些场景简单的游戏中,而在策略类游戏例如第一人称射击游戏(fps)中,场景随机性很强,该方案无法适用。另一种是基于深度强化学习的实现方案,该方案主要是基于深度强化学习算法,通过在线训练单一的神经网络模型实现游戏ai,由于该模型只有在较多训练样本的情况下才会具有较好的性能,然而在线训练过程中样本数据的产生效率非常低,难以在短时间内获得较多的训练样本,如此导致游戏ai的性能较差。



技术实现要素:

本申请实施例提供了一种游戏对象的控制方法,该方法基于模仿学习和深度强化学习并行学习所得模型实现游戏ai,极大节省了模型的训练时间,使得游戏ai针对场景随机性很强的游戏具有较好的性能。另外,本申请实施例还提供对应的装置、设备以及计算机存储介质。

有鉴于此,本申请一方面提供了一种游戏对象的控制方法,所述方法包括:

获取游戏对象参与游戏时的游戏图像,并判断所述游戏图像中是否存在所述游戏对象的对手对象;

若否,将所述游戏图像输入第一策略模型,获取所述第一策略模型输出的动作概率向量,根据所述动作概率向量选择概率最大的动作作为目标动作,控制所述游戏对象执行目标动作以实现游戏内地图探索;所述第一策略模型是利用模仿学习算法离线学习得到的深度神经网络模型;

若是,将所述游戏图像输入第二策略模型,获取所述第二策略模型输出的动作价值向量,根据所述动作价值向量选择价值最大的动作作为目标动作,控制所述游戏对象执行目标动作以实现与对手对象进行战斗;所述第二策略模型是利用深度强化学习算法在线学习得到的深度神经网络模型。

本申请一方面提供一种游戏对象的控制装置,所述装置包括:

判断模块,用于获取游戏对象参与游戏时的游戏图像,并判断所述游戏图像中是否存在所述游戏对象的对手对象;

探索模块,用于若否,将所述游戏图像输入第一策略模型,获取所述第一策略模型输出的动作概率向量,根据所述动作概率向量选择概率最大的动作作为目标动作,控制所述游戏对象执行目标动作以实现游戏内地图探索;所述第一策略模型是利用模仿学习算法离线学习得到的深度神经网络模型;

战斗模块,用于若是,将所述游戏图像输入第二策略模型,获取所述第二策略模型输出的动作价值向量,根据所述动作价值向量选择价值最大的动作作为目标动作,控制所述游戏对象执行目标动作以实现与对手对象进行战斗;所述第二策略模型是利用深度强化学习算法在线学习得到的深度神经网络模型。

本申请一方面提供一种游戏对象的控制设备,所述设备包括处理器以及存储器:

所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;

所述处理器用于根据所述程序代码中的指令,执行如上述游戏对象的控制方法的步骤。

本申请一方面提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行上述游戏对象的控制方法。

从以上技术方案可以看出,本申请实施例具有以下优点:

本申请实施例中提供了一种游戏对象的控制方法,该方法中通过深度神经网络模型实现游戏ai,而非通过固定的脚本实现游戏ai,因而其能够适用场景随机性较强的策略类游戏。并且,该方法中将游戏对象的控制分解为地图探索和战斗两部分,具体地,通过模仿学习算法离线训练第一策略模型,离线训练样本能够预先获取,因而能够极大地节省第一策略模型的训练时间,使得模型快速学习探索地图的策略;通过深度强化学习算法训练第二策略模型,该第二策略模型负责战斗时的动作输出,因此仅针对战斗过程执行在线训练,极大地缩减第二策略模型的训练时间,并且使得该模型在战斗时具有较好的性能。

此外,将单一神经网络模型拆分为两个神经网络模型,降低了训练难度,而且这两个模型可以并行训练,进一步降低了游戏ai的训练时间开销。在该方法中,针对不同地图场景,无需重新训练第二策略模型,仅通过模仿学习算法对第一策略模型进行再训练,使其学会特定地图策略。由此可见,本申请实施例中将游戏ai拆分为地图探索和战斗两个阶段,分别采用模仿学习和深度强化学习算法进行训练,大大降低了训练难度和训练时间开销,并且通过该方法实现的游戏ai具有较好的性能,能够适应不同的游戏场景。

附图说明

图1为本申请实施例中一种游戏对象的控制方法的场景架构图;

图2为本申请实施例中一种游戏对象的控制方法的流程图;

图3为本申请实施例中一种训练第一策略模型的方法的流程图;

图4为本申请实施例中一种训练第二策略模型的方法的流程图;

图5a为本申请实施例中一种游戏对象的控制方法的应用场景示意图;

图5b为本申请实施例中游戏角色进行地图探索的示意图;

图5c为本申请实施例中游戏角色与对手角色进行战斗的示意图;

图6为本申请实施例中一种游戏对象的控制装置的结构示意图;

图7为本申请实施例中一种游戏对象的控制装置的结构示意图;

图8为本申请实施例中一种游戏对象的控制装置的结构示意图;

图9为本申请实施例中一种游戏对象的控制装置的结构示意图;

图10为本申请实施例中一种游戏对象的控制装置的结构示意图;

图11为本申请实施例中一种游戏对象的控制装置的结构示意图;

图12为本申请实施例中一种游戏对象的控制设备的结构示意图;

图13为本申请实施例中一种游戏对象的控制设备的结构示意图。

具体实施方式

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

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

针对现有技术中基于脚本实现的游戏ai行为模式死板,仅适合一些场景简单的游戏,基于深度强化学习实现的游戏ai性能较差的技术问题,该方法中通过游戏ai实现游戏对象的控制,该游戏ai是通过深度神经网络模型实现的,而非通过固定的脚本实现游戏对象的控制,因而针对场景随机性较强的策略类游戏也能够适用。并且,该方法中将游戏对象的控制分解为地图探索和战斗两部分,具体地,通过模仿学习算法离线训练第一策略模型,离线训练样本能够预先获取,因而能够极大地节省第一策略模型的训练时间,使得模型快速学习探索地图的策略;通过深度强化学习算法训练第二策略模型,该第二策略模型负责战斗时的动作输出,因此仅针对战斗过程执行在线训练,极大地缩减第二策略模型的训练时间,并且使得该模型在战斗时具有较好的性能。

此外,将单一神经网络模型拆分为两个神经网络模型,降低了训练难度,而且这两个模型可以并行训练,进一步降低了游戏ai的训练时间开销。在该方法中,针对不同地图场景,无需重新训练第二策略模型,仅通过模仿学习算法对第一策略模型进行再训练,使其学会特定地图策略。由此可见,本申请实施例中将游戏ai拆分为地图探索和战斗两个阶段,分别采用模仿学习和深度强化学习算法进行训练,大大降低了训练难度和训练时间开销,并且通过该方法训练的游戏ai具有较好的性能,能够适应不同的游戏场景。

其中,本实施例所述的游戏对象是指游戏应用中能够参与战斗的对象。具体地,游戏对象可以是游戏中的人、动物或其他生命体等游戏角色,其中,游戏角色可以分为玩家游戏角色和非玩家游戏角色。对于玩家游戏角色,游戏玩家可以控制该游戏角色执行相应的操作,也可以在一些情况下将该玩家游戏角色交付给游戏ai,由游戏ai控制该游戏角色执行相应的操作;对于非玩家游戏角色,可以由游戏应用服务器或终端内置的游戏ai控制游戏角色执行相应的操作。为了便于理解本申请的技术方案,下文描述的实施例是以游戏角色作为游戏对象进行示例性说明,但其并不限制本申请的实现。

可以理解,本申请提供的游戏对象的控制方法可以由游戏智能体执行,其中,游戏智能体即为上文所述的游戏ai,从软件层面来讲,该游戏ai可以为游戏应用中的引擎、功能模块或者插件等。游戏智能体可以部署在服务器中,也可以部署在终端设备中。其中,服务器可以是独立的服务器,也可以是多个服务器形成的集群,终端设备可以是具有数据处理能力的计算设备,包括台式机、笔记本电脑或智能手机等设备。

本申请实施例提供的游戏对象的控制方法可以应用于多种场景。例如,在游戏开发阶段,游戏智能体可以代替测试人员玩游戏,以实现游戏性能测试。又例如,在游戏应用阶段,玩家根据自己的需求托管自身角色,如此游戏智能体可以通过执行上述游戏对象的控制方法,控制玩家角色继续进行游戏。在多人游戏中,游戏智能体还可以在游戏人数不够时,选择游戏角色,并执行上述游戏对象的控制方法,与真人一起进行游戏。有些游戏中还包括非玩家角色,例如玩家游戏角色的协助者,游戏智能体还可以非玩家角色的身份执行上述游戏对象的控制方法,以协助玩家游戏角色进行游戏。

为了便于理解,下面将以游戏智能体在玩家不方便的时候,代替玩家玩游戏的场景,对本申请实施例中游戏对象的控制方法进行简单介绍。

图1为本申请实施例中一种游戏对象的控制方法的场景结构图,参见图1,该应用场景中包括终端设备10和服务器20,其中,服务器20内置有游戏ai,可以通过游戏ai实现游戏对象的控制。下面将对游戏对象的控制过程进行详细说明。

玩家在通过终端设备10玩游戏过程中离开,并将玩家游戏角色托管给游戏ai,其中,玩家游戏角色即为本实施例中的游戏对象,如此服务器20的游戏ai可以从终端设备获取游戏角色参与游戏时的游戏图像,并判断游戏图像中是否存在游戏角色的对手角色。

若游戏图象中不存在游戏角色的对手角色,则需要进行游戏内地图探索,以便找到游戏角色的对手角色。具体地,游戏智能体可以将游戏图像输入第一策略模型,该第一策略模型是利用模仿学习算法离线学习得到的深度神经网络模型,接着,游戏智能体获取第一策略模型输出的动作概率向量,根据动作概率向量选择概率最大的动作作为目标动作,然后控制游戏角色执行目标动作从而实现游戏内地图探索。

若游戏图像中存在游戏角色的对手角色,则需要与对手角色进行战斗。具体地,游戏智能体将游戏图像输入第二策略模型,该第二策略模型是利用深度强化学习算法在线学习得到的深度神经网络模型,接着,游戏智能体获取第二策略模型输出的动作价值向量,根据动作价值向量选择价值最大的动作作为目标动作,控制游戏角色执行目标动作以实现与对手角色进行战斗。

在该场景中,游戏智能体通过第一策略模型控制游戏角色执行目标动作实现游戏内的地图探索,通过第二策略模型控制游戏角色执行目标动作实现与对手角色进行战斗,从而实现了游戏智能体代替玩家对游戏角色进行控制。由于采用了离线训练的第一策略模型和在线训练的第二策略模型,上述模型均为深度神经网络模型,能够较好地适应场景随机性较强的策略类游戏。并且,采用了离线学习和在线学习相结合的方式,因而具有较好的性能。

为了使得本申请的技术方案更加清楚,下面将结合附图,对本申请实施例提供的游戏对象的控制方法进行详细介绍。

图2为本申请实施例提供的一种游戏对象的控制方法的流程图,请参见图2,该方法包括:

s201:获取游戏对象参与游戏时的游戏图像,并判断所述游戏图像中是否存在所述游戏对象的对手对象。若否,则执行s202;若是,则执行s203。

在场景随机性较强的策略类游戏中,例如第一人称射击游戏中,游戏智能体需要先确定游戏对象的对手对象,以便控制游戏对象与对手对象进行战斗。基于此,游戏智能体获取游戏对象参与游戏时的游戏图像,并判断游戏图像中是否存在游戏对象的对手对象。

以游戏对象为游戏角色作为示例,游戏智能体可以获取游戏图像,然后通过图像识别技术对上述游戏图像进行识别,从而获取游戏角色参与游戏时的游戏图像;接着,游戏智能体通过图像识别技术,判断游戏角色参与游戏时的游戏图像中是否存在游戏角色的对手角色。若否,则游戏智能体需要进行游戏内地图探索,以寻找游戏角色的对手角色,即执行s202;若是,则游戏智能体与对手角色进行战斗,即执行s203。

s202:将所述游戏图像输入第一策略模型,获取所述第一策略模型输出的动作概率向量,根据所述动作概率向量选择概率最大的动作作为目标动作,控制所述游戏对象执行目标动作以实现游戏内地图探索。

第一策略模型是利用模仿学习算法离线学习得到的深度神经网络模型。

在游戏过程中,游戏对象往往需要进行地图探索,以发现对手对象。为了提高寻找对手对象的效率,可以控制游戏对象按照地图探索策略进行移动。其中,地图探索策略可以通过模仿人类专家的决策数据而获得。基于此,游戏服务器可以采用模仿学习算法离线学习得到深度神经网络模型,作为第一策略模型。

仍以游戏角色为例,游戏智能体将该游戏角色参与游戏时的游戏图像输入第一策略模型,获取第一策略模型输出的动作概率向量,该动作概率向量表征了第一策略模型给出的地图探索策略,游戏智能体根据该地图探索策略控制游戏角色进行地图探索。具体地,游戏智能体根据动作概率向量选择概率最大的动作作为目标动作,控制游戏角色执行目标动作,从而实现游戏内地图探索。

可以理解,游戏智能体在控制游戏角色执行目标动作后,游戏角色参与游戏时的游戏图像将会产生变化,游戏智能体可以判断新的游戏图像中是否存在目标角色的对手角色,也即重新执行s201。在一些可能的实现方式中,游戏智能体可以重复执行s201和s202,当游戏图像中存在游戏角色的对手角色时再执行s203。

s203:将所述游戏图像输入第二策略模型,获取所述第二策略模型输出的动作价值向量,根据所述动作价值向量选择价值最大的动作作为目标动作,控制所述游戏对象执行目标动作以实现与对手对象进行战斗。

所述第二策略模型是利用深度强化学习算法在线学习得到的深度神经网络模型。

在游戏过程中,当确定游戏图像中包括游戏对象的对手对象时,游戏对象与对手对象之间展开战斗,为了提高击中对手对象的概率,降低被对手对象击中的概率,可以控制游戏对象按照战斗策略进行战斗。该战斗策略可以对战斗数据进行深度强化学习得到,具体地,服务器利用深度强化学习算法在线学习得到深度神经网络模型,作为第二策略模型。

以游戏对象为游戏角色为例,游戏智能体将游戏图像输入第二策略模型,获取第二策略模型输出的动作价值向量,该动作价值向量表征了第二策略模型给出的战斗策略,即在当前场景下执行各个动作所产生的价值,游戏智能体根据该战斗策略进行战略。具体地,游戏智能体根据所述动作价值向量选择价值最大的动作作为目标动作,控制所述游戏角色执行目标动作,从而实现与对手角色进行战斗。

由上可知,本申请实施例提供了一种游戏对象的控制方法,该方法中通过深度神经网络模型实现游戏ai,而非通过固定的脚本实现游戏对象的控制,因而其能够适用场景随机性较强的策略类游戏。并且,该方法中将游戏对象的控制分解为地图探索和战斗两部分,具体地,通过模仿学习算法离线训练第一策略模型,离线训练样本能够预先获取,因而能够极大地节省第一策略模型的训练时间,使得模型快速学习探索地图的策略;通过深度强化学习算法训练第二策略模型,该第二策略模型负责战斗时的动作输出,因此仅针对战斗过程执行在线训练,极大地缩减第二策略模型的训练时间,并且使得该模型在战斗时具有较好的性能。

此外,将单一神经网络模型拆分为两个神经网络模型,降低了训练难度,而且这两个模型可以并行训练,进一步降低了游戏ai的训练时间开销。在该方法中,针对不同地图场景,无需重新训练第二策略模型,仅通过模仿学习算法对第一策略模型进行再训练,使其学会特定地图策略。由此可见,本申请实施例中将游戏ai拆分为地图探索和战斗两个阶段,分别采用模仿学习和深度强化学习算法进行训练,大大降低了训练难度和训练时间开销,并且通过该方法训练的游戏ai具有较好的性能,能够适应不同的游戏场景。

在上述实施例中,实现游戏对象的控制的关键点在于给出准确的控制策略,该游戏ai是基于第一策略模型和第二策略模型确定控制策略的,为了便于理解本申请的技术方案,下面将结合具体实施例,对第一策略模型的训练方法以及第二策略模型的训练方法分别进行介绍。

在本实施例中,第一策略模型是基于模仿学习算法训练得到的。模仿学习算法包括基于行为克隆,逆强化学习或者生成式对抗网络(generativeadversarialnetworks,gan)的算法。具体到本实施例,游戏应用服务器可以采用基于行为克隆的直接模仿学习算法离线学习,从而得到第一策略模型。

图3为本申请实施例中一种训练第一策略模型的方法的流程图,参见图3,该方法包括:

s301:从游戏玩家操作视频中提取样本以生成样本集。

所述样本集中的每个样本包括帧图像与其对应的动作标签,所述动作标签标识游戏对象在游戏图像中实施的动作。

服务器获取游戏玩家操作视频,从玩家操作视频中抽取包括游戏对象参与游戏时的帧图像,然后对帧图像进行识别,得到对应的动作标签,根据该帧图像和动作标签可以生成样本,进而形成样本集。在一些可能的实现方式中,服务器可以利用图像识别算法识别游戏玩家操作视频中帧图像,得到每一帧图像各自对应的动作标签;然后将游戏玩家操作视频中的每一帧图像及其对应的动作标签作为样本;根据该样本生成样本集。

其中,模仿学习是基于训练样本的教导使模型在相同场景下输出的动作与样本的动作一致,基于此,应当保持训练样本中动作的一致性。例如,在船舱中,左边和右边均具有舱门通向甲板,每次从船舱到甲板均应选择同样的舱门出去,基于此,样本包括游戏角色从船舱到甲板的帧图像,以及对应的动作标签,当样本集中包括多个从船舱到甲板场景的样本时,样本对应的动作标签应当一致。

基于此,在生成样本集后,考虑到在视频中可能会有大量的帧没有动作或者与前面相邻的帧图像一样但是动作不一样的情况,这就导致样本集质量较差,导致训练精度无法提升。基于此,服务器还可以对样本集中样本动作一致性进行校验。具体地,服务器可以比较样本集中每个帧图像与其前一帧的帧图像,以及比较样本集中每个帧图像与其前一帧的动作标签;若某个帧图像与其前一帧图像的图像相似且动作标签不一致,则将样本集中某个帧图像对应的动作标签更改为与其前一帧图像对应的动作标签。针对不同的策略类游戏,服务器还可以根据游戏的特性对样本集中的样本进行进一步校验。

以穿越火线手游版(crossfiremobile,cfm)为例,服务器还可以根据没有动作的帧图像的前一帧图像对该没有动作的帧图像进行处理。具体地,若某个帧图像没有对应的动作,且其前一帧图像对应的动作标签标识指定类型动作,则将样本集中该帧图像对应的动作标签更改为与其前一帧图像对应的动作标签。在另一些可能的实现方式中,若某个帧图像没有对应的动作,且其前一帧图像对应的动作标签标识非指定类型动作,则从样本集中删除所述某个帧图像所对应的样本。

其中,指定类型动作可以根据经验设置。具体地,针对任一战斗类型游戏,如第一人称射击游戏,分析游戏玩家操作视频中相邻帧之间动作标签的关联关系,根据该关联关系设置指定类型动作。在一些可能的实现方式中,指定类型动作可以为左右转动。

需要说明的是,在上述实施例中,服务器可以通过滑动窗口的方式实现帧图像与其前一帧图像之间的比较,进而确定样本中动作的一致性。

s302:采用模仿学习算法根据所述样本集对初始深度神经网络模型进行训练,以得到满足训练结束条件的深度神经网络模型,作为所述第一策略模型。

服务器采用模仿学习算法根据样本集对初始深度神经网络模型进行训练,迭代更新初始深度神经网络模型的参数,以得到满足训练结束条件的深度神经网络模型,作为第一策略模型。其中,满足训练结束条件可以是模型处于收敛状态。在模型训练过程中,采用模仿学习算法根据样本集更新模型参数,当模型处于收敛状态时,可以将最终学习的模型作为第一策略模型。

在本实施例中,服务器采用基于行为克隆的直接模仿学习算法离线学习得到第一策略模型时,可以通过卷积神经网络实现。具体地,初始深度神经网络模型可以为卷积神经网络模型,该模型可以包6层卷积层、3层全连接层和1层softmax层,其中,softmax用于解决多分类问题,输出各个类别的概率。在该初始深度神经网络模型中,服务器可以采用adam优化器对模型参数进行优化,采用交叉熵损失函数作为模型的损失函数,以便根据该交叉熵损失函数判断是否满足训练结束条件。

当服务器通过模仿学习训练得到第一策略模型时,由于该第一策略模型是经过初始神经网络模型训练得到的,因而,第一策略模型包括与初始神经网络模型相同的结构。具体地,所述第一策略模型包括6层卷积层、3层全连接层和1层softmax层。

由上可知,本申请实施例提供了一种训练第一策略模型的方法,通过预先采集玩家操作视频并从中提取样本以生成样本集,然后采用模仿学习算法,根据样本集对初始神经网络模型进行离线训练,以得到满足训练结束条件的深度神经网络模型,作为所述第一策略模型。在该方法中采用了离线训练的方式,其训练样本可以预先获取,不需要在线产生,也即无需等待样本生成,从而大幅度降低了训练时间开销;而且离线训练采用了大量的训练样本,如此使得通过该大量训练样本训练的模型具有较好的性能。

图3所示实施例主要介绍了训练第一策略模型的方法的具体实现方式,接下来,将结合附图对本申请实施例提供的训练第二策略模型的方法的具体实现方式进行介绍。

图4为本申请实施例中一种训练第二策略模型的方法的流程图,参见图4,该方法包括:

s401:采集游戏对象参与游戏时的游戏图像,确定游戏对象在游戏图像中实施的动作以及根据回报函数确定游戏对象实施动作所得的回报值。

其中,所述回报函数表示若游戏对象被对手对象命中则给出第一回报值,若游戏对象命中对手对象则给出第二回报值,若游戏对象击杀对手对象则给出第三回报值,所述第一回报值为负数,所述第二回报值为正数且小于第三回报值。

在本实施例中,第二策略模型用于提供战斗策略,当游戏对象为游戏角色时,该战斗策略表征游戏角色在当前场景中产生最大价值的动作,如此,可以使得在游戏过程中游戏角色按照该战斗策略执行该动作,能够产生最大价值。其中,价值与回报值正相关,基于此,服务器采集游戏角色参与游戏时的游戏图像,确定游戏角色在游戏图像中实施的动作,以及根据回报函数确定游戏角色实施动作所得的回报值。

其中,回报函数可以表征游戏角色在不同状态所对应的回报值,具体地,若游戏角色被命中,则给出第一回报值,该第一回报值为负值,相当于被命中时给予惩罚,若命中对手角色,则给出第二回报值,击杀对手角色给出第三回报值,第二回报值为整数,并且小于第三回报值,相当于在命中或击杀对手时给予奖励,并且命中时的奖励小于击杀时的奖励。基于此,游戏角色需要实施动作以提高命中对手角色以及击杀对手角色的概率,降低被对手角色命中的概率,从而获得较大的回报值,使得价值最大化。在一种具体的实现方式中,第一回报值取值为-0.1,第二回报值取值为0.1,第三回报值取值为1.0,这组回报值主要是强化网络学会击中敌人和减少被命中。

s402:生成样本集。

所述样本集中的每个样本包括:一帧游戏图像、所述一帧游戏图像对应的动作标签、所述一帧游戏图像对应的回报值以及所述一帧游戏图像相邻的下一帧游戏图像。

在游戏对战过程中,每一个状态下的每一种选择所产生的价值与当前状态当前动作的回报值有关,还与下一个状态下的选择所产生的价值有关,基于此,在收集样本生成样本集时,样本集中的每个样本不仅包括一帧游戏图像、该游戏图像对应的动作标签、该图像对应的回报值,还包括与该图像相邻的下一帧游戏图像。

s403:根据所述样本集中的样本训练第二策略模型的网络参数。

服务器根据样本集中的样本训练第二策略模型的网络参数,从而得到用于提供战斗策略的第二策略模型。其中,服务器采用深度强化学习算法根据样本集中的样本训练得到第二策略模型。

在具体实现时,服务器可以初始化深度强化学习模型(deepq-learningnetwork,dqn),将样本集中的样本输入该dqn模型,采用深度强化学习算法更新dqn模型的模型参数,从而实现模型训练。当训练后的模型满足训练结束条件时,例如dqn模型呈收敛状态,则将该模型作为第二策略模型,该第二策略模型能够用于对战场景,为游戏对象提供战斗策略,当游戏对象按照该战斗策略执行目标动作与对手对象战斗时,能够获得最大价值。

由上可知,本申请实施例提供了一种训练第二策略模型的方法,该方法基于深度强化学习算法实现,首先构建模型的回报函数,该回报函数表征游戏对象在不同状态下的回报值,基于此,可以采集游戏对象参与游戏时的游戏图像,识别游戏图像中游戏对象实施的动作,以及根据回报函数确定游戏对象实施动作所得的回报值,然后根据游戏图像、游戏图像对应的动作标签、游戏图像对应的回报值以及下一帧游戏图像生成样本,进而生成样本集,根据该样本集中的样本训练第二策略模型的网络参数,得到第二策略模型。由于第二策略模型负责战斗时的动作输出,因此仅针对战斗过程执行在线训练,极大地缩减第二策略模型的训练时间。并且该模型无需进行地图探索,在线训练过程中样本数据的产生效率能够满足模型训练需求,无需大量的样本数据,第二策略模型也能获得较好的性能。

以上为本申请实施例中一种游戏对象的控制方法的具体实现方式,为了便于理解本申请的技术方案,下面将结合具体场景对本申请实施例中游戏对象的控制方法进行详细介绍。

图5a为本申请实施例中一种游戏对象的控制方法的应用场景示意图,参见图5a,该游戏场景中包括终端设备10和服务器20,其中,服务器20内置有游戏ai,该游戏ai是基于第一策略模型和第二策略模型实现的。

在该应用场景中,测试人员通过终端设备10设置游戏角色以ai游戏模式进行游戏,如此,服务器20中的游戏智能体可以代替测试人员,实现对游戏角色的控制。

具体地,游戏智能体获取游戏角色参与游戏时的游戏图像,并通过图像识别技术判断游戏图像中是否存在游戏角色的对手角色,若识别结果为否,则将游戏图像输入第一策略模型,获取第一策略模型输出的动作概率向量,根据该动作概率向量选择概率最大的动作作为目标动作,控制游戏角色执行目标动作以实现游戏内地图探索。具体参见图5b所示的游戏内地图探索示意图,图中501为游戏角色当前参与游戏时的游戏图像,游戏智能体通过图像识别技术,并未识别到该游戏图像中存在游戏角色的对手角色,因此,游戏智能体将该游戏图像输入第一策略模型,获取第一策略模型输出的动作概率向量,根据该动作概率向量确定目标动作,控制游戏角色执行目标动作实现游戏内地图探索,如图中502所示,黑色虚线位置即为游戏角色上一时刻所在位置,游戏智能体根据第一策略模型确定目标动作为右转,游戏角色右转移动到当前位置,以在游戏内进行地图探索,寻找对手角色。

在地图探索过程中,若识别到游戏图像中存在游戏角色的对手角色,则将游戏图像输入第二策略模型,获取第二策略模型输出的动作价值向量,根据该动作价值向量选择价值最大的动作作为目标动作,控制游戏角色执行目标动作以实现与对手角色进行战斗。具体参见图5c所示的游戏内与对手角色战斗的示意图,图中503为游戏角色当前参与游戏时的游戏图像,游戏智能体通过图像识别技术识别到游戏图像中存在游戏角色对手角色,503中的矩形框突出显示的对象即为游戏角色对手角色,游戏智能体将该游戏图像输入第二策略模型,获取模型输出的战斗策略,根据该策略控制游戏角色执行目标动作,以瞄准游戏角色对手角色,具体参见504,如此可以实现与对手角色战斗。

服务器20可以收集游戏智能体控制游戏角色时的数据,作为游戏测试数据,用于帮助游戏研发和测试人员找出游戏的缺陷,以便针对性地完善游戏。

在该实施例中,游戏智能体识别游戏角色参与游戏时的游戏图像,当游戏图像中不存在对手角色时,则将游戏图像输入第一策略模型,根据第一策略模型给出的策略,控制游戏角色进行地图探索,寻找对手角色,当游戏图像中存在对手角色时,将游戏图像输入第二策略模型,根据该第二策略模型给出的策略控制游戏角色与对手角色战斗,游戏智能体代替测试人员实现针对游戏角色的游戏操作的控制,解放了测试人员,大大减轻了测试压力,促进了游戏设计与开发。

以上为本申请实施例提供的一种游戏对象的控制方法具体实现方式,基于此,本申请实施例还提供了一种游戏对象的控制装置,接下来将从功能模块化的角度对本申请实施例中游戏对象的控制装置进行介绍。

图6为本申请实施例中一种游戏对象的控制装置的结构示意图,参见图6,该装置600包括:

判断模块610,用于获取游戏对象参与游戏时的游戏图像,并判断所述游戏图像中是否存在所述游戏对象的对手对象;

探索模块620,用于若否,将所述游戏图像输入第一策略模型,获取所述第一策略模型输出的动作概率向量,根据所述动作概率向量选择概率最大的动作作为目标动作,控制所述游戏对象执行目标动作以实现游戏内地图探索;所述第一策略模型是利用模仿学习算法离线学习得到的深度神经网络模型;

战斗模块630,用于若是,将所述游戏图像输入第二策略模型,获取所述第二策略模型输出的动作价值向量,根据所述动作价值向量选择价值最大的动作作为目标动作,控制所述游戏对象执行目标动作以实现与对手对象进行战斗;所述第二策略模型是利用深度强化学习算法在线学习得到的深度神经网络模型。

可选的,参见图7,图7为本申请实施例中游戏对象的控制装置的一个结构示意图,在图6所示结构的基础上,所述装置还包括:

提取模块640,用于从游戏玩家操作视频中提取样本以生成样本集,所述样本集中的每个样本包括帧图像与其对应的动作标签,所述动作标签标识游戏对象在游戏图像中实施的动作;

第一训练模块650,用于采用模仿学习算法根据所述样本集对初始深度神经网络模型进行训练,以得到满足训练结束条件的深度神经网络模型,作为所述第一策略模型。

可选的,参见图8,图8为本申请实施例中游戏对象的控制装置的一个结构示意图,在图7所示结构的基础上,所述提取模块640包括:

识别子模块641,用于利用图像识别算法识别游戏玩家操作视频中帧图像,得到每一帧图像各自对应的动作标签;

第一生成子模块642,用于将所述游戏玩家操作视频中的每一帧图像及其对应的动作标签作为样本;

第二生成子模块643,用于根据所述样本生成样本集。

可选的,参见图9,图9为本申请实施例中游戏对象的控制装置的一个结构示意图,在图8所示结构的基础上,所述提取模块640还包括:

比较子模块644,用于比较所述样本集中每个帧图像与其前一帧的帧图像,以及比较所述样本集中每个帧图像与其前一帧的动作标签;

更改子模块645,用于若某个帧图像与其前一帧图像的图像相似且动作标签不一致,则将所述样本集中所述某个帧图像对应的动作标签更改为所述前一帧图像对应的动作标签。

可选的,参见图10,图10为本申请实施例中游戏对象的控制装置的一个结构示意图,在图9所示结构的基础上,所述更改子模块645还用于:

若某个帧图像没有对应的动作,且其前一帧图像对应的动作标签标识指定类型动作,则将所述样本集中所述某个帧图像对应的动作标签更改为所述前一帧图像对应的动作标签;

所述提取模块640还包括:

删除子模块646,用于若某个帧图像没有对应的动作,且其前一帧图像对应的动作标签标识非指定类型动,则从所述样本集中删除所述某个帧图像所对应的样本。

可选的,所述第一策略模型包括6层卷积层、3层全连接层和1层softmax层。

可选的,所述模仿学习算法包括基于行为克隆的直接模仿学习算法。

可选的,参见图11,图11为本申请实施例中游戏对象的控制装置的一个结构示意图,在图6所示结构的基础上,所述装置600还包括:

确定模块660,用于采集游戏对象参与游戏时的游戏图像,确定游戏对象在游戏图像中实施的动作以及根据回报函数确定游戏对象实施动作所得的回报值;所述回报函数表示若游戏对象被对手对象命中则给出第一回报值,若游戏对象命中对手对象则给出第二回报值,若游戏对象击杀对手对象则给出第三回报值,所述第一回报值为负数,所述第二回报值为正数且小于第三回报值;

生成模块670,用于生成样本集,所述样本集中的每个样本包括:一帧游戏图像、所述一帧游戏图像对应的动作标签、所述一帧游戏图像对应的回报值以及所述一帧游戏图像相邻的下一帧游戏图像;

第二训练模块680,用于根据所述样本集中的样本训练第二策略模型的网络参数。

可选的,所述游戏为第一人称射击游戏。

由上可知,本申请实施例提供了一种游戏对象的控制装置,该装置通过游戏ai实现游戏对象的控制,该游戏ai是通过深度神经网络模型实现的,而非通过固定的脚本实现游戏对象的控制,因而针对场景随机性较强的策略类游戏也能够适用。并且,该方法中将游戏对象的控制分解为地图探索和战斗两部分,具体地,通过模仿学习算法离线训练第一策略模型,离线训练样本能够预先获取,因而能够极大地节省第一策略模型的训练时间,使得模型快速学习探索地图的策略;通过深度强化学习算法训练第二策略模型,该第二策略模型负责战斗时的动作输出,因此仅针对战斗过程执行在线训练,极大地缩减第二策略模型的训练时间,并且使得该模型在战斗时具有较好的性能。

此外,将单一神经网络模型拆分为两个神经网络模型,降低了训练难度,而且这两个模型可以并行训练,进一步降低了游戏ai的训练时间开销。在该方法中,针对不同地图场景,无需重新训练第二策略模型,仅通过模仿学习算法对第一策略模型进行再训练,使其学会特定地图策略。由此可见,本申请实施例中将游戏ai拆分为地图探索和战斗两个阶段,分别采用模仿学习和深度强化学习算法进行训练,大大降低了训练难度和训练时间开销,并且通过该方法训练的游戏ai具有较好的性能,能够适应不同的游戏场景。

图6至图11所示实施例从模块功能化的角度,对本申请实施例提供的游戏对象的控制装置进行介绍,基于此,本申请实施例还提供了一种游戏对象的控制设备。下面将从硬件实体化的角度,对本申请实施例中一种游戏对象的控制设备的具体实现进行详细说明。

图12为本申请实施例提供的一种游戏对象的控制设备的结构示意图,该设备可以为服务器,该服务器1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)1222(例如,一个或一个以上处理器)和存储器1232,一个或一个以上存储应用程序1242或数据1244的存储介质1230(例如一个或一个以上海量存储设备)。其中,存储器1232和存储介质1230可以是短暂存储或持久存储。存储在存储介质1230的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1222可以设置为与存储介质1230通信,在服务器1200上执行存储介质1230中的一系列指令操作。

服务器1200还可以包括一个或一个以上电源1226,一个或一个以上有线或无线网络接口1250,一个或一个以上输入输出接口1258,和/或,一个或一个以上操作系统1241,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

上述实施例中由服务器所执行的步骤可以基于该图12所示的服务器结构。

其中,cpu1222用于执行如下步骤:

获取游戏对象参与游戏时的游戏图像,并判断所述游戏图像中是否存在所述游戏对象的对手对象;

若否,将所述游戏图像输入第一策略模型,获取所述第一策略模型输出的动作概率向量,根据所述动作概率向量选择概率最大的动作作为目标动作,控制所述游戏对象执行目标动作以实现游戏内地图探索;所述第一策略模型是利用模仿学习算法离线学习得到的深度神经网络模型;

若是,将所述游戏图像输入第二策略模型,获取所述第二策略模型输出的动作价值向量,根据所述动作价值向量选择价值最大的动作作为目标动作,控制所述游戏对象执行目标动作以实现与对手对象进行战斗;所述第二策略模型是利用深度强化学习算法在线学习得到的深度神经网络模型。

可选的,cpu1222还用于执行本申请实施例中一种游戏对象的控制方法的任意一种实现方式的步骤。

本申请实施例还提供了另一种游戏对象的控制设备,该游戏对象的控制设备可以是终端设备,如图13所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端设备可以为包括手机、平板电脑、个人数字助理(英文全称:personaldigitalassistant,英文缩写:pda)、销售终端(英文全称:pointofsales,英文缩写:pos)、车载电脑等任意终端设备,以终端设备为手机为例:

图13示出的是与本申请实施例提供的终端设备相关的手机的部分结构的框图。参考图13,手机包括:射频(英文全称:radiofrequency,英文缩写:rf)电路1310、存储器1320、输入单元1330、显示单元1340、传感器1350、音频电路1360、无线保真(英文全称:wirelessfidelity,英文缩写:wifi)模块1370、处理器1380、以及电源1390等部件。本领域技术人员可以理解,图13中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

下面结合图13对手机的各个构成部件进行具体的介绍:

rf电路1310可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1380处理;另外,将设计上行的数据发送给基站。通常,rf电路1310包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(英文全称:lownoiseamplifier,英文缩写:lna)、双工器等。此外,rf电路1310还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(英文全称:globalsystemofmobilecommunication,英文缩写:gsm)、通用分组无线服务(英文全称:generalpacketradioservice,gprs)、码分多址(英文全称:codedivisionmultipleaccess,英文缩写:cdma)、宽带码分多址(英文全称:widebandcodedivisionmultipleaccess,英文缩写:wcdma)、长期演进(英文全称:longtermevolution,英文缩写:lte)、电子邮件、短消息服务(英文全称:shortmessagingservice,sms)等。

存储器1320可用于存储软件程序以及模块,处理器1380通过运行存储在存储器1320的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

输入单元1330可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1330可包括触控面板1331以及其他输入设备1332。触控面板1331,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1331上或在触控面板1331附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1331可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1380,并能接收处理器1380发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1331。除了触控面板1331,输入单元1330还可以包括其他输入设备1332。具体地,其他输入设备1332可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元1340可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1340可包括显示面板1341,可选的,可以采用液晶显示器(英文全称:liquidcrystaldisplay,英文缩写:lcd)、有机发光二极管(英文全称:organiclight-emittingdiode,英文缩写:oled)等形式来配置显示面板1341。进一步的,触控面板1331可覆盖显示面板1341,当触控面板1331检测到在其上或附近的触摸操作后,传送给处理器1380以确定触摸事件的类型,随后处理器1380根据触摸事件的类型在显示面板1341上提供相应的视觉输出。虽然在图13中,触控面板1331与显示面板1341是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1331与显示面板1341集成而实现手机的输入和输出功能。

手机还可包括至少一种传感器1350,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1341的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1341和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路1360、扬声器1361,传声器1362可提供用户与手机之间的音频接口。音频电路1360可将接收到的音频数据转换后的电信号,传输到扬声器1361,由扬声器1361转换为声音信号输出;另一方面,传声器1362将收集的声音信号转换为电信号,由音频电路1360接收后转换为音频数据,再将音频数据输出处理器1380处理后,经rf电路1310以发送给比如另一手机,或者将音频数据输出至存储器1320以便进一步处理。

wifi属于短距离无线传输技术,手机通过wifi模块1370可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图13示出了wifi模块1370,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器1380是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1320内的软件程序和/或模块,以及调用存储在存储器1320内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1380可包括一个或多个处理单元;优选的,处理器1380可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1380中。

手机还包括给各个部件供电的电源1390(比如电池),优选的,电源可以通过电源管理系统与处理器1380逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。

在本申请实施例中,该终端所包括的处理器1380还具有以下功能:

获取游戏对象参与游戏时的游戏图像,并判断所述游戏图像中是否存在所述游戏对象的对手对象;

若否,将所述游戏图像输入第一策略模型,获取所述第一策略模型输出的动作概率向量,根据所述动作概率向量选择概率最大的动作作为目标动作,控制所述游戏对象执行目标动作以实现游戏内地图探索;所述第一策略模型是利用模仿学习算法离线学习得到的深度神经网络模型;

若是,将所述游戏图像输入第二策略模型,获取所述第二策略模型输出的动作价值向量,根据所述动作价值向量选择价值最大的动作作为目标动作,控制所述游戏对象执行目标动作以实现与对手对象进行战斗;所述第二策略模型是利用深度强化学习算法在线学习得到的深度神经网络模型。

可选的,处理器1380还用于执行本申请实施例中一种游戏对象的控制方法的任意一种实现方式的步骤。

本申请实施例还提供一种计算机可读存储介质,用于存储程序代码,该程序代码用于执行前述各个实施例所述的一种游戏对象的控制方法中的任意一种实施方式。

本申请实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例所述的一种游戏对象的控制方法中的任意一种实施方式。

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

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

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

应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1