循环赛锦标赛主场客场分布

时间:2013-09-04 10:59:47

标签: php algorithm

我正在编写一个脚本,使用round robin algorithm创建一个锦标赛装置,并修复第一个团队。它运作良好。

问题在于,当我创建这些灯具时,我必须尽可能地分发回家和远离HAHAHA ...模式,其中H - 是家,A - 离开。限制是球队不能连续打3场主场(或客场)比赛。

我尝试的是保留每支球队有多少主场和客场比赛,然后带有最低主场或客场数的球队将在应有的位置进行比赛。

例如

Team 1 (2 H and 1 A) VS Team 2 (with 2 H and 2 A)

结果将是:

Team 2(H) vs Team 1(A) // because Team 1 played least number away of games 

问题:是否有其他方法可以实施此类家庭分发,以及它背后的想法是什么?

2 个答案:

答案 0 :(得分:0)

您寻求的平等分配模式并不容易获得。建议进行随机随机播放'没有解决问题。与对手平等地分配球队,与家庭和对手一样访问者,同样可以在时间/位置插槽中播放。对于偶数队伍和奇数队伍,必须满足不同的要求。除此之外,创建每个赛程的数学运算完全不同(例如,7队联赛赛程与8队联赛不同)。

查看this link about "equal distribution".

上提供的信息

平等分配;团队,时间段,&家庭&只有当您正在安排的团队数量具有正确数量的时间段时,才可以访问访问者。了解计划的结构非常重要。您的上述问题是关于平等的Home&离开(H& A)在上面的链接中回答。你能做的最好的事情就是每轮循环赛不超过两场H或两场A场比赛。有一个小例外,当一个循环赛结束并开始下一轮循环赛时,一支球队可以连续进行3场主场比赛或3场客场比赛。这只发生在少数几支球队,这是不可避免的,但H& A在每2轮循环结束时保持平衡。

在安排团队进行循环赛时,用最简单的术语来创建一个团队的循环赛,循环赛 home&访问者状态,以及时间/位置广告位的循环 ...所有这些都在同一时间。

为了使主题更加复杂,需要不同数量的循环赛(一个)来满足相同的' 分布,不同数量的循环赛(两个)来满足' home&访问者' 平衡,以及不同数量的循环,以满足'时段' 的平衡。对于偶数队伍而言,在所有时间段内平衡所有队员平衡所需的循环次数相当于所安排的队伍数量的一半。在安排奇数队伍时会发生这种情况。

答案 1 :(得分:0)

@Bob R连接中3H或3A的“不可避免”例外事实上是可以避免的。参见D. de Werra(1981)'体育安排','关于图形和离散规划的研究'(编辑P. Hansen),北荷兰,第381-395页。