Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 在某些限制条件下,每轮选择一支球队的最佳组合 问题_Algorithm_Math - Fatal编程技术网

Algorithm 在某些限制条件下,每轮选择一支球队的最佳组合 问题

Algorithm 在某些限制条件下,每轮选择一支球队的最佳组合 问题,algorithm,math,Algorithm,Math,我有一个运动成绩表,我在寻找最好的方法,在每一轮中选择一支球队,这样相关的分数总和是最大的。此选择受以下限制: 有多少队就有多少轮 您必须选择每支球队一次且仅一次,并且每轮仅进行一次选择 在某些回合中,有些球队将不是合法的选择 细节 一支球队在一轮比赛中的得分是他们在比赛中的差距。他们赢了是积极的,输了是消极的 有两个可能的原因可以解释为什么一个特定的选择可能被禁止。排名最低的球队的对手(可能在两轮之间发生变化)可能永远不会被选中。在一些比赛中,可能会出现“是”,受影响的球队也可能不会被选中

我有一个运动成绩表,我在寻找最好的方法,在每一轮中选择一支球队,这样相关的分数总和是最大的。此选择受以下限制:

  • 有多少队就有多少轮
  • 您必须选择每支球队一次且仅一次,并且每轮仅进行一次选择
  • 在某些回合中,有些球队将不是合法的选择
细节 一支球队在一轮比赛中的得分是他们在比赛中的差距。他们赢了是积极的,输了是消极的

有两个可能的原因可以解释为什么一个特定的选择可能被禁止。排名最低的球队的对手(可能在两轮之间发生变化)可能永远不会被选中。在一些比赛中,可能会出现“是”,受影响的球队也可能不会被选中

例子 考虑以下示例,其中括号中的数字是该轮球队的得分,
*
表示与排名垫底的球队比赛的球队,因此无法在该轮中被选中

Round 1: Team A* (+26) vs Team B  (-26), Team C  (-15) vs Team D  (+15)
Round 2: Team A  (+75) vs Team C  (-75), Team B  (+ 5) vs Team D* (- 5)
Round 3: Team A  (+85) vs Team D  (-85), Team B* (- 3) vs Team C  (+ 3)
Round 4: Team A  (  0) vs Team B  (  0), Team C  (+12) vs Team D* (-12)
在这种情况下,最好的组合是选择:

  • 第一轮:D(+15)
  • 第二轮:B(+5)
  • 第三轮:A(+85)
  • 第四轮:C(+12)
  • 注意:我创建的示例不包括任何带“是”的回合。它也不需要为最好的总数选择一个负数,尽管这显然是可能的

    已知溶液
    显然,在团队或回合数较少的情况下,你可以通过尝试每一种组合来实现这一点。有没有一种方法可以为更多的团队和轮次(比如说20次?)解决这个问题。

    你基本上是在描述一个:你在寻找团队和轮次之间的完美匹配,这样与匹配边缘相关的分数之和就最大化了。被禁止的垫底队伍可以使用-∞. 这是解决此类问题的既定方法。

    你能用一种更简单的方式重新表述你的问题吗(即,纯数学,没有团队和体育参考资料),还是真的这么复杂?我不知道你想达到什么目的。我试图通过这个网格找到最佳的选择组合,这样你每列每行只能给一个项目小费。我尝试过编辑这个问题,以使它不被搁置。请检查你是否仍然觉得这是你想问的问题。并且可以自由地编辑任何你能想到的进一步改进。如果我的编辑应该是完全错误的,也可以随意恢复。哇,太好了!非常感谢你!谢谢MvG。你的答案正是我解决这个问题所需要的。我似乎无法选择你的答案,因为问题被搁置了。@Danny:那样的话,我建议你更新你的答案以便更清楚。然后它可以重新开放,成为一个有价值的贡献。特别是考虑到指派问题的一般公式,你应该能够找到一个更短、更通用的公式。