首页 文章

甚至重复游戏以达到每位参与者的最大金额

提问于
浏览
2

我参加了一场循环赛,我为8支球队创造了所有必要的比赛(每位参赛者7场比赛) . 然而,我需要每个参与者10场比赛,这意味着我需要复制比赛,并且除此之外,1和5不能互相比赛 . 您可以从下面的数据中看到我为每个参与者(游戏数量)按照创建的顺序生成的游戏 .

我试图找出最好的方法来复制比赛并最终分配比赛,使得没有比赛重复三次并且仍然保持每个参赛者10场比赛并且1和5不能互相比赛 . 任何建议将有助于如何解决这个问题 . 这也需要是一个通用的解决方案,其他可能性仍然有效 .

1 (6)
    1 vs 2
    1 vs 3
    1 vs 4
    1 vs 6
    1 vs 7
    1 vs 8
2 (7)
    1 vs 2
    2 vs 4
    2 vs 3
    2 vs 6
    2 vs 5
    2 vs 8
    2 vs 7
3 (7)
    3 vs 4
    1 vs 3
    2 vs 3
    3 vs 7
    3 vs 8
    3 vs 5
    3 vs 6
4 (7)
    3 vs 4
    2 vs 4
    1 vs 4
    4 vs 8
    4 vs 7
    4 vs 6
    4 vs 5
5 (6)
    5 vs 6
    5 vs 7
    5 vs 8
    2 vs 5
    3 vs 5
    4 vs 5
6 (7)
    5 vs 6
    6 vs 8
    6 vs 7
    2 vs 6
    1 vs 6
    4 vs 6
    3 vs 6
7 (7)
    7 vs 8
    5 vs 7
    6 vs 7
    3 vs 7
    4 vs 7
    1 vs 7
    2 vs 7
8 (7)
    7 vs 8
    6 vs 8
    5 vs 8
    4 vs 8
    3 vs 8
    2 vs 8
    1 vs 8

1 回答

  • 1

    首先,您没有严格定义什么是“均匀分布”匹配 . 所以我建议这意味着每对球队都要打1场或2场比赛 . 有了这个限制,我有一个原始案例的解决方案和一般案例的一些想法 .

    原始案例

    8支球队,每支球队必须打10场比赛,1支队伍不应该和5支球队一起打球 . 这里是比赛矩阵:

    1  2  3  4  5  6  7  8
        ----------------------
    1 | 0  2  2  1  0  1  2  2
    2 | 2  0  1  2  1  2  1  1
    3 | 2  1  0  2  2  1  1  1
    4 | 1  2  2  0  2  1  1  1
    5 | 0  1  2  2  0  2  2  1
    6 | 1  2  1  1  2  0  1  2
    7 | 2  1  1  1  2  1  0  2
    8 | 2  1  1  1  1  2  2  0
    

    与根据值着色的单元格相同的矩阵:

    enter image description here

    该矩阵是对称的,每行(和每列)总计最多10个,这意味着每个团队的游戏总数根据需要为10 . 所有值都是1或2,除了主对角线上的零(团队不自己玩)和(1,5)和(5,1)单元格(团队1和5不相互玩) .

    一般情况

    我将解释如何通过多个步骤为原始案例构建矩阵 . 这些步骤可以针对几种不同的条件进行推广 . 但并不适合所有人 . 我不建议解决最常见的情况 .

    • 从矩阵开始,所有可以参加比赛的球队都可以参加一场比赛 . 该矩阵的行总和是 [6 7 7 7 6 7 7 7] ,其中6代表位置1和5 .

    • 尝试使每行的总和相同 . 为此,在1和8,1和7,5和4,5和3,2和6之间添加游戏 . 总和现在为 [8 8 8 8 8 8 8 8] . 尼斯 .

    • 尝试为每个团队添加两个游戏,禁止前一个项目中的对 . 在此步骤中,仅对前四个团队执行此操作 . 在1和2,2和4,4和3,3和1之间添加游戏 . 总和现在是 [10 10 10 10 8 8 8 8] .

    • 为最后四支球队重复上一个模式 . 总和现在 [10 10 10 10 10 10 10 10] . 每对队伍(允许参加比赛)可以进行1或2场比赛 . 我们完成了 .

    另一个想法,可能会有所帮助 . 在均匀分布的比赛中,允许对之间的游戏数量可能相差不超过1.我们可以将其视为:所有对子都玩 N 游戏,并且有几对玩 N+1 游戏 . 我开始在我的解决方案中玩所有对玩1场比赛 . 并且它给出了初始总和,必须通过选择这几对来玩一个额外的游戏来纠正 . 因此,一般问题可能重新拟定如下:如何将几个问题放入零对称矩阵的允许位置,以使行的总和等于给定的向量?

相关问题