Algorithm 算法:消除不再有机会赢得比赛的玩家

Algorithm 算法:消除不再有机会赢得比赛的玩家,algorithm,optimization,max-flow,ford-fulkerson,Algorithm,Optimization,Max Flow,Ford Fulkerson,我一直在研究这个问题的算法,但还没弄明白。问题如下: 在有X名球员参加的比赛中,每个球员都在赌NBA篮球比赛的结果 猜对比赛结果得3分,猜对比赛MVP得1分,猜错两个得0分 算法需要能够确定某个玩家是否无法在本次博彩游戏中达到1号位置。 例如,假设联盟中总共有30场比赛,那么一名球员猜对的最大得分是(3+1)*30=120 在下表中,您可以看到玩家X、Y和Z。 到目前为止,球员X猜对了20场比赛,所以他得了80分。 球员Y和Z分别得到26分和15分,由于只剩下10场比赛,即使他们正确地猜到了剩下

我一直在研究这个问题的算法,但还没弄明白。问题如下:

在有X名球员参加的比赛中,每个球员都在赌NBA篮球比赛的结果

猜对比赛结果得3分,猜对比赛MVP得1分,猜错两个得0分

算法需要能够确定某个玩家是否无法在本次博彩游戏中达到1号位置。

例如,假设联盟中总共有30场比赛,那么一名球员猜对的最大得分是(3+1)*30=120

在下表中,您可以看到玩家X、Y和Z。 到目前为止,球员X猜对了20场比赛,所以他得了80分。 球员Y和Z分别得到26分和15分,由于只剩下10场比赛,即使他们正确地猜到了剩下的10场,也不足以进入第一名。 因此,该算法确定它们被从游戏中消除

团队 要点 每场比赛得分 全场比赛 可能的最大点数 剩下的比赛 可用积分 淘汰? X 80 0-L 1-MVP 3-W 30 120 10 0-40 N Y 26 0-L 1-MVP 3-W 30 120 10 0-40 Y Z 15 0-L 1-MVP 3-W 30 120 10 0-40 Y
我不明白你为什么要研究非常复杂的最大流算法。对于非常复杂的事情可能需要这些(特别是当配对导致结果和顺序/剩余配对开始重要时->!更难做最坏情况分析)

也许你提到的棒球问题就是其中之一(没有检查)。但是您的用例听起来很琐碎

1。获取当前的领导者分数
2.获取剩余的匹配项N
3.对于每个玩家P
4.获得当前玩家的分数
5.消除iff PS+3*N但易于概括)
这很简单。根据您的描述,没有什么可以阻止我们对其他所有玩家的最坏情况性能进行评估,也就是说,所有其他玩家在接下来的所有猜测中都猜错了,这是一个有效的场景->玩家P的分数s可以在剩下的所有游戏中保持在s


当存在更复杂的边约束(例如统计分布/期望)时,事情可能很快就会变成NP难决策问题。

输入是什么?球员是否在本赛季的所有比赛中提前下注?我们知道他们的赌注吗?球员在每场比赛前下注,我们知道他们的赌注是的。我们只知道下一场比赛的赌注吗?或者我们知道下一场比赛的赌注,一场接一场,等等?
1. Get current leader score LS
2. Get remaining matches N
3. For each player P
  4. Get current player score PS
  5. Eliminate iff PS + 3 * N < LS

(assumes parallel progress: standings always synced to all players P have played M games
 -> easy to generalize though)