我在建造一种有比赛的游戏。在比赛中,我们希望球员们能以一种有效的方式相互比赛。
我正在寻找的是一种通用算法,它将以最佳的方式将玩家匹配在一起,以便:
棘手的部分:
这样的算法存在吗?
注意:对于排名,我可能会使用基于ELO的算法(除非您有更好的建议)。
发布于 2013-08-31 15:06:18
瑞士运动是一个著名的锦标赛算法,用于国际象棋,桥牌和围棋锦标赛(至少)。这类似于一次淘汰,除非没有人被淘汰;在每一轮比赛中,有相同输赢记录的球员/球队在这场比赛之前没有相互比赛的约束条件下进行匹配。显然,为了取得好的结果,人们希望:
回合数> log2 (入围人数);
然而,一个比这个公式要求的更多的回合有时会给出更好的区别。对于某些类型的游戏,有一个温和的胜利点规模,而不是每一场比赛纯粹的输赢,可以更多地提高赛程。
在每一轮比赛中,匹配参赛者的机制包括先按输赢记录(如果适用的话是VP的)进行排序,然后从两端到中间工作。如果比赛接近尾声时发生严重冲突(球队不得不互相重播),桥牌比赛有一项政策,要尽可能地迫使这场比赛重播,而不制造另一场冲突。
此外,为了保持对低端的兴趣,在大型桥牌比赛中,通常在中途点取下半个入场者,并开始第二个(新的)比赛。(更好的球员已经知道这是沼泽。)
在世界冠军桥牌锦标赛中,一个复杂的组合,排位赛瑞士人,其次是双重淘汰击出与瑞奇。我承认,我从来没有探索过这其中的复杂之处,但对有关奥运桥梁的相关规定(尤其是)的研究,应该为这一机制提供细节。
https://gamedev.stackexchange.com/questions/61532
复制相似问题