首页 > 运动玩具 专利正文
异常角色确定方法、装置、计算机设备和存储介质与流程

时间:2022-02-10 阅读: 作者:专利查询

异常角色确定方法、装置、计算机设备和存储介质与流程

1.本技术涉及游戏领域,具体涉及异常角色确定方法、装置、计算机设备和存储介质。


背景技术:

2.随着网络技术的快速发展,网络游戏也受到了越来越多人的关注,特别是多人在线战术竞技游戏(multiplayer online battle arena,moba)。对于网络游戏如moba而言,出现不平衡的游戏角色会极大影响游戏的寿命,不平衡的游戏角色可以是指过于强大的游戏角色,或是过于弱小的游戏角色,不平衡的游戏角色会导致整个游戏失去平衡,影响游戏寿命。
3.目前,通常是根据游戏玩家的反馈或是自身体验,确定出游戏中的不平衡的角色,难以实现对游戏中的不平衡角色的自动检测。


技术实现要素:

4.本技术实施例提供异常角色确定方法、装置、计算机设备和存储介质,可以自动检测游戏中的不平衡角色。
5.本技术实施例提供一种异常角色确定方法,包括:获取角色池中每个虚拟角色的胜率集合,所述胜率集合包括所述虚拟角色与其他虚拟角色对战的胜率;以所述角色池中所有虚拟角色为节点,以所述每个虚拟角色的胜率集合为边,构建有向图;确定所述有向图中的欧拉回路;根据所述欧拉回路从所述角色池中确定出异常角色,所述异常角色为胜率异常的虚拟角色。
6.本技术实施例还提供一种异常角色确定装置,包括:获取模块,用于获取角色池中每个虚拟角色的胜率集合,所述胜率集合包括所述虚拟角色与其他虚拟角色对战的胜率;构建模块,用于以所述角色池中所有虚拟角色为节点,以所述每个虚拟角色的胜率集合为边,构建有向图;第一确定模块,用于确定所述有向图中的欧拉回路;第二确定模块,用于根据所述欧拉回路从所述角色池中确定出异常角色,所述异常角色为胜率异常的虚拟角色。
7.在一些实施例中,所述构建模块还包括:节点确定单元,用于将所述角色池中的所有虚拟角色作为节点,其中每一个所述节点表示一个虚拟角色;有向边构建单元,用于根据每个虚拟角色的胜率与预设值的大小关系构建有向边;有向图确定单元,用于将所有的节点和有向边作为所述有向图。
8.在一些实施例中,所述有向边构建单元包括:目标角色确定子单元,用于从所述角色池中确定一个虚拟角色为目标角色;指定角色确定子单元,用于从所述目标角色与其他虚拟角色对战的胜率中,确定大于或等于所述预设值的胜率为指定胜率,所述指定胜率对应的其他虚拟角色为指定角色;构建子单元,用于构建从所述目标角色指向所述指定角色的有向边;目标角色确定子单元还用于从所述角色池中除目标角色之外的虚拟角色中确定新的目标角色,指定角色确定子单元和构建子单元依次重复执行上述步骤,直至遍历所述
角色池中的所有虚拟角色。
9.在一些实施例中,第一确定模块还用于确定有向图中的所有的连通图;对于每个所述连通图,第二确定模块中的候选角色确定单元用于确定所述连通图中不处于所述欧拉回路中的节点为候选节点,将所述候选节点对应的虚拟角色确定为候选角色;第二确定模块中的异常角色确定单元用于若建立的有向图的数量等于预设数量,从所述候选角色中确定出所述异常角色;若建立的有向图的数量不等于所述预设数量,对所述预设值进行更新后,构建模块、第一确定模块和第二确定模块依次重复执行上述步骤,直到建立的有向图的数量等于所述预设数量。
10.在一些实施例中,异常角色确定单元还用于确定所述虚拟角色被确定为候选角色的次数;将所述次数大于预设次数的虚拟角色确定为所述异常角色。
11.在一些实施方式中,欧拉回路中节点的出度等于入度,异常角色确定单元还用于获取所述连通图中,所述候选节点的出度和入度;在所述出度大于所述入度的情况下,确定所述候选角色的异常状态为过强;在所述出度小于所述入度的情况下,确定所述候选角色的异常状态为过弱。
12.在一些实施例中,异常角色确定单元还用于按照预设改变值对所述预设值进行增加或减小,得到新的预设值。
13.在一些实施例中,获取模块还用于获取游戏日志;获取所述游戏日志中每条对战记录的对战特征,所述对战特征包括对战类型、对战时长以及结束原因;从所述对战特征满足预设条件的对战记录中获取所述胜率集合。
14.本技术实施例还提供一种计算机设备,包括存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行本技术实施例所提供的任一种异常角色确定方法中的步骤。
15.本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本技术实施例所提供的任一种异常角色确定方法中的步骤。
16.本技术实施例可以获取到每个虚拟角色的胜率集合,基于胜率集合自动构建可表示虚拟角色之间的强弱关系的有向图,根据有向图中欧拉回路进一步确定胜率异常的异常角色,可自动分析玩家间对战,实现异常角色的自动化检测,并且无需等待玩家的反馈,从而提升了对异常角色的检测效率。
附图说明
17.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1是本技术实施例提供的实现异常角色确定方法的系统示意图;
19.图2是本技术一个实施例提供的异常角色确定方法的流程示意图;
20.图3是本技术实施例提供的有向图的示意图;
21.图4是本技术另一个实施例提供异常角色确定方法的流程示意图;
22.图5是在图4所提供的实施例的基础上提供异常角色确定方法的部分步骤的流程图;
23.图6是本技术再一个实施例提供异常角色确定方法的流程示意图;
24.图7是本技术实施例提供的异常角色确定装置的结构示意图;
25.图8是本技术实施例提供的计算机设备的结构示意图。
具体实施方式
26.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
27.本技术实施例提供一种异常角色确定方法、装置、计算机设备和存储介质。
28.其中,该异常角色确定装置具体可以集成在计算机设备中,该计算机设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、或者个人电脑(personal computer,pc)等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
29.在一些实施例中,该异常角色确定装置还可以集成在多个计算机设备中,比如,异常角色确定装置可以集成在多个服务器中,由多个服务器来实现本技术的异常角色确定方法。
30.在一些实施例中,服务器也可以以终端的形式来实现。
31.例如,参考图1,图1为本技术实施例提供的实现异常角色确定的系统示意图,该系统可以包括至少一个终端1000,至少一个服务器2000,至少一个数据库3000,以及网络4000。用户持有的终端1000可以通过网络4000连接到服务器2000。其中,终端1000是具有计算硬件的任何设备,该计算硬件能够支持和执行与游戏对应的软件产品;服务器2000可以是单一服务器,可以是服务器集群;网络4000可以是无线网络或者有线网络,比如无线网络为无线局域网(wlan)、局域网(lan)、蜂窝网络、2g网络、3g网络、4g网络、5g网络等。另外,不同的终端1000之间也可以使用自身的蓝牙网络或者热点网络连接到其他终端或者连接到服务器2000。另外,该系统还可以包括至少一个数据库3000,该数据库3000用于存储用户使用所述终端1000时所产生的游戏数据。
32.以下分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。
33.请参阅图2,为本技术实施例提供的异常角色确定方法的流程图示意图,该方法可由计算机设备执行,计算机设备可以为终端、服务器等设备,该方法具体可包括以下步骤。
34.s110、获取角色池中每个虚拟角色的胜率集合,所述胜率集合包括所述虚拟角色与其他虚拟角色对战的胜率。
35.角色池是指某一个游戏中,所有的虚拟角色组成的集合,也可以是指根据游戏日志统计到的虚拟角色组成的集合。对于角色池中的每个虚拟角色,可以获取每个虚拟角色的胜率集合,其中,胜率集合包括虚拟角色与其他虚拟角色对战的胜率,胜率是指获胜次数与对战次数的比值。例如,角色池中有虚拟角色a、虚拟角色b和虚拟角色c,虚拟角色a的胜
率集合包括虚拟角色a和虚拟角色b对战时虚拟角色a的胜率,以及虚拟角色a和虚拟角色c对战时虚拟角色a的胜率,其中,虚拟角色a和虚拟角色b对战时虚拟角色a的胜率是指,虚拟角色a与虚拟角色b对战时,虚拟角色a的获胜次数与两者对战总次数的比值。可以理解的是虚拟角色a与虚拟角色b对战时,虚拟角色a的胜率与虚拟角色b的胜率之和为1。
36.在一些实施方式中,每个虚拟角色的胜率集合可以采用一个矩阵进行表示,或者对应每个虚拟角色,以一个矩阵表示该虚拟角色的胜率集合,可根据实际的需要进行设置,在此不做具体限定。
37.在一些实施方式中,每个虚拟角色的胜率集合的获取方式可以是先获取游戏日志,基于所述游戏日志获取每个虚拟角色的胜率集合。为了确保得到每个虚拟角色的准确的胜率集合,可以预先对获取到的游戏日志过滤。具体的,获取每个虚拟角色的胜率集合可以包括:
38.获取游戏日志;获取所述游戏日志中每条对战记录的对战特征,所述对战特征包括对战类型、对战时长以及结束原因;从所述对战特征满足预设条件的对战记录中获取所述胜率集合。
39.获取游戏日志时,可以是获取预设时间段内的游戏日志,预设时间段可以根据实际的需要进行设置。例如,预设时间段可以是设置为当前时间之前的所有时间段,还可以设置为某一游戏版本上线至当前时间的所有时间段。游戏日志可以是指玩家进行游戏时所产生的真实游戏日志,还可以是在游戏测试阶段所产生的游戏日志。
40.对战类型是指对战时的游戏模式,可以是指排位赛、娱乐赛等等,对战时长是指一场比赛从开始到结束的总时间,结束原因是指比赛终止的原因,例如,任一游戏玩家主动投降、满足游戏结束条件时正常结束,其中,游戏结束条件可以是游戏玩家的任一方得到预设的分数值,或者游戏玩家的任一方击败目标等。
41.其中,预设条件可以包括与每个对战特征对应的子条件,在每个对战特征均满足对应的子条件时,认为对战特征满足预设条件,还可以是任意一个对战特征满足对应的子条件时,认为对战特征满足预设条件,具体可根据实际的需要进行设置,在此不做具体限定。
42.在实际应用中,对战类型对应的子条件可以是对战类型为排位赛、对战时长对应的子条件可以是对战时长大于或等于10分钟,结束原因对应的子条件可以是不为任一游戏玩家主动投降,预设条件可以是同时满足每个子条件,以此对游戏日志中的对战记录进行筛选,从满足预设条件的对战记录中获取胜率集合。
43.在一些实施方式中,每个虚拟角色的胜率集合的获取方式可以是通过具有胜率计算功能的插件直接获取到。
44.在获取到每个虚拟角色的胜率集合之后,可以使用胜率集合构建有向图,以供进一步分析。
45.s120、以所述角色池中所有虚拟角色为节点,以所述每个虚拟角色的胜率集合为边,构建有向图。
46.在构建有向图时,可以是将角色池中所有虚拟角色作为节点,根据每个虚拟角色的胜率集合构建节点和节点之间的边,从而得到有向图。其中,构建出的有向图中的一个节点表示一个角色池中的一个虚拟角色,节点和节点之间的边表示两个虚拟角色的能力强弱
关系。具体可参阅图3,示出了有向图的示意图,在图3中,节点a表示虚拟角色a,节点e表示虚拟角色e,节点a指向节点e,表示虚拟角色a比虚拟角色e强。
47.有向图中边的是具有方向性的,边的指向不同具有不同的意义,例如,有向边从虚拟角色a指向虚拟角色b,则表示虚拟角色a的能力比虚拟角色b强,若有向边从虚拟角色b指向虚拟角色a,表示虚拟角色b的能力比虚拟角色a强,因此,在构建有向图时,还需要确定有向边的指向。
48.具体的,可以通过以下方式构建有向边:从所述角色池中确定一个虚拟角色为目标角色;从所述目标角色与其他虚拟角色对战的胜率中,确定大于或等于所述预设值的胜率为指定胜率,所述指定胜率对应的其他虚拟角色为指定角色;构建从所述目标角色指向所述指定角色的有向边;从所述角色池中除目标角色之外的虚拟角色中确定新的目标角色,返回执行以下步骤:从所述目标角色与其他虚拟角色的胜率中,确定大于预设值的胜率为指定胜率,所述指定胜率对应的其他虚拟角色为指定角色;构建从所述目标角色指向所述指定角色的有向边,直至遍历所述角色池中的所有虚拟角色。
49.例如,角色池中有虚拟角色a、虚拟角色b和虚拟角色c,目标角色为虚拟角色a,虚拟角色a的胜率集合包括m(a,b)和m(a,c),其中m(a,b)表示虚拟角色a和虚拟角色b对战时,虚拟角色a的胜率,m(a,c)表示虚拟角色a和虚拟角色c对战时,虚拟角色a的胜率,若确定m(a,c)大于预设值,可确定m(a,c)为指定胜率,虚拟角色c为指定角色,从而可以构建从虚拟角色a指向虚拟角色c的有向边。依次将虚拟角色b和虚拟角色c确定为目标角色,重复上述过程,可构建出每个虚拟角色与其他虚拟角色之间的有向边。
50.其中,预设值为一个经验数值,预设值的取值范围为0至1,可以根据实际的需要进行设置,在此不做具体限定。
51.s130、确定所述有向图中的欧拉回路。
52.在构建出有向图后,可以进一步对有向图进行处理,确定有向图中的欧拉回路。在确定有向图中的欧拉回路时,可以是先确定出有向图中的所有连通图,再从每个连通图确定是否存在欧拉回路。其中,若一个图中任意两点都是连通的,连通是指两点之间有路径相连,该图为连通图。若一个图中的一个路径途径有向图的每个边,且有向图的每个边均被恰好途径一次,该路径称为欧拉路径,如果一个回路是欧拉路径,该回路为欧拉回路。
53.一个有向图中若存在欧拉回路,前提条件为连通图,有向图中的每个节点的出度和入度相等,其中出度是指以该节点为头的边的数目,入度是指以该节点为尾的边的数目,例如图3中节点a的出度为2,入度为2,节点e的出度为0,入度为1。也就是说,欧拉回路中的每个节点的出度和入度相等。可参阅图3,图3中路径a-c-d-b即为一个欧拉回路。
54.欧拉回路的求解主要有两种方法,一种是dfs搜索,另一种是fleury算法。其中dfs搜索求解欧拉回路的思路为:利用欧拉定理判断出一个图存在欧拉回路后,选择一个正确的起始节点,用dfs算法遍历所有的边(每条边只遍历一次),遇到走不通就回退。在搜索前进方向上将遍历过的边按顺序记录下来。这组边的排列就组成了一条欧拉回路。dfs搜索以及fleury算法的具体实现方式与现有的方式相同,在此不再赘述。
55.s140、根据所述欧拉回路从所述角色池中确定出异常角色,所述异常角色为胜率异常的虚拟角色。
56.在确定所述有向图中的欧拉回路之后,可以基于欧拉回路确定出异常角色,其中,
异常角色是指胜率异常的虚拟角色,胜率异常可以是指胜率过高或过低,胜率过高的虚拟角色的能力过强,胜率过低的虚拟角色的能力过弱。
57.一个有向图可以确定出对应的异常角色,为了提升确定异常角色的准确性,可以重复s120构建出多个有向图,具体的,确定所述有向图中的欧拉回路;根据所述欧拉回路从所述角色池中确定出异常角色可以包括:确定所述有向图中的所有的连通图;对于每个所述连通图确定所述连通图中不处于所述欧拉回路中的节点为候选节点,将所述候选节点对应的虚拟角色确定为候选角色;若建立的有向图的数量等于预设数量,从所述候选角色中确定出所述异常角色;若建立的有向图的数量不等于所述预设数量,对所述预设值进行更新后,返回执行以下步骤:以所述角色池中所有虚拟角色为节点,以所述每个虚拟角色的胜率集合为边,构建有向图;至根据所述欧拉回路从所述角色池中确定出异常角色,直到建立的有向图的数量等于所述预设数量。也就是说,可以更新预设值,构建预设数量个有向图,对于每个有向图,确定出有向图中的连通图,对于每个连通图,判定连通图中存在欧拉回路时,将不在欧拉回路中节点作为候选节点。如图3中示出的有向图,即为一个连通图,其中路径a-c-d-b为一个欧拉回路,那么节点e和节点f可被确定为候选节点。
58.在一些实施方式中,若连通图中不存在欧拉回路,可认为该连通图中的所有节点均不处于欧拉回路中,可将连通图中的所有节点确定为候选节点。
59.其中,建立多个有向图,对应每个有向图可以确定出候选角色,在构建的有向图的数量等于预设数量时,从候选角色中确定出异常角色。具体的,从候选角色中确定出异常角色可以包括:确定所述虚拟角色被确定为候选角色的次数;将所述次数大于预设次数的虚拟角色确定为所述异常角色。
60.本技术实施例提供的异常角色确定方案可以应用在游戏策划场景中,适用于任意moba游戏中角色的平衡性检测。比如,以某一moba游戏为例,玩家使用游戏中的虚拟角色进行对战,可以得到对战结果。基于玩家的对战可以获取到玩家使用的每个虚拟角色的胜率集合,在获取到胜率集合后,以角色池中所有虚拟角色为节点,以每个虚拟角色的胜率集合为边,构建有向图;确定有向图中的欧拉回路;根据欧拉回路从角色池中确定出异常角色。游戏策划师可以根据确定出的异常角色,对异常角色的数值或设定进行调整,以保证游戏的平衡性,增长游戏寿命。
61.通过本技术实施例提供的异常角色确定方法可以获取到每个虚拟角色的胜率集合,基于胜率集合自动构建可表示虚拟角色之间的强弱关系的有向图,根据有向图中欧拉回路进一步确定胜率异常的异常角色,无需等待玩家的反馈,可自动分析玩家间对战,实现异常角色的自动化检测,从而提升对异常角色的检测效率。
62.请参阅图4,为本技术另一个实施例提供的异常角色确定方法的流程图示意图,在前述实施例的基础上,重点描述了构建有向图的过程,以下将作进一步详细说明。
63.s210、获取角色池中每个虚拟角色的胜率集合,所述胜率集合包括所述虚拟角色与其他虚拟角色对战的胜率。
64.s210可参照前述实施例对应部分,为避免重复,在此不再赘述。
65.s220、将所述角色池中的所有虚拟角色作为节点,其中每一个所述节点表示一个虚拟角色。
66.s230、根据每个虚拟角色的胜率与预设值的大小关系构建有向边。
67.在构建有向图时,可以将角色池中所有虚拟角色作为节点,每个节点表示一个虚拟角色。在确定出节点之后,可以根据每个虚拟角色的胜率与预设值的大小关系构建有向边,具体的,可参阅图5,根据每个虚拟角色的胜率与预设值的大小关系构建有向边还可以包括以下步骤。
68.s231、从所述角色池中确定一个虚拟角色为目标角色。
69.其中,目标角色是指当前确定虚拟角色,目标角色为角色池中的任意一个虚拟角色。
70.s232、从所述目标角色与其他虚拟角色对战的胜率中,确定大于或等于所述预设值的胜率为指定胜率,所述指定胜率对应的其他虚拟角色为指定角色。
71.从角色池中确定一个虚拟角色为目标角色,从目标角色与其他虚拟角色对战的胜率中,即从目标角色的胜率集合中,确定大于或等于预设值的胜率为指定胜率,其中,指定胜率对应的其他虚拟角色为指定角色。例如,目标角色为虚拟角色a,胜率集合中包括m(a,b)、m(a,c),m(a,b)表示虚拟角色a与虚拟角色b对战,虚拟角色a的胜率,m(a,c)表示虚拟角色a与虚拟角色c对战,虚拟角色a的胜率。若确定m(a,b)为指定胜率,指定角色则为虚拟角色b,若确定m(a,c)为指定胜率,指定角色则为虚拟角色c。
72.s233、构建从所述目标角色指向所述指定角色的有向边。
73.确定出指定角色后,构建从目标角色指向指定角色的有向边。
74.s234、判断是否遍历角色池中的所有虚拟角色;若否,执行s235;若是流程结束。
75.在构建完目标角色和指定角色的有向边后,可以判断是否遍历角色池中的所有虚拟角色。其中,是否遍历角色池中所有虚拟角色,是指角色池中每个虚拟角色是否都被确定为目标角色。
76.在一些实施方式中,可以设置一个角色集合,角色集合中包括角色池中的所有虚拟角色,每确定一个目标角色,将目标角色从角色集合中删除。在判断是否遍历角色池中所有虚拟角色时,可以是判断角色集合是否为空;若角色集合为空,判定已经遍历角色池中的所有虚拟角色;若角色集合不为空,判定未遍历角色池中的所有虚拟角色。
77.在一些实施方式中,可以设置一个角色集合,为角色集合中的每个虚拟角色设置编号,编号为连续的数字,按照编号依次将虚拟角色确定为目标角色。在确定是否遍历角色池中的所有虚拟角色时,可以是获取当前确定的目标角色的编号,获取第一个被确定为目标角色的编号为起始编号,若当前编号与起始编号的差值加1等于角色池中虚拟角色的数量,判定已经遍历角色池中的所有虚拟角色;若编号小于角色池中虚拟角色的数量,判定未遍历角色池中的所有虚拟角色。如前举例中,若将虚拟角色a编号为1,虚拟角色b编号为2,虚拟角色c编号为3,依次确定虚拟角色a、虚拟角色b、虚拟角色c为目标角色,在确定虚拟角色c为目标角色时,虚拟角色3对应的编号为3,第一个被确定为目标角色的为虚拟角色a,起始编号为1,此时3-1+1=3与角色池中虚拟角色的数量相等,即可认为已经遍历角色池中的所有虚拟角色。
78.若判定已经遍历角色池中的所有虚拟角色,表示该有向图构建完毕;若判定没有遍历角色池中的所有虚拟角色,继续执行s235。
79.s235、从所述角色池中除目标角色之外的虚拟角色中确定新的目标角色。
80.若确定没有遍历角色池中的所有虚拟角色,从角色池中除目标角色之外的虚拟角
色中确定新的目标角色,即从其他虚拟角色中确定新的目标角色。
81.在一些实施方式中,可以设置一个角色集合,角色集合中包括角色池中的所有虚拟角色,每确定一个目标角色,将目标角色从角色集合中删除,在确定新的目标角色时,可直接从角色集合中确定一个虚拟角色为目标角色。
82.在一些实施方式中,可以设置一个角色集合,为角色集合中的每个虚拟角色编号,编号为连续的数字,在确定新的目标角色时,将当前的目标角色对应的编号加1得到新的编号,将新的编号对应的虚拟角色确定为新的目标角色。
83.在确定出新的目标角色后,返回执行s232、s233以及s234,直到遍历角色池中的所有虚拟角色。
84.s240、将所有的节点和有向边作为所述有向图。
85.构建出的所有节点和有向边后,可将所有节点和有向边作为建立的所述有向图。
86.s250、确定所述有向图中的欧拉回路。
87.s260、根据所述欧拉回路从所述角色池中确定出异常角色,所述异常角色为胜率异常的虚拟角色。
88.s250至s260可参照前述实施例中对应部分,在此不再赘述。
89.本技术实施例提供的异常角色确定方法,在构建节点之间的有向边时,从角色池中确定一个虚拟角色为目标角色,从目标角色与其他虚拟角色对战的胜率中,确定大于或等于预设值的胜率为指定胜率,指定胜率对应的其他虚拟角色为指定角色;构建从目标角色指向指定角色的有向边,在遍历角色池中所有虚拟角色时,认为有向图构建完毕,在未遍历角色池中所有虚拟角色时,重新确定新的目标角色,继续构建有向边,以保证建立的有向图完整准确,基于完整准确的有向图,可进一步提升异常角色确定的准确性。
90.请参阅图6,为本技术再一实施例提供的异常角色确定方法的流程图示意图,在前述实施例的基础上,重点描述了确定所述有向图中的欧拉回路,以及根据欧拉回路从角色池中确定出异常角色的过程,以下将作进一步详细说明。
91.s310、获取角色池中每个虚拟角色的胜率集合,所述胜率集合包括所述虚拟角色与其他虚拟角色对战的胜率。
92.s320、以所述角色池中所有虚拟角色为节点,以所述每个虚拟角色的胜率集合为边,构建有向图。
93.s310至s320可参照前述实施例中对应部分,在此不再赘述。
94.s330、确定所述有向图中的所有的连通图。
95.s340、对于每个所述连通图,确定所述连通图中不处于所述欧拉回路中的节点为候选节点,将所述候选节点对应的虚拟角色确定为候选角色。
96.若一个有向图中存在欧拉回路,那这个有向图是连通图,且所有节点的出度等于入度。基于该判定原则,可以先确定有向图中的所有的连通图,再判定连通图中是否存在欧拉回路。若连通图中存在欧拉回路,确定连通图中不处于欧拉回路的节点为候选节点,将候选节点对应的虚拟角色确定为候选角色。其中,欧拉回路中的节点的出度和入度相等,可以认为这些节点所表示的虚拟角色之间可相互制衡,不在所述欧拉回路中的节点所表示的虚拟角色,则可能是异常的。
97.在一些实施方式中,若有向图中不存在连通图,可以直接执行s350。
98.在一种实施方式中,若判定连通图中不存在欧拉回路,可认为该连通图中所有节点均不处于欧拉回路中,可以将连通图中的所有节点确定为候选节点。
99.候选角色是指可能出现异常的虚拟角色,在确定出候选角色后,还可以根据候选节点的图特征,确定出候选角色可能的异常状态。由于连通图中在欧拉回路中的节点的出度和入度相等,那么不在欧拉回路中的节点的出度和入度是不相等的,因此在确定候选角色的异常状态时,可以是获取在连通图中,候选节点的出度和入度;在出度大于入度时,可以认为候选角色的异常状态为过强;在候选节点的出度小于入度时,可以认为候选角色的异常状态为过弱。
100.s350、判断建立的有向图的数量是否等于预设数量;若否,执行s360;若是,执行s370。
101.若仅根据建立的一个有向图来确定异常角色,可能导致确定的异常角色不够准确,为了进一步提高确定的异常角色的准确度,可建立多个有向图来提升异常角色确定的准确度,具体的,可以判断建立的有向图的数量是否等于预设数量,其中,预设数量为根据实际需要设置的任意正整数。若判定建立的有向图的数量不等于预设数量,可以执行s360,若判定建立的有向图的数量等于预设数量,执行s370。
102.s360、对预设值进行更新。
103.在构建有向图时,是将角色池中所有虚拟角色作为节点,根据每个虚拟角色的胜率与预设值的大小关系构建有向边,预设值的变化,会导致有向图的有向边的变化,因此,在建立的有向图的数量不等于预设数量时,可以对预设值进行更新后,再执行构建有向图的步骤,即在执行s360之后,可返回执行s320至s350,直到判定建立的有向图的数量等于预设数量时,执行s370。
104.在一些实施方式中,对预设值进行更新时,可以是按照预设改变值对所述预设值进行增加或减小,得到新的预设值。具体的,可以对当前预设值与预设改变值进行运算,包括但不限于进行加、减、乘、除等运算,需要注意的是,按照预设改变值对预设值进行增加或减小后,得到的新的预设值的取值范围仍然为0至1。
105.在一些实施方式中,可以提前设置有预设值集合,预设值集合中包括策划人员提前设置好的多个不同的预设值,对预设值进行更新时,可以是从预设值集合中选择一个与当前的预设值不同的预设值,作为新的预设值。
106.s370、从候选角色中确定出异常角色。
107.候选角色为有向图中的候选节点对应的虚拟角色,确定出的候选角色可能包括多个虚拟角色。具体的,可以创建候选角色集合,将每次确定为候选角色的虚拟角色存入候选角色集合中,其中,候选角色中可以包括多个相同的虚拟角色。例如,候选角色集合中可以包括虚拟角色a,虚拟角色c,虚拟角色a,虚拟角色a。
108.在一些实施方式中,从候选角色中确定出异常角色时,可以是确定所述虚拟角色被确定为候选角色的次数;将次数大于预设次数的虚拟角色确定为异常角色。其中,预设次数可以是根据需要设置的任意数值。例如,将预设次数设置为2,候选角色集合包括虚拟角色a,虚拟角色c,虚拟角色a,虚拟角色a,其中,虚拟角色a被确为候选角色的次数为3,虚拟角色c被确定为候选角色的次数为1,从而可以确定虚拟角色a为异常角色。
109.在确定出候选角色之后,可以进一步确定出候选角色的异常状态。作为一种实施
方式,可以将确定的每个候选角色的异常状态对应存储在候选角色集合中。其中,相同的虚拟角色,确定的出的异常状态可能不同,例如,虚拟角色a在某一有向图中确定出的异常状态为过弱,虚拟角色a在另一有向图中确定出的异常状态可能为过强。在确定出异常角色后,可以将该异常角色出现过的异常状态均作为该异常角色的异常状态,还可以将每个异常状态出现的次数进行统计,与确定出的异常角色进行关联,例如,异常角色为虚拟角色a-过强3次-过弱2次,表示虚拟角色a的异常状态3次被确定为过强,2次被确定为过弱。
110.本技术实施例提供的异常角色确定方法,在建立出有向图后,根据有向图中的欧拉回路确定候选节点以及候选角色,在建立的有向图数量等于预设数量时,从候选角色中确定出异常角色,在建立的有向图数量不等于预设数量时,对预设值进行更新后,以更新后的预设值重新构建有向图,以保证建立的有向图的数量足够多,避免根据单一的有向图确定的异常角色不够准确,基于一定数量的有向图可以确定出一定数量的候选角色,再根据虚拟角色被确定为候选角色的次数进一步确定异常角色,可进一步提升异常角色确定的准确性。
111.为了更好地实施以上方法,本技术实施例还提供一种异常角色确定装置,该异常角色确定装置具体可以集成在计算机设备中,该计算机设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
112.比如,在本实施例中,将以异常角色确定装置具体集成在计算机设备中为例,对本技术实施例的方法进行详细说明。
113.例如,如图7所示,该异常角色确定装置可以包括获取模块410、构建模块420、第一确定模块430以及第二确定模块440。其中,获取模块410,用于获取角色池中每个虚拟角色的胜率集合,所述胜率集合包括所述虚拟角色与其他虚拟角色对战的胜率;构建模块420,用于以所述角色池中所有虚拟角色为节点,以所述每个虚拟角色的胜率集合为边,构建有向图;第一确定模块430,用于确定所述有向图中的欧拉回路;第二确定模块440,用于根据所述欧拉回路从所述角色池中确定出异常角色,所述异常角色为胜率异常的虚拟角色。
114.在一些实施例中,所述构建模块420还包括:节点确定单元,用于将所述角色池中的所有虚拟角色作为节点,其中每一个所述节点表示一个虚拟角色;有向边构建单元,用于根据每个虚拟角色的胜率与预设值的大小关系构建有向边;有向图确定单元,用于将所有的节点和有向边作为所述有向图。
115.在一些实施例中,所述有向边构建单元包括:目标角色确定子单元,用于从所述角色池中确定一个虚拟角色为目标角色;指定角色确定子单元,用于从所述目标角色与其他虚拟角色对战的胜率中,确定大于或等于所述预设值的胜率为指定胜率,所述指定胜率对应的其他虚拟角色为指定角色;构建子单元,用于构建从所述目标角色指向所述指定角色的有向边;目标角色确定子单元还用于从所述角色池中除目标角色之外的虚拟角色中确定新的目标角色,指定角色确定子单元和构建子单元依次重复执行上述步骤,直至遍历所述角色池中的所有虚拟角色。
116.在一些实施例中,第一确定模块430还用于确定有向图中的所有的连通图;对于每个所述连通图,第二确定模块440中的候选角色确定单元用于确定所述连通图中不处于所述欧拉回路中的节点为候选节点,将所述候选节点对应的虚拟角色确定为候选角色;第二
确定模块440中的异常角色确定单元用于若建立的有向图的数量等于预设数量,从所述候选角色中确定出所述异常角色;若建立的有向图的数量不等于所述预设数量,对所述预设值进行更新后,构建模块420、第一确定模块430和第二确定模块440依次重复执行上述步骤,直到建立的有向图的数量等于所述预设数量。
117.在一些实施例中,异常角色确定单元还用于确定所述虚拟角色被确定为候选角色的次数;将所述次数大于预设次数的虚拟角色确定为所述异常角色。
118.在一些实施例中,欧拉回路中节点的出度等于入度,异常角色确定单元还用于获取所述连通图中,所述候选节点的出度和入度;在所述出度大于所述入度的情况下,确定所述候选角色的异常状态为过强;在所述出度小于所述入度的情况下,确定所述候选角色的异常状态为过弱。
119.在一些实施例中,异常角色确定单元还用于按照预设改变值对所述预设值进行增加或减小,得到新的预设值。
120.在一些实施例中,获取模块410还用于获取游戏日志;获取所述游戏日志中每条对战记录的对战特征,所述对战特征包括对战类型、对战时长以及结束原因;从所述对战特征满足预设条件的对战记录中获取所述胜率集合。
121.具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块的具体实施可参见前面的方法实施例,在此不再赘述。
122.由上可知,本实施例的异常角色确定装置可以获取到每个虚拟角色的胜率集合,基于胜率集合自动构建可表示虚拟角色之间的强弱关系的有向图,根据有向图中欧拉回路进一步确定胜率异常的异常角色,无需等待玩家的反馈,可自动分析玩家间对战,实现异常角色的自动化检测,从而提升对异常角色的检测效率。
123.相应的,本技术实施例还提供一种计算机设备,该计算机设备可以为终端或服务器,该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机、个人数字助理(personal digital assistant,pda)等终端设备。
124.如图8所示,图8为本技术实施例提供的计算机设备的结构示意图,该计算机设备500包括有一个或者一个以上处理核心的处理器501、有一个或一个以上计算机可读存储介质的存储器502及存储在存储器502上并可在处理器上运行的计算机程序。其中,处理器501与存储器502电性连接。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
125.处理器501是计算机设备500的控制中心,利用各种接口和线路连接整个计算机设备500的各个部分,通过运行或加载存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行计算机设备500的各种功能和处理数据,从而对计算机设备500进行整体监控。
126.在本技术实施例中,计算机设备500中的处理器501会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现各种功能:
127.获取角色池中每个虚拟角色的胜率集合,所述胜率集合包括所述虚拟角色与其他
虚拟角色对战的胜率;以所述角色池中所有虚拟角色为节点,以所述每个虚拟角色的胜率集合为边,构建有向图;确定所述有向图中的欧拉回路;根据所述欧拉回路从所述角色池中确定出异常角色,所述异常角色为胜率异常的虚拟角色。
128.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
129.可选的,如图8所示,计算机设备500还包括:触控显示屏503、射频电路504、音频电路505、输入单元506以及电源507。其中,处理器501分别与触控显示屏503、射频电路504、音频电路505、输入单元506以及电源507电性连接。本领域技术人员可以理解,图8中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
130.触控显示屏503可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏503可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(lcd,liquid crystal display)、有机发光二极管(oled,organic light-emitting diode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器501,并能接收处理器501发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器501以确定触摸事件的类型,随后处理器501根据触摸事件的类型在显示面板上提供相应的视觉输出。在本技术实施例中,可以将触控面板与显示面板集成到触控显示屏503而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏503也可以作为输入单元506的一部分实现输入功能。
131.射频电路504可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。
132.音频电路505可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路505可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路505接收后转换为音频数据,再将音频数据输出处理器501处理后,经射频电路504以发送给比如另一计算机设备,或者将音频数据输出至存储器502以便进一步处理。音频电路505还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。
133.输入单元506可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
134.电源507用于给计算机设备500的各个部件供电。可选的,电源507可以通过电源管理系统与处理器501逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源507还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检
测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
135.尽管图8中未示出,计算机设备500还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
136.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
137.由上可知,本实施例提供的计算机设备可以获取到每个虚拟角色的胜率集合,基于胜率集合自动构建可表示虚拟角色之间的强弱关系的有向图,根据有向图中欧拉回路进一步确定胜率异常的异常角色,可自动分析玩家间对战,实现异常角色的自动化检测,并且无需等待玩家的反馈,从而提升了对异常角色的检测效率。
138.本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
139.为此,本技术实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本技术实施例所提供的任一种异常角色确定方法中的步骤。例如,该计算机程序可以执行如下步骤:
140.获取角色池中每个虚拟角色的胜率集合,所述胜率集合包括所述虚拟角色与其他虚拟角色对战的胜率;以所述角色池中所有虚拟角色为节点,以所述每个虚拟角色的胜率集合为边,构建有向图;确定所述有向图中的欧拉回路;根据所述欧拉回路从所述角色池中确定出异常角色,所述异常角色为胜率异常的虚拟角色。
141.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
142.其中,该存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。
143.由于该存储介质中所存储的计算机程序,可以执行本技术实施例所提供的任一种异常角色确定方法中的步骤,因此,可以实现本技术实施例所提供的任一种异常角色确定方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
144.以上对本技术实施例所提供的一种异常角色确定方法、装置、存储介质及计算机设备进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。