如何将玩家分为多个部门?

比方说,我们有一个双人游戏,其中一个玩家总是赢得胜利(无法抽奖)。

问题是:如果我们对他们的技能一无所知,如何将n个玩家分成k个部门? 每个分区应该由相同数量的球员组成,最好的球员应该是第一分区,最后一个分区中最差的球员,等等。 还有额外的限制 - 玩家不能玩超过p游戏(p大于k)。

PS:这个问题是由starcraft battle.net启发的。


你可以做的最好的事情是用一个类似瑞士的预赛来整理他们,然后你知道他们的技能,这样你就可以将他们分成相应的部门。

我正在那样做,而且效果很好。


在将他们分成不同部门之前,你能否对球员进行任何观察? 如果没有,你没有任何信息,所以只能做一个随机分配,然后调整他们在几场比赛后的分区。 如果我们对球员一无所知,只需将球员n分配给n组mod k。

“经过一轮比赛后”(这可能是你提到的p比赛),可能会在每个部门内部进行内部排名。 由于每个部门(基本上)都是随机的,因此在一个(随机)部门中打好的人可能属于“较高”的部门,而不是那些处于严重的部门。 所以,在第一轮之后,根据“迄今为止的胜利”对每个球员进行排序,然后将n / k先分配给第一个分区,然后再将n / k分配给第二个分区,依此类推。

链接地址: http://www.djcxy.com/p/30697.html

上一篇: How to divide players into divisions?

下一篇: What is the optimal winning strategy for this modified blackjack game?