CN111450537B 有效 游戏角色的模型确定方法、装置和服务器
技术领域 [0001]本发明涉及游戏开发技术领域,尤其是涉及一种游戏角色的模型确定方法、装置和服务器。 背景技术 [0002]在AI NPC(Artificial Intelligence Non-Player Character,人工智能非玩家角色)的开发过程中,根据游戏剧情的需要,往往需要对一个AI NPC开发出多个不同难度等级的模型,根据玩家的付费情况,为该玩家分配对应等级的模型,AI NPC可以代替真人玩家在游戏中出战。AI NPC的多个不同难度等级的模型通常由多种维度的参数决定,例如技能释放速度、技能选择、状态噪声等。玩家可以针对某个具体的维度进行付费,以增加AI NPC在该维度的能力。 [0003]基于上述需求,通常采用强化学习训练的方式得到AI NPC的最优模型,然后调整这个最优模型的参数,以不同程度地弱化该AI NPC的能力,从而得到不同难度等级的AINPC。然而,在最优模型的基础上,调整各个维度的参数,同时保证各难度等级的模型中的维度参数满足预设要求,需要大量的运算成本,人工筛选参数的耗时也较长。 发明内容 [0004]有鉴于此,本发明的目的在于提供一种游戏角色的模型确定方法、装置和服务器,以减少运算成本,提高参数的筛选效率。 [0005]第一方面,本发明实施例提供了一种游戏角色的模型确定方法,该方法包括:获取目标角色的各个预设等级的子模型对应的基准胜率;生成多个初始模型;根据基准胜率,以及目标角色的模型需求,确定多目标函数;根据基准胜率和多目标函数,调整多个初始模型,得到目标角色的目标模型。 [0006]进一步的,每个初始模型包括:每个等级的子模型对应的多种参数的参数值;生成多个初始模型的步骤,包括:针对每种参数,生成预设数量的参数值;其中,预设数量与模型中子模型的等级数量相匹配;预设数量的参数值,按照单调变化的方式排列;从每种参数对应的预设数量的参数值中,选取第i个参数值,组成一个初始模型;其中,i的最小值为1,最大值为所述预设数量,i为正整数。 [0007]进一步的,目标角色的模型需求包括:目标角色的各个等级的子模型的实际胜率与该等级对应的基准胜率相同;和/或,目标角色的各个等级的子模型中,每种参数发生预设程度的参数变化时,对子模型的实际胜率的影响程度相同。 [0008]进一步的,多目标函数包括:当前模型中,各个等级的子模型的实际胜率与该等级对应的基准胜率的误差平均值;且,当前模型中,各个等级的子模型的实际胜率与该等级对应的基准胜率的误差方差值;且,当前模型中,各个等级的子模型在每种参数上胜率的误差均衡度。 [0009]进一步的,根据基准胜率和多目标函数,调整多个初始模型,得到目标角色的目标模型的步骤,包括:基于多个初始模型,确定多个中间模型;根据多目标函数,评估多个中间模型,得到每个中间模型的评估结果;根据评估结果,调整多个中间模型中至少一部分中间模型中的参数值;根据调整后的至少一部分中间模型,更新多个中间模型,继续执行根据多目标函数,评估多个中间模型的步骤,直至得到评估结果满足预设条件的中间模型,将该中间模型确定为目标角色的目标模型。 [0010]进一步的,根据多目标函数,评估多个中间模型,得到每个中间模型的评估结果的步骤,包括:获取基准模型;针对每个中间模型中的每个等级的子模型,执行下述操作:计算该等级的子模型与基准模型中该等级的子模型之间的第一胜率;针对该等级的子模型中的每种参数,将该等级的子模型中该种参数的参数值,更新为该子模型的下一等级的子模型中该种参数的参数值,得到该子模型对应的修改模型;计算该子模型与修改模型的第二胜率;针对每个中间模型,根据该中间模型中各个等级的子模型对应的第一胜率和第二胜率,通过多目标函数,计算该中间模型的评分。 [0011]进一步的,根据该中间模型中各个等级的子模型对应的第一胜率和第二胜率,通过多目标函数,计算该中间模型的评分的步骤,包括:针对该中间模型中的每个等级的子模型,计算该等级的子模型对应的第一胜率,与该等级对应的基准胜率的误差;计算每个等级对应的误差的平均值;将误差的平均值确定为该中间模型的第一评分;计算每个等级对应的误差的方差值,将误差的方差值确定为该中间模型的第二评分;针对该中间模型中的每个等级的子模型,计算该等级的子模型中每种参数对应的第二胜率减去50%后的胜率值;计算每个等级对应的子模型对应的胜率值的标准差,将标准差确定为该中间模型的第三评分。 [0012]进一步的,根据评估结果,调整多个中间模型中至少一部分中间模型中的参数值的步骤,包括;根据评估结果,从中间模型中确定出待调整模型;根据待调整模型对应的评估结果,调整待调整模型中的参数值,得到调整后的模型;对调整后的模型进行参数交换处理,得到交换后的模型,将交换后的模型确定为调整后的至少一部分中间模型。 [0013]进一步的,根据待调整模型对应的评估结果,调整待调整模型中的参数值的步骤,包括:针对每个待调整模型中的每个等级的子模型,执行下述操作:如果该等级的子模型对应的第一胜率减去50%后的绝对值大于第一预设阈值,根据该等级的子模型对应的第一胜率与50%的大小关系,调整该子模型中的参数值;如果该等级的子模型对应的第一胜率减去50%后的绝对值小于第一预设阈值,根据该等级的子模型对应的第二胜率与预设第二阈值和预设第三阈值的大小关系,调整该子模型中的参数值。 [0014]进一步的,根据该等级的子模型对应的第一胜率与50%的大小关系,调整该子模型中的参数值的步骤,包括:获取用于调整参数值的调整量范围;如果该等级的子模型对应的第一胜率大于50%,从该等级的子模型的每种参数中,确定第二胜率最大的参数,根据调整量范围提高确定出的该参数的参数值;如果该等级的子模型对应的第一胜率小于50%,从该等级的子模型的每种参数中,确定第二胜率最小的参数,根据调整量范围降低确定出的该参数的参数值。 [0015]进一步的,预设第二阈值大于预设第三阈值;根据该等级的子模型对应的第二胜率与预设第二阈值和预设第三阈值的大小关系,调整该子模型中的参数值的步骤,包括:获取用于调整参数值的调整量范围;如果该等级的子模型中存在第二胜率大于预设第二阈值的参数,根据调整量范围降低该参数的参数值;如果该等级的子模型中存在第二胜率小于预设第三阈值的参数,根据调整量范围提高该参数的参数值。 [0016]进一步的,对调整后的模型进行参数交换处理,得到交换后的模型的步骤,包括:根据多目标函数,评估调整后的模型,得到每个调整后的模型的评估结果;根据每个调整后的模型的评估结果,从调整后的模型中确定预设第一数量的模型;对确定出的预设第一数量的模型进行参数交换处理,得到预设第一数量的子代模型;继续执行根据每个调整后的模型的评估结果,从调整后的模型中确定预设数量的模型的步骤,直至子代模型的数量达到预设第二数量;将子代模型确定为交换后的模型。 [0017]进一步的,根据调整后的至少一部分中间模型,更新多个中间模型的步骤,包括:根据多目标函数,评估调整后的至少一部分中间模型,得到每个调整后的至少一部分中间模型的评估结果;根据中间模型的评估结果,以及调整后的至少一部分中间模型的评估结果,从中间模型和调整后的至少一部分中间模型中,确定更新的多个中间模型。 [0018]第二方面,本发明实施例提供了一种游戏角色的模型确定装置,该装置包括:基准胜率获取模块,获取目标角色的各个预设等级的子模型对应的基准胜率;初始模型生成模块,生成多个初始模型;多目标函数确定模块,根据基准胜率,以及目标角色的模型需求,确定多目标函数;目标模型确定模块,根据基准胜率和多目标函数,调整多个初始模型,得到目标角色的目标模型。 [0019]第三方面,本发明实施例提供了一种服务器,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现第一方面任一实施方式的游戏角色的模型确定方法。 [0020]第四方面,本发明实施例提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现第一方面任一实施方式的游戏角色的模型确定方法。 [0021]本发明实施例带来了以下有益效果: [0022]本发明实施例提供了一种游戏角色的模型确定方法、装置和服务器,获取到目标角色的各个预设等级的子模型对应的基准胜率之后,生成多个初始模型;然后根据上述基准胜率,以及目标角色的模型需求,确定多目标函数;进而根据基准胜率和多目标函数,调整多个初始模型,得到目标角色的目标模型。该方式中,根据目标角色的各个等级的子模型的基准胜率,以及目标角色的模型需求,确定多目标函数,基于该多目标函数,调整初始模型,可以得到满足目标角色的目标模型;相对于人工筛选模型参数的方式,该方式可基于多目标函数自动化地调整模型参数,减少了运算成本,同时提高了参数的筛选效率。 [0023]本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。 [0024]为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。 附图说明 [0025]为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。 [0026]图1为本发明实施例提供的一种游戏角色的模型确定方法的流程图; [0027]图2为本发明实施例提供的另一种游戏角色的模型确定方法的流程图; [0028]图3为本发明实施例提供的另一种游戏角色的模型确定方法的流程图; [0029]图4为本发明实施例提供的一种评估模型的方法流程图; [0030]图5为本发明实施例提供的一种模型的评分方法的流程图; [0031]图6为本发明实施例提供的一种模型中参数值的调整方法流程图; [0032]图7为本发明实施例提供的一种模型评估结果示意图; [0033]图8为本发明实施例提供的一种模型的更新方法的流程图; [0034]图9为本发明实施例提供的一种游戏角色的模型确定装置的结构示意图; [0035]图10为本发明实施例提供的一种服务器的结构示意图。 具体实施方式 [0036]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。 [0037]相关技术中,通常采用强化学习训练的方式得到AI NPC的最优模型,然后调整这个最优模型的参数,以不同程度地弱化该AI NPC的能力,从而得到不同难度等级的AI NPC。其中参数的优化通常有两个要求:第一,每种维度的参数值在每个维度均为单调方式排列;第二,每个等级的模型的参数组之间,每个维度上的参数值的变化均需有效,以使在单独维度上改变参数值后,对应模型的难度有相应的变化效果。 [0038]针对上述参数优化的要求,目前,不同等级难度的模型参数的调整和测试,主要由策划和测试人员合作完成,在策划层面,主要依靠策划自身对游戏的理解,根据用户胜率与模型难度的关系指定胜率标准,给予测试人员进行调参。而测试人员会先与游戏策划讨论确定模型的胜率要求,然后在N维空间上进行均匀撒点,空间复杂度为N的指数次方,然后用这些点组成的模型进行统一测试,最后从这些模型中挑选出符合参数要求和策划胜率要求的参数。 [0039]然而,当模型参数的维度不断增大时,需要撒点的个数呈指数增加,此时,测试时所需要的运算,人工筛选参数的所需时间,也同样呈指数增长,因此无法保证时效,另外,一旦游戏版本进行周更新或者进行角色重做时,上述工作均需要重新测试。因此,在最优模型的基础上,调整各个维度的参数,同时保证各难度等级的模型中的维度参数满足预设要求,需要大量的运算成本,人工筛选参数的耗时也较长。 [0040]基于此,本发明实施例提供的一种游戏角色的模型确定方法、装置和服务器,该技术可以应用于各种游戏的角色开发中。为便于对本实施例进行理解,首先对本发明实施例所公开的一种游戏角色的模型确定方法进行详细介绍。 [0041]实施例一: [0042]本实施例提供了一种游戏角色的模型确定方法,如图1所示,该方法包括如下步骤: [0043]步骤S102,获取目标角色的各个预设等级的子模型对应的基准胜率; [0044]上述目标角色可以是游戏中的一种非玩家角色(NPC,Non-player character),比如,用户在购买卖游戏物品时,需要点击的商人,或者玩家做任务时需要对话的人物等等,都属于NPC。一个目标角色可以是一个模型,该模型可以有多个不同难度等级的子模型,每个子模型可以表示该目标角色的一种难度等级。上述预设等级可以多个,具体可以根据策划需要设置,上述基准胜率可以由策划层面确定,主要依靠策划自身对游戏的理解,同时根据用户胜率与子模型难度的关系,确定目标角色中每个等级的子模型对应的胜率。 [0045]步骤S104,生成多个初始模型; [0046]针对上述目标角色可以随机生成多个初始模型,比如,10个、12个等,具体数量可以根据目标角色和策划需求进行设置,每个初始模型都可以表示该目标角色,因此可以生成多个初始模型,以方便后续进行参数优化,得到最优的目标角色对应的模型;上述每个初始模型可以包括多个难度等级的子模型,比如,一个初始模型可以有9个子模型,每个子模型代表一种难度等级,其中,模型难度等级的排列,可以按照等级递增,对应的子模型的难度逐渐递增,也可以按照等级递增,对应的子模型的难度逐渐递减。上述每个等级的子模型可以包括对应的多种参数的参数值,该参数值的大小可以反映子模型的难度;其中,每种参数中的参数值的改变,都可以改变该等级的子模型的难度。 [0047]具体的,可以根据每个等级的子模型对应的多种参数的参数值的数量,通过随机生成该数量的参数值的方式,确定多个等级的子模型,进而确定多个初始模型。 [0048]步骤S106,根据基准胜率,以及目标角色的模型需求,确定多目标函数; [0049]上述目标角色的模型需求可以包括,模型的难度等级、模型的参数种类、模型的参数数量、模型参数的要求、以及相比与基准胜率模型胜率允许的误差等需求。具体的,可以根据目标角色的模型需求,利用每个等级的子模型对应的基准胜率确定,可以是以初始模型包括的子模型对应的胜率接近基准胜率为目标,设置的多个目标方程。同时使得每个等级的子模型的每种参数的参数值变化均有效,每种参数上参数值的变化对胜率贡献接近相同,以满足模型的需求。 [0050]步骤S108,根据基准胜率和多目标函数,调整多个初始模型,得到目标角色的目标模型。 [0051]具体的,通过多个目标方程,调整多个初始模型的参数,得到在多目标函数上表现较好的多个模型,可以通过交叉变异、不同等级间参数交换、不同模型间参数交换等方式,改变该多个初始模型中,每个等级的子模型对应的多种参数的参数值,得到多个变换模型,再次利用多个目标方程,得到在多目标函数上表现较好的一个或多个变换模型,可以利用非梯度优化等算法,进行迭代,直到最后的变换模型满足多目标函数,同时该变换模型中每个等级的子模型对应的胜率满足基准胜率,则将该变换模型确定为目标角色的目标模型。 [0052]本发明实施例提供了一种游戏角色的模型确定方法,获取到目标角色的各个预设等级的子模型对应的基准胜率之后,生成多个初始模型;然后根据上述基准胜率,以及目标角色的模型需求,确定多目标函数;进而根据基准胜率和多目标函数,调整多个初始模型,得到目标角色的目标模型。该方式中,根据目标角色的各个等级的子模型的基准胜率,以及目标角色的模型需求,确定多目标函数,基于该多目标函数,调整初始模型,可以得到满足目标角色的目标模型;相对于人工筛选模型参数的方式,该方式可基于多目标函数自动化地调整模型参数,减少了运算成本,同时提高了参数的筛选效率。 [0053]实施例二: [0054]本实施例提供了另一种游戏角色的模型确定方法,该方法在上述实施例的基础上实现,其中每个初始模型包括:每个等级的子模型对应的多种参数的参数值。本实施例重点描述生成多个初始模型的步骤的具体实现过程(通过步骤S204-S206实现),如图2所示,该方法包括如下步骤: [0055]步骤S202,获取目标角色的各个预设等级的子模型对应的基准胜率; [0056]步骤S204,针对每种参数,生成预设数量的参数值;其中,预设数量与模型中子模型的等级数量相匹配;预设数量的参数值,按照单调变化的方式排列; [0057]上述预设数量可以根据策划要求设置,与策划要求模型中子模型的等级数量相匹配,可以设置为10个,上述参数的种类以及数量,可以根据策划要求的模型的进行设置。例如,可以有三种控制难度的参数,技能施放时间,技能选择误差,随机参数。由于模型中子模型的等级是按照难度排列的,因此上述生成的参数值,可以按照单调递增或者单调递减的方式排列,以时每个子模型的等级与该等级的子模型包括的参数值相匹配。 [0058]举例说明,共有三种参数,每种参数随机生成有10个参数值,这10个参数值按照单调的方式进行排列,分别对应相应的等级难度。 [0059]步骤S206,从每种参数对应的预设数量的参数值中,选取第i个参数值,组成一个初始模型;其中,i的最小值为1,最大值为预设数量,i为正整数; [0060]针对上述三种参数,每种参数随机生成有10个参数值,也就是说,一种参数对应有10个参数值,一共有30个参数值。具体的,从每种参数对应的10个参数值中,选取第i个参数值,由于有三种参数,因此可以选取三个参数值,可以利用该三个参数值可以得到一个第i等级的子模型。直到将所有的参数值选取完成,得到10个等级的子模型,最后组成一个初始模型。其中,i表示第i个参数,也可以表示子模型的等级。 [0061]步骤S208,根据基准胜率,以及目标角色的模型需求,确定多目标函数; [0062]本实施例中,上述目标角色的模型需求包括:目标角色的各个等级的子模型的实际胜率与该等级对应的基准胜率相同;和/或,目标角色的各个等级的子模型中,每种参数发生预设程度的参数变化时,对子模型的实际胜率的影响程度相同。 [0063]上述目标角色的模型需求,通常是由策划人员根据实际需要,针对目标角色提出的目标要求,具体的,模型需求可以是目标角色的各个等级的子模型的实际胜率与该等级对应的基准胜率相同;或者,目标角色的各个等级的子模型中,每种参数发生预设程度的参数变化时,对子模型的实际胜率的影响程度相同,以保证用户无论在哪个单独参数上进行充值,该目标角色的子模型的胜率都对应有相同的游戏效果。当然,模型需求还可以是目标角色的各个等级的子模型的实际胜率与该等级对应的基准胜率相同;同时,目标角色的各个等级的子模型中,每种参数发生预设程度的参数变化时,对子模型的实际胜率的影响程度相同。 [0064]上述目标角色的模型需求,可以理解为基于多个初始模型调整得到目标角色的目标模型的目标;建立的多目标函数,与目标角色的模型需求相匹配,基于该多目标函数调整得到的目标角色的目标模型,可以满足上述目标角色的模型需求,也可以无限接近目标角色的模型需求。 [0065]步骤S210,根据基准胜率和多目标函数,调整多个初始模型,得到目标角色的目标模型。 [0066]该方式中,针对每种参数,随机生成预设数量的参数值;其中的预设数量与模型中子模型的等级数量相匹配;预设数量的参数值,按照单调变化的方式排列;通过生成的参数值,得到多个初始模型。利用非梯度优化算法,更新多个中间模型,以达到非梯度优化的目的;同时利用基准胜率,设置多目标函数,使每个维度上的参数变化均有效,每个维度上的变化对胜率贡献接近相同,作为优化算法的三个目标,保证了不同等级的模型的差异性的同时,保证了每个维度上的参数变化为有效且尽量均衡;另外,为了满足参数的单调性,通过编解码器,使得每种参数上的参数值都是单调的。该方式可基于多目标函数自动化地调整模型参数,减少了运算成本,提高了参数的筛选效率。 [0067]与传统方式相比,本发明只需根据策划提供的基准胜率以及基准模型,可以实现参数的自动优化,减少了人员工作量,节约成本。同时能够兼容参数维度的变化,和策划方需求的调整,当游戏版本更新或策划方需求变更时能够通过简单改变参数来进行调整。 [0068]另外,上述多目标函数包括:当前模型中,各个等级的子模型的实际胜率与该等级对应的基准胜率的误差平均值;且,当前模型中,各个等级的子模型的实际胜率与该等级对应的基准胜率的误差方差值;且,当前模型中,各个等级的子模型在每种参数上胜率的误差均衡度。 [0069]上述当前模型可以是,当前需要进行评估的模型;上述各个等级的子模型的实际胜率可以是,该等级的子模型在实战中的胜率。具体的,多目标函数可以同时包括三个目标方程,目标方程一,可以是计算当前模型中,各个等级的子模型的实际胜率,减去该等级对应的基准胜率,得到多个差值,计算该多个差值的平均值;目标方程二,可以是计算当前模型中,各个等级的子模型的实际胜率,减去该等级对应的基准胜率,得到多个差值,计算该多个差值的方差值;目标方程三,可以是计算当前模型中,各个等级的子模型在每种参数上的胜率,减去预设值,得到多个差值,计算该多个差值的标准差,其中,预设值可以根据具体要求设置,可以设置为0.5等值。 [0070]实施例三: [0071]本实施例提供了另一种游戏角色的模型确定方法,该方法在上述实施例的基础上实现。本实施例重点描述根据基准胜率和多目标函数,调整多个初始模型,得到目标角色的目标模型的步骤的具体实现过程(通过步骤S308-S314实现),如图3所示,该方法包括如下步骤: [0072]步骤S302,获取目标角色的各个预设等级的子模型对应的基准胜率; [0073]步骤S304,针对每种参数,生成预设数量的参数值;其中,预设数量与模型中子模型的等级数量相匹配;预设数量的参数值,按照单调变化的方式排列; [0074]步骤S306,从每种参数对应的预设数量的参数值中,选取第i个参数值,组成一个初始模型;其中,i的最小值为1,最大值为预设数量,i为正整数; [0075]步骤S308,基于多个初始模型,确定多个中间模型; [0076]上述过程可以是,初始化过程。具体的,可以从多个初始模型中,随机选取一部分初始模型,可以是全部确定为中间模型,也可以随机选取一部分作为中间模型。 [0077]步骤S310,根据多目标函数,评估多个中间模型,得到每个中间模型的评估结果; [0078]上述多目标函数可以是,计算当前中间模型中,各个等级的子模型的实际胜率与该等级对应的基准胜率的误差平均值;且,当前中间模型中,各个等级的子模型的实际胜率与该等级对应的基准胜率的误差方差值;且,当前中间模型中,各个等级的子模型在每种参数上胜率的误差均衡度;以计算得到三个目标函数值满足模型需要为目标,评估多个中间模型。其中,中间模型中每个等级的子模型对应的实际胜率可以通过模拟实战、与相同等级的模型对战等方式得到。上述评估结果可以包括多个中间模型的多目标函数值、中间模型的胜率等。另外,上述多目标函数可以使每个等级的子模型的每种参数的参数值的变化均有效,每种参数的参数值的变化对胜率贡献接近相同。 [0079]具体的,根据多个目标方程,可以计算得到多个中间模型的多目标函数值、以及该中间模型中每个等级的子模型对应胜率的多个评估结果,该结果可以反映中间模型是否满足目标角色的模型需求。 [0080]步骤S312,根据评估结果,调整多个中间模型中至少一部分中间模型中的参数值; [0081]根据上述步骤S310计算得到的评估结果,可以反映多个中间模型是否满足目标角色的模型需求,如果中间模型的评估结果与模型需求中的目标结果有偏差,可以根据偏差大小,通过预设的调整方式,调整该中间模型中需要调整的模型参数值,以使调整后的模型在多目标函数中的评估结果,相比于调整前的评估结果更好,调整后的模型在多目标函数中的评分更加接近模型需求中的目标结果;具体的参数调整过程,可以设置参数值的最大或者最小调整范围,根据偏差大小,增加或者减少需要调整的中间模型参数值。为了进一步使调整后的模型在多目标函数中的评估结果满足目标,可以将调整后的模型的参数值,通过交叉变异等方式,再次进行调整。 [0082]另外,为了满足参数值的单调性,可以在相应的调整算法中设计一个编解码器,每次在进行调整参数值时,该都会经过该编解码器,该编解码器都会读取模型中的所有参数值,以保证每次调整后的模型参数值在每种参数上都是单调的,可以是单调递增也可以是单调递减。 [0083]需要说明的是,根据上述评估结果,需要调整的参数值可以是多个中间模型中的一个或者多个中间模型中所有参数值;也可以是多个中间模型中的一个或者多个模型中,一部分等级的子模型中至少一种参数的参数值;具体的需要调整的参数值,需要根据评估结果进行确定。 [0084]步骤S314,根据调整后的至少一部分中间模型,更新多个中间模型,继续执行根据多目标函数,评估多个中间模型的步骤,直至得到评估结果满足预设条件的中间模型,将该中间模型确定为目标角色的目标模型。 [0085]上述预设条件可以是根据模型需求、以及评估结果的值,设置的一个阈值,当评估结果满足预设条件时,即表明该中间模型满足模型需求。 [0086]具体的,可以根据多目标函数,对调整后的至少一部分中间模型,进行评估,得到评估结果;根据该评估结果以及步骤S310得到的中间模型的评估结果,对调整后的至少一部分中间模型和多个中间模型进行参数混合等处理,得到的多个混合模型;可以通过随机选取的方式,选取多个混合模型,更新多个中间模型;也可以根据多目标函数,评估多个混合模型,将评估结果的值由大到小进行排列,选取前面多个预设数量评估结果对应的混合模型,可以利用非梯度优化等算法,更新多个中间模型。更新后的多个中间模型,相比于更新前的中间模型,其在多目标函数的评估结果的效果会更好。 [0087]继续执行步骤S310中,根据多目标函数,评估多个中间模型的步骤,再次对上述更新的多个中间模型,进行评估,直至得到评估结果满足预设条件的中间模型,将该中间模型确定为目标角色的目标模型。 [0088]该方式中,利用基准胜率,设置多目标函数,使每个维度上的参数变化均有效,每个维度上的变化对胜率贡献接近相同,作为优化算法的三个目标,保证了不同等级的模型的差异性的同时,保证了每个维度上的参数变化为有效且尽量均衡;利用非梯度优化算法,更新多个中间模型,以达到非梯度优化的目的;另外,为了满足参数的单调性,通过编解码器,使得每种参数上的参数值都是单调的。该方式可基于多目标函数自动化地调整模型参数,减少了运算成本,提高了参数的筛选效率。 [0089]与传统方式相比,本发明只需根据策划提供的基准胜率以及基准模型,可以实现参数的自动优化,减少了人员工作量,节约成本。同时能够兼容参数维度的变化,和策划方需求的调整,当游戏版本更新或策划方需求变更时能够通过简单改变参数来进行调整。 [0090]实施例四: [0091]针对上述实施例中的步骤S310,本实施例提供了一种评估模型的方法流程图,该方法在上述实施例的基础上实现。本实施例重点描述根据多目标函数,评估多个中间模型,得到每个中间模型的评估结果的步骤的实现过程,如图4所示,该方法包括如下步骤: [0092]步骤S402,获取基准模型;针对每个中间模型中的每个等级的子模型,执行下述步骤; [0093]由于目标函数有多个,分别对应不同的目标方程,当目标函数不同时,需要计算的目标方程不同;当目标函数为,以中间模型的难度与基准模型的难度相同为目标时,需要获取与策划要求的难度相同基准模型。上述基准模型可以是策划提供的,线上已有的满足难度需求的模型;也可以是根据策划提供的数据,重新建立的基准模型。本实施例中的多个中间模型对应的目标角色,与线上已有的基准模型对应的NCP可以是不相同的。具体的,根据基准模型,可以对每个中间模型中的每个等级的子模型进行处理,以从多个中间模型中确定满足策划要求的模型。 [0094]步骤S404,计算该等级的子模型与基准模型中该等级的子模型之间的第一胜率; [0095]具体的,可以将每个中间模型中的每个难度等级的子模型,与基准模型中该难度等级的子模型进行对战,相当于每个难度的目标角色,与基准模型对应的该难度的PNC进行对战,直到其中一方胜利,最后根据对战结果,计算每个中间模型中的各个等级的子模型的胜率;比如,中间模型有9个等级的子模型,第三等级的子模型,与基准模型中的第三等级的子模型进行100次对战,中间模型种的第三等级的子模型胜利48次,基准模型中的第三等级的子模型胜利52次,计算该中间模型中的第三等级的子模型的胜率为48%。以中间模型中包括9个等级的子模型,每个子模型包括三种参数为例,计算该中间模型中每个等级的子模型与基准模型中该等级的子模型之间的第一胜率,如表1所示。 [0096]表1中间模型的第一胜率 [0097]
等级123456789
10%
242%
348%
454%
544%
644%
753%
850%
942%
[0098]表1中表示的中间模型,在参数的初始化设置时,可以将中间模型中的第一等级的子模型的参数值设置为0,其可以表示为最难的模型,不需要再进行难度约束,因此可以省略计算第一等级的子模型与基准模型中该等级的子模型之间的第一胜率。 [0099]需要说明的是,不同的游戏中,中间模型的参数的初始化设置可以不同,不仅限于表1中的参数设置。 [0100]步骤S406,针对该等级的子模型中的每种参数,将该等级的子模型中该种参数的参数值,更新为该子模型的下一等级的子模型中该种参数的参数值,得到该子模型对应的修改模型;计算该子模型与修改模型的第二胜率; [0101]本实施例以中间模型包括9个等级的子模型,每个子模型包括三种参数为例进行说明,具体的,可以将第一等级的子模型中的第一种参数的参数值更新为第二等级的子模型中的第一种参数的参数值,得到第一等级的子模型对应的第一等级的第一修改模型;还可以将第一等级的子模型中的第二种参数的参数值更新为第二等级的子模型中的第二种参数的参数值,得到第一等级的子模型对应的第一等级的第二修改模型;以此类推,直到最后将第八等级的子模型中的第三种参数的参数值更新为第九等级的子模型中的第三种参数的参数值,得到第八等级的子模型对应的第八等级的第三修改模型。每个子模型对应的修改模型,与该子模型的参数相比,只有一参数的参数值发生了变化,其他种参数的参数值不变。 [0102]上述第二胜率的计算过程,可以是将修改前的各个等级的子模型,分别与修改后的该等级的各个修改模型,进行对战,直到其中一方胜利,最后根据对战结果,计算每个等级的各个修改模型的胜率;比如,第一等级的子模型,与该第一等级的子模型对应的第一等级的第一修改模型进行100次对战,第一等级的第一修改模型胜利50次,第一等级的子模型胜利50次,计算该第一等级的第一修改模型的胜率为48%。以中间模型中包括9个等级的子模型,每个子模型包括三种参数为例,计算该中间模型中每个等级的子模型与对应的修改模型之间的第二胜率,如表2所示。 [0103]表2修改模型的第二胜率 [0104] [0105] [0106]上述各个等级的子模型与对应的修改模型之间的第二胜率越小,说明该修改模型中,修改的参数,对胜率的影响越大;另外,第二胜率越小,表示修改的参数中参数值的变动是有意义的。上述表二可以称为模型贡献度矩阵,其中第二胜率可以表示为模型贡献度,第二胜率越小表示模型贡献度越大。 [0107]步骤S408,针对每个中间模型,根据该中间模型中各个等级的子模型对应的第一胜率和第二胜率,通过多目标函数,计算该中间模型的评分。 [0108]具体的,可以通过多目标函数包括的多目标方程,计算上述中间模型中各个等级的子模型对应的第一胜率,与该等级的子模型的基准胜率的误差,将计算得到的多个误差值进行预设运算,比如,求均值、中值、方差、标准差等,得到该中间模型的一个或者多个评分;还可以通过多目标函数包括的多目标方程,计算上述中间模型中各个等级的子模型对应的第二胜率的均值、中值、方差、标准差等值,得到中间模型的另一个或者多个评分。 [0109]参见图5所示的一种模型的评分方法的流程图,针对上述步骤S408中,根据该中间模型中各个等级的子模型对应的第一胜率和第二胜率,通过多目标函数,计算该中间模型的评分的步骤的具体实现过程,如图4所示,该方法包括如下步骤: [0110]步骤S502,针对该中间模型中的每个等级的子模型,计算该等级的子模型对应的第一胜率,与该等级对应的基准胜率的误差; [0111]以中间模型包括9个等级的子模型为例,分别计算9个等级的子模型对应的第一胜率,与该等级对应的基准胜率的误差,可以得到9个误差值。 [0112]步骤S504,计算每个等级对应的误差的平均值;将误差的平均值确定为该中间模型的第一评分;计算每个等级对应的误差的方差值,将误差的方差值确定为该中间模型的第二评分; [0113]具体的,可以计算上述步骤S402得到的9个误差值的平均值,并将该平均值确定为中间模型的第一评分,可以限制中间模型的胜率的误差均值,使得最终得到的模型,各个等级的子模型对应的胜率,与策划要求的各个等级的子模型对应的胜率相同。 [0114]具体的,可以计算上述步骤S402得到的9个误差值的方差值,并将该方差值确定为中间模型的第二评分,可以限制中间模型的胜率的误差的方差值,使得最终得到的模型,各个等级的子模型对应的胜率集中在,策划要求的各个等级的子模型对应的胜率附近,限制了各个等级的子模型对应的胜率的离散性。 [0115]步骤S506,针对该中间模型中的每个等级的子模型,计算该等级的子模型中每种参数对应的第二胜率减去50%后的胜率值; [0116]以中间模型包括9个等级的子模型,每个子模型包括三种参数为例,分别计算9个等级的子模型中三种参数对应的第二胜率,可以得到27个第二胜率;将计算得到的27个第二胜率减去50%,得到27个胜率值。 [0117]步骤S508,计算每个等级对应的子模型对应的胜率值的标准差,将标准差确定为该中间模型的第三评分。 [0118]具体的,计算上述步骤S506得到的27个胜率值的标准差,并将该标准差确定为该中间模型的第三评分,可以限制各个等级的子模型中每中参数对应的胜率误差的均衡度,以使每种参数上的参数值得变动都具有意义,可以是每种参数上的参数值变大或者变小,对应的子模型的难度增加或者降低;也可以是每种参数上的参数值变大或者变小,对应的子模型的难度降低或者增加。 [0119]该方式中,利用基准胜率,设置多目标函数,使每个维度上的参数变化均有效,每个维度上的变化对胜率贡献接近相同,作为优化算法的三个目标,保证了不同等级的模型的差异性的同时,保证了每个维度上的参数变化为有效且尽量均衡。该方式可基于多目标函数自动化地调整模型参数,减少了人员工作量,节约成本。同时能够兼容参数维度的变化,和策划方需求的调整,当游戏版本更新或策划方需求变更时能够通过简单改变参数来进行调整。 [0120]实施例五: [0121]针对前述实施例中的步骤S312,本实施例提供了一种模型中参数值的调整方法,该方法在上述实施例的基础上实现。本实施例重点描述根据评估结果,调整多个中间模型中至少一部分中间模型中的参数值的步骤的实现过程,如图6所示,该方法包括如下步骤: [0122]步骤S602,根据评估结果,从中间模型中确定出待调整模型; [0123]具体的,可以将评估结果中第一胜率的数值,与第一预设值进行对比,得到满足预设条件的第一胜率,进而得到该第一胜率对应的子模型的等级,可以将该等级的子模型确定为待调整模型。 [0124]步骤S604,根据待调整模型对应的评估结果,调整待调整模型中的参数值,得到调整后的模型; [0125]具体的,可以将待调整模型对应的评估结果中第一胜率的数值,与第二预设值进行对比,或者将待调整模型对应的评估结果中第二胜率的数值,与第三预设值进行对比,在满足不同条件的情况下,根据第二胜率的数值大小,调整待调整模型中的参数值,得到调整后的模型。具体的参数调整过程中,可以设置参数值的最大或者最小调整范围,根据第二胜率的大小,通过预设的调整公式,增加或者减少待调整模型中的参数值,以改变该模型的难度,使得该模型的胜率与该模型的基准胜率相同。 [0126]针对上述步骤S604中,根据待调整模型对应的评估结果,调整待调整模型中的参数值的步骤的具体实现过程,针对每个待调整模型中的每个等级的子模型,执行下述步骤: [0127]步骤A1,如果该等级的子模型对应的第一胜率减去50%后的绝对值大于第一预设阈值,根据该等级的子模型对应的第一胜率与50%的大小关系,调整该子模型中的参数值; [0128]上述第一阈值可以根据具体的策划要求设置,本实施例以中间模型包括i个等级的子模型,每个子模型包括j种参数,第一预设阈值为10%为例进行说明,计算第i等级的子模型对应的第一胜率减去50%的差值,该差值可以用error表示。如果error的绝对值>10%,计算第i等级的子模型对应的第一胜率与50%的大小关系,如果第i等级的子模型对应的第一胜率大于50%,也就是error>0,说明模型难度较大,为了降低该模型的难度,可以在第i等级的子模型对应的j个第二胜率中,获取第二胜率最大的模型的参数值,调整该参数值以使第i等级的模型的难度降低;如果第i等级的子模型对应的第一胜率小于50%,也就是error<0,说明模型难度较小,为了增加该模型的难度,可以在第i等级的子模型对应的j个第二胜率中,获取第二胜率最小的模型的参数值,调整该参数值以使第i等级的模型的难度增加。 [0129]针对上述步骤A1中,根据该等级的子模型对应的第一胜率与50%的大小关系,调整该子模型中的参数值的步骤,包括: [0130]步骤A11,获取用于调整参数值的调整量范围; [0131]为了保证参数值的单调性,可以为每种参数的参数值设置相邻子模型的最低和最大增长量,该最低增长量可以用Lower表示,该最大增长量可以用Upper表示。Lower和Upper的值可以根据具体的策划要求以及模型参数进行设置。上述参数值的调整量范围可以包括第一参数值的调整量范围、以及第二参数值的调整量范围,分别可以用gap1和gap2表示。其中,第一参数值的调整量范围gap1可以用如下公式表示: [0132]gap1=parameter[i]-parameter[i-1]–lower  (1); [0133]式(1)中,parameter[i]表示子第i等级的子模型中包括的参数值; [0134]其中,第二参数值的调整量范围gap2可以用如下公式表示: [0135]gap2=min(parameter[i+1],parameter[i-1]+upper)-parameter[i]  (2); [0136]步骤A12,如果该等级的子模型对应的第一胜率大于50%,从该等级的子模型的每种参数中,确定第二胜率最大的参数,根据调整量范围提高确定出的该参数的参数值; [0137]如果第i等级的子模型对应的第一胜率大于50%,也就是error>0,可以从第i等级的子模型的j种参数中,确定第二胜率最大的第j种参数,具体的,可以在表二所示的第二胜率,也可以称为贡献度胜率矩阵中,获取第i等级的子模型,该子模型有j种参数,从可以中找到第二胜率最大的参数。根据调整量范围gap2,可以利用如下公式提高确定出的该参数的参数值: [0138]parameter[i][j]=parameter[i][j]+error*gap2[j]  (3); [0139]式(3)中,parameter[i][j]表示子第i等级的子模型中包括的第j个参数的参数值;gap2[j]表示第i等级的子模型中包括的第j个参数的第二参数值的调整量范围。 [0140]根据式(3)可以提高确定出的该参数的参数值,降低该模型的难度,使error降低。 [0141]步骤A13,如果该等级的子模型对应的第一胜率小于50%,从该等级的子模型的每种参数中,确定第二胜率最小的参数,根据调整量范围降低确定出的该参数的参数值。 [0142]如果第i等级的子模型对应的第一胜率小于50%,也就是error<0,可以从第i等级的子模型的j种参数中,确定第二胜率最小的第j种参数,具体的,可以在表二所示的第二胜率,也可以称为贡献度胜率矩阵中,获取第i等级的子模型,该子模型有j种参数,从中可以找到第二胜率最小的参数。根据调整量范围gap1,利用如下公式降低确定出的该参数的参数值: [0143]parameter[i][j]=parameter[i][j]-error*gap1[j]  (4); [0144]式(4)中,parameter[i][j]表示子第i等级的子模型中包括的第j个参数的参数值;gap1[j]表示第i等级的子模型中包括的第j个参数的第一参数值的调整量范围。 [0145]根据式(4)可以降低确定出的该参数的参数值,增大该模型的难度,使error增大。 [0146]步骤A2,如果该等级的子模型对应的第一胜率减去50%后的绝对值小于第一预设阈值,根据该等级的子模型对应的第二胜率与预设第二阈值和预设第三阈值的大小关系,调整该子模型中的参数值。 [0147]上述预设第二阈值和预设第三阈值可以根据具体的策划要求设置,本实施例以中间模型包括i个等级的子模型,每个子模型包括j种参数,第一预设阈值为10%,预设第二阈值为45%,预设第三阈值为40%为例进行说明。计算第i等级的子模型对应的第一胜率减去50%的差值,该差值可以用error表示。如果error的绝对值<10%,计算第i等级的子模型对应的第二胜率与45%和40%的大小关系,如果第i等级的子模型对应的第二胜率中存在大于45%的参数,说明模型难度较小,则可以根据参数值的调整范围量,调整该子模型中的参数值,以提高该模型的难度;如果第i等级的子模型对应的第二胜率中存在小于40%的参数,说明模型难度较大,则可以根据参数值的调整范围量,调整该子模型中的参数值,以降低该模型的难度。 [0148]上述预设第二阈值大于预设第三阈值;针对上述步骤A2中,根据该等级的子模型对应的第二胜率与预设第二阈值和预设第三阈值的大小关系,调整该子模型中的参数值的步骤,包括: [0149]步骤A21,获取用于调整参数值的调整量范围; [0150]本实施例中,获取用于调整参数值的调整量范围的实际实现过程,与前述步骤A11的实现过程相同,具体可以参考前述步骤A11的描述,在此不再赘述。 [0151]步骤A22,如果该等级的子模型中存在第二胜率大于预设第二阈值的参数,根据调整量范围降低该参数的参数值; [0152]如果第i等级的子模型中存在第二胜率大于45%的第j种参数,可以根据第二参数值的调整量范围gap2,利用如下公式降低该参数的参数值: [0153]percentage1=max(win_contribute[i]-0.45,0)/0.45  (5); [0154]change1=percentage1*gap2  (6); [0155]parameter[i]=parameter[i]+change1  (7); [0156]式(5)中win_contribute[i]表示第i等级的子模型对应的第二胜率;通过式(5)可以将第二胜率中大于45%的参数选取出来,再根据式(6)和式(7)对该参数进行调整计算。 [0157]步骤A23,如果该等级的子模型中存在第二胜率小于预设第三阈值的参数,根据调整量范围提高该参数的参数值。 [0158]如果第i等级的子模型中存在第二胜率小于450%的第j种参数,可以根据第一参数值的调整量范围gap1,利用如下公式增大该参数的参数值: [0159]percentage2=min(win_contribute[i]-0.4,0)/0.4  (8); [0160]change2=percentage2*gap1  (9); [0161]parameter[i]=parameter[i]+change2  (10); [0162]式(8)中win_contribute[i]表示第i等级的子模型对应的第二胜率;通过式(8)可以将第二胜率中小于40%的参数选取出来,再根据式(9)和式(10)对该参数进行调整计算。 [0163]在具体是现实,通常上述步骤A22和步骤A23是同时进行的,因此调整的过程也是同时进行的,可以在计算得到上述change1和change2后,直接利用parameter[i]=parameter[i]+change1+change2公式,调整该参数的参数值。 [0164]步骤S606,对调整后的模型进行参数交换处理,得到交换后的模型,将交换后的模型确定为调整后的至少一部分中间模型。 [0165]为了使调整后的模型更加符合策划的要求,可以通过多目标函数,选取目标函数值较好的多个调整后的模型,将目标函数值较好的多个调整后的模型的参数进行交叉处理,得到交换后的模型。具体的,可以利用非梯度优化算法,将得到交的换后的模型再次进行挑选,以及参数交换处理,直到得到预设数量的交换后的模型,最后将交换后的模型确定为调整后的至少一部分中间模型。 [0166]需要说明的是,上述调整后的至少一部分中间模型,其具体的模型数量,可以根据初始模型的数量进行设置,可以是与初始模型的数量相同,也可以比初始模型的数量少等。 [0167]针对上述步骤S606中,对调整后的模型进行参数交换处理,得到交换后的模型的步骤,包括: [0168]步骤B1,根据多目标函数,评估调整后的模型,得到每个调整后的模型的评估结果; [0169]上述调整后的模型可以与初始模型的个数相同,本实施例以调整后的模型为M个进行说明,具体的,根据多目标函数设置的目标,计算每个调整后的模型的目标函数值,比如,当前调整后的模型中,各个等级的子模型的实际胜率与该等级对应的基准胜率的误差平均值;当前调整后的模型中,各个等级的子模型的实际胜率与该等级对应的基准胜率的误差方差值;当前调整后的模型中,各个等级的子模型在每种参数上胜率的误差均衡度,可以得到三个目标函数值。 [0170]步骤B2,根据每个调整后的模型的评估结果,从调整后的模型中确定预设第一数量的模型; [0171]上述第一预设数量可以是两个,根据上述计算得到的三个目标函数的值,利用预设的挑选算法,从调整后的模型中确定预设第一数量的模型。可以通过将计算得到的目标函数值进行大小比较,选取前预设第一数量的模型。 [0172]其中预设的挑选算法可以是,解A优于解B(解A强帕累托支配解B)的方法,具体的,现在有目标函数有三个,调整后的第一模型对应的三个目标函数值,比调整后的第二模型对应的三个目标函数值都好,则称解调整后的第一模型比解调整后的第二模型优越,也可以叫做解调整后的第一模型强帕累托支配解调整后的第二模型。因此可以调选不被支配的解作为下一代的模型,如图7所示的模型评估结果示意图,多个①②③点代表调整后的模型,在坐标系中的位置表示调整后的模型的目标函数值,其中,目标函数值越大越好。由图7可以得到①点支配②点支配③点,①点可以作为挑选的第一批调整后的模型,当个数不满足第一预设数量时,再去挑选②点对应的调整后的模型,若还是不满足,则去挑选③点对应的调整后的模型,直到挑选处的模型数量满足第一预设数量。 [0173]步骤B3,对确定出的预设第一数量的模型进行参数交换处理,得到预设第一数量的子代模型;继续执行根据每个调整后的模型的评估结果,从调整后的模型中确定预设数量的模型的步骤,直至子代模型的数量达到预设第二数量; [0174]上述第二预设数量可以与初始模型的数量相同,可以是M个。具体的,对上述确定出的两个模型中的参数进行交换处理,可以随机交换其中的部分参数,也可以交换全部的参数等,最后得到两个子代模型;然后再次很具其余的M-2个调整后的模型的评估结果,从调整后的模型中确定预设数量的模型,一共选择M/2组调整后的模型,产生M个子代模型。 [0175]步骤B4,将子代模型确定为交换后的模型。 [0176]将上述得到的M个子代模型确定为交换后的模型。 [0177]该方式中,利用基准胜率,设置多目标函数,使每个维度上的参数变化均有效,每个维度上的变化对胜率贡献接近相同,作为优化算法的三个目标,保证了不同等级的模型的差异性的同时,保证了每个维度上的参数变化为有效且尽量均衡;通过先调整再交换的方式,在调整参数值时加入先验,在模型胜率不准确时,通过参数的调整,使得模型胜率更加基准胜率;利用非梯度优化算法,更新多个中间模型,以达到非梯度优化的目的。该方式可基于多目标函数自动化地调整模型参数,减少了人员工作量,节约成本。同时能够兼容参数维度的变化,和策划方需求的调整,当游戏版本更新或策划方需求变更时能够通过简单改变参数来进行调整。 [0178]实施例六: [0179]针对前述实施例中的步骤S314,本实施例提供了一种模型的更新方法,该方法在上述实施例的基础上实现。本实施例重点描述根据调整后的至少一部分中间模型,更新多个中间模型的步骤的实现过程,如图8所示,该方法包括如下步骤: [0180]步骤S802,根据多目标函数,评估调整后的至少一部分中间模型,得到每个调整后的至少一部分中间模型的评估结果; [0181]上述调整后的至少一部分中间模型可以是上述步骤B3得到的M个子代模型。根据多目标函数,评估该M个子代模型,得到每个子代模型的评估结果,可以包括三个目标函数的值。 [0182]步骤S804,根据中间模型的评估结果,以及调整后的至少一部分中间模型的评估结果,从中间模型和调整后的至少一部分中间模型中,确定更新的多个中间模型。 [0183]上述的更新过程,可以利用进化算法,类比生物进化,在初始种群中选择种群中优秀的个体产生下一代来替代当前副本的方式,更新多个中间模型。具体的,上述中间模型可以是步骤S206确定的多个中间模型,本实施例中可以以M个中间模型和M个子代模型为例进行说明。具体的,可以根据中间模型的评估结果以及子代模型的评估结果,将M个子代模型的参数和M个中间模型的参数混合,得到2M个新的模型。可以根据多目标函数,评估该2M个新的模型,根据评估结果,可以从这2M个新的模型中可以挑选出目标函数值最优的M个模型,确定为更新的多个中间模型,以进行下一次的迭代优化。 [0184]该方式中,利用非梯度优化算法,更新多个中间模型,以达到非梯度优化的目的;同时利用基准胜率,设置多目标函数,使每个维度上的参数变化均有效,每个维度上的变化对胜率贡献接近相同,作为优化算法的三个目标,保证了不同等级的模型的差异性的同时,保证了每个维度上的参数变化为有效且尽量均衡。该方式可基于多目标函数自动化的调整模型参数,减少了人员工作量,节约成本。同时能够兼容参数维度的变化,和策划方需求的调整,当游戏版本更新或策划方需求变更时能够通过简单改变参数来进行调整。 [0185]实施例七: [0186]对应上述游戏角色的模型确定方法实施例,本发明实施例还提供了一种游戏角色的模型确定装置的结构示意图,如图9所示,该装置包括: [0187]基准胜率获取模块91,用于获取目标角色的各个预设等级的子模型对应的基准胜率; [0188]初始模型生成模块92,用于生成多个初始模型; [0189]多目标函数确定模块93,根据基准胜率,以及目标角色的模型需求,确定多目标函数; [0190]目标模型确定模块94,用于根据基准胜率和多目标函数,调整多个初始模型,得到目标角色的目标模型。 [0191]进一步的,上述每个初始模型包括:每个等级的子模型对应的多种参数的参数值;上述初始模型生成模块用于:针对每种参数,生成预设数量的参数值;其中,预设数量与模型中子模型的等级数量相匹配;预设数量的参数值,按照单调变化的方式排列;从每种参数对应的预设数量的参数值中,选取第i个参数值,组成一个初始模型;其中,i的最小值为1,最大值为预设数量,i为正整数。 [0192]进一步的,上述目标角色的模型需求包括:目标角色的各个等级的子模型的实际胜率与该等级对应的基准胜率相同;和/或,目标角色的各个等级的子模型中,每种参数发生预设程度的参数变化时,对子模型的实际胜率的影响程度相同。 [0193]进一步的,上述多目标函数包括:当前模型中,各个等级的子模型的实际胜率与该等级对应的基准胜率的误差平均值;且,当前模型中,各个等级的子模型的实际胜率与该等级对应的基准胜率的误差方差值;且,当前模型中,各个等级的子模型在每种参数上胜率的误差均衡度。 [0194]进一步的,上述目标模型确定模块包括: [0195]中间模块确定单元,用于基于多个初始模型,确定多个中间模型; [0196]模型评估单元,用于根据多目标函数,评估多个中间模型,得到每个中间模型的评估结果;其中,多目标函数根据每个等级的子模型对应的基准胜率确定; [0197]参数值调整单元,用于根据评估结果,调整多个中间模型中至少一部分中间模型中的参数值; [0198]目标模型确定单元,用于根据调整后的至少一部分中间模型,更新多个中间模型,继续执行根据多目标函数,评估多个中间模型的步骤,直至得到评估结果满足预设条件的中间模型,将该中间模型确定为目标角色的目标模型。 [0199]进一步的,上述模型评估单元用于:获取基准模型;针对每个中间模型中的每个等级的子模型,执行下述操作:计算该等级的子模型与基准模型中该等级的子模型之间的第一胜率;针对该等级的子模型中的每种参数,将该等级的子模型中该种参数的参数值,更新为该子模型的下一等级的子模型中该种参数的参数值,得到该子模型对应的修改模型;计算该子模型与修改模型的第二胜率;针对每个中间模型,根据该中间模型中各个等级的子模型对应的第一胜率和第二胜率,通过多目标函数,计算该中间模型的评分。 [0200]进一步的,上述模型评估单元用于:针对该中间模型中的每个等级的子模型,计算该等级的子模型对应的第一胜率,与该等级对应的基准胜率的误差;计算每个等级对应的误差的平均值;将误差的平均值确定为该中间模型的第一评分;计算每个等级对应的误差的方差值,将误差的方差值确定为该中间模型的第二评分;针对该中间模型中的每个等级的子模型,计算该等级的子模型中每种参数对应的第二胜率减去50%后的胜率值;计算每个等级对应的子模型对应的胜率值的标准差,将标准差确定为该中间模型的第三评分。 [0201]进一步的,上述参数值调整单元用于:根据评估结果,从中间模型中确定出待调整模型;根据待调整模型对应的评估结果,调整待调整模型中的参数值,得到调整后的模型;对调整后的模型进行参数交换处理,得到交换后的模型,将交换后的模型确定为调整后的至少一部分中间模型。 [0202]进一步的,上述参数值调整单元用于:针对每个待调整模型中的每个等级的子模型,执行下述操作:如果该等级的子模型对应的第一胜率减去50%后的绝对值大于第一预设阈值,根据该等级的子模型对应的第一胜率与50%的大小关系,调整该子模型中的参数值;如果该等级的子模型对应的第一胜率减去50%后的绝对值小于第一预设阈值,根据该等级的子模型对应的第二胜率与预设第二阈值和预设第三阈值的大小关系,调整该子模型中的参数值。 [0203]进一步的,上述参数值调整单元用于:获取用于调整参数值的调整量范围;如果该等级的子模型对应的第一胜率大于50%,从该等级的子模型的每种参数中,确定第二胜率最大的参数,根据调整量范围提高确定出的该参数的参数值;如果该等级的子模型对应的第一胜率小于50%,从该等级的子模型的每种参数中,确定第二胜率最小的参数,根据调整量范围降低确定出的该参数的参数值。 [0204]进一步的,上述预设第二阈值大于预设第三阈值;上述参数值调整单元用于:获取用于调整参数值的调整量范围;如果该等级的子模型中存在第二胜率大于预设第二阈值的参数,根据调整量范围降低该参数的参数值;如果该等级的子模型中存在第二胜率小于预设第三阈值的参数,根据调整量范围提高该参数的参数值。 [0205]进一步的,上述参数值调整单元用于:根据多目标函数,评估调整后的模型,得到每个调整后的模型的评估结果;根据每个调整后的模型的评估结果,从调整后的模型中确定预设第一数量的模型;对确定出的预设第一数量的模型进行参数交换处理,得到预设第一数量的子代模型;继续执行根据每个调整后的模型的评估结果,从调整后的模型中确定预设数量的模型的步骤,直至子代模型的数量达到预设第二数量;将子代模型确定为交换后的模型。 [0206]进一步的,上述目标模型确定单元用于:根据多目标函数,评估调整后的至少一部分中间模型,得到每个调整后的至少一部分中间模型的评估结果;根据中间模型的评估结果,以及调整后的至少一部分中间模型的评估结果,从中间模型和调整后的至少一部分中间模型中,确定更新的多个中间模型。 [0207]本发明实施例提供了一种游戏角色的模型确定装置,获取到目标角色的各个预设等级的子模型对应的基准胜率之后,生成多个初始模型;然后根据上述基准胜率,以及目标角色的模型需求,确定多目标函数;进而根据基准胜率和多目标函数,调整多个初始模型,得到目标角色的目标模型。该方式中,根据目标角色的各个等级的子模型的基准胜率,以及目标角色的模型需求,确定多目标函数,基于该多目标函数,调整初始模型,可以得到满足目标角色的目标模型;相对于人工筛选模型参数的方式,该方式可基于多目标函数自动化地调整模型参数,减少了运算成本,同时提高了参数的筛选效率。 [0208]本发明实施例提供的游戏角色的模型确定装置与上述实施例提供的游戏角色的模型确定方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。 [0209]本发明实施例还提供了一种服务器,参见图10所示,该服务器包括处理器100和存储器101,该存储器101存储有能够被处理器100执行的机器可执行指令,该处理器100执行机器可执行指令以实现上述启动虚拟机的方法。 [0210]进一步地,图10所示的服务器还包括总线102和通信接口103,处理器100、通信接口103和存储器101通过总线102连接。 [0211]其中,存储器101可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。 [0212]处理器100可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器100中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器100可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器101,处理器100读取存储器101中的信息,结合其硬件完成前述实施例的方法的步骤。 [0213]本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述启动虚拟机的方法,具体实现可参见方法实施例,在此不再赘述。 [0214]本发明实施例所提供的游戏角色的模型确定方法、装置和服务器的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。 [0215]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。 [0216]另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。 [0217]所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。 [0218]在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。 [0219]最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
现在,一起体验智慧芽的产品和服务
自动注册,无需人工审核,即可立即开始查询专利
立即注册
澳门正版图库

AI助手