我想做一个循环赛,但有一个转折点。
周围有大量的循环实现,但到目前为止我看到的每一个都会生成一个时间表,每个人都遵循它。我的主要问题是,在比赛快结束时,选手 A 经常面对选手 B,但选手 A 知道无论结果如何,他的最终排名都是固定的,而选手 B 的排名取决于他与选手 A 的比赛换句话说,一个玩家不在乎结果,另一个在乎。这留下了令人讨厌的可能性,即 A 没有尽力而为,因此 B 可以得到比他/她在日程安排不同的情况下更高的最终分数(例如,如果 A 对 B 是锦标赛的第一场比赛) . 这是我对“坏”匹配的定义
我想知道是否有一种方法可以在循环赛的每一步计算下一组要玩的游戏,以便尽可能避免这个问题。我怀疑这并不总是可能的(10 人锦标赛,9 名非常熟练的参与者,一个非常不熟练的参与者。在 0-8 之后,如果其他人都是 5-3 或 4-4,最后一场比赛是一场“糟糕”的比赛)
我允许一条额外的信息:Elo 排名。直觉上,如果有两名选手比其他选手差很多,他们可以预期会被其他人击败,因此只有他们的正面交锋才重要。因此,避免“糟糕”比赛的唯一方法是将他们的头对头比赛放在最后。
我的衡量标准如下:提出一个循环调度程序,让 N 名玩家与他们各自的 Elo 并在每一步输出一个时间表,以便该调度程序最大化第一个“坏”比赛出现的平均时间(即:如在比赛中尽可能晚)。更简单的版本是在开始时输出一次时间表。
您可以假设玩家的成绩可以通过他们的 Elo 等级准确地表示,并且该等级是固定的和已知的。
这也将“糟糕”比赛的定义从“我确定这场比赛和任何后续比赛都不会改变我的最终排名”更改为“我有 99% 的概率知道这场比赛和任何后续比赛都不会改变我的最终排名” ”。当然99%可以改
我的意思是,结果可能是按照他们的 Elo 从 E_1 到 E_n 对所有玩家进行排序,最后一场比赛是(E_1 vs E_2)......(E_n-1 vs E_n)。但我想要一些见解
编辑 :
澄清一下,“你可以假设玩家的成绩可以通过他们的 Elo 等级准确地表示”意味着如果等级是 R_A 和 R_B,那么 A 的胜率正是这里Elo 公式给出的
您在锦标赛中的排名仅取决于您的获胜次数