Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 如何将玩家划分为不同的级别?_Algorithm_Partitioning - Fatal编程技术网

Algorithm 如何将玩家划分为不同的级别?

Algorithm 如何将玩家划分为不同的级别?,algorithm,partitioning,Algorithm,Partitioning,假设我们有一个两人游戏,其中一人总是赢(不可能平局) 问题是:如果我们对球员的技能一无所知,如何将球员分为n组k组?每个赛区都应该有相同数量的球员,最好的球员应该在第一赛区,最差的球员应该在最后一赛区,依此类推。还有一个额外的限制-玩家只能玩p游戏(p大于k) 附言:这个问题的灵感来自星际争霸战网。在将玩家划分成不同的等级之前,你能对他们做些观察吗?如果没有,你没有信息,所以只能做一个随机分配,然后在一系列游戏后调整他们的分区。如果我们对玩家一无所知,只需将玩家n分配到nmodk区即可 “一轮比

假设我们有一个两人游戏,其中一人总是赢(不可能平局)

问题是:如果我们对球员的技能一无所知,如何将球员分为nk组?每个赛区都应该有相同数量的球员,最好的球员应该在第一赛区,最差的球员应该在最后一赛区,依此类推。还有一个额外的限制-玩家只能玩p游戏(p大于k)


附言:这个问题的灵感来自星际争霸战网。

在将玩家划分成不同的等级之前,你能对他们做些观察吗?如果没有,你没有信息,所以只能做一个随机分配,然后在一系列游戏后调整他们的分区。如果我们对玩家一无所知,只需将玩家n分配到nmodk区即可


“一轮比赛后”(这可能是你提到的p比赛),每个赛区可能都会有一个内部排名。由于每个分区(本质上)都是随机的,所以在一个分区中排名靠前的人可能比排名靠后的人属于“更高”的分区。因此,在第一轮之后,根据“迄今为止的胜利”对每个玩家进行排序,然后将n/k首先分配给第一组,然后将n/k分配给第二组,依此类推。

在将玩家划分为几组之前,你能对他们做些观察吗?如果没有,你没有信息,所以只能做一个随机分配,然后在一系列游戏后调整他们的分区。如果我们对玩家一无所知,只需将玩家n分配到nmodk区即可


“一轮比赛后”(这可能是你提到的p比赛),每个赛区可能都会有一个内部排名。由于每个分区(本质上)都是随机的,所以在一个分区中排名靠前的人可能比排名靠后的人属于“更高”的分区。因此,在第一轮之后,根据“迄今为止的胜利”对每个玩家进行排序,然后将n/k首先分配给第一级,然后再将n/k分配给第二级,依此类推。

最好的办法是使用第一轮对他们进行排序,然后你知道他们的技能,这样你就可以相应地将他们划分为不同的级别


而且效果很好。

你能做的最好的事情就是用一轮初赛来对他们进行分类,然后你知道他们的技能,这样你就可以相应地将他们划分为不同的级别


而且效果很好。

他们是主客场还是单回合?如果你对技术一无所知,我们怎么可能与“最好”的球员组成一个分区?也许你想澄清一下你到底想做什么?我想在任何比赛开始之前,你都需要分区。他们是主客场还是单回合?如果你对技术一无所知,我们怎么可能用“最好”的球员建立分区?也许你想澄清一下你到底想做什么?我想你想在玩任何游戏之前先进行分区。根据OP问题的一种解释,n名玩家将分别玩p个游戏,然后根据结果将其划分为k个分区。瑞士p轮锦标赛听起来是一种理想的方式。根据OP问题的一种解释,n名球员将每人玩p场比赛,然后根据结果划分为k组。瑞士p轮锦标赛听起来是实现这一目标的理想方式。