计算不完整排名表的分数

时间:2010-01-03 11:58:51

标签: algorithm math matrix

当我在高中并且学习矩阵时,我们看到了一种技术可以帮助解决这样的情况:

联盟中有许多国际象棋选手,他们需要确定所有选手的排名,但没有足够的时间让每个球员都能与其他人比赛。如果最终玩家A击败玩家B,而玩家B击败玩家C,你可以肯定地说玩家A比玩家C好,因此奖励一些积分给玩家A代替他们实际上互相玩耍

正如我所说,这是不久前的,我不记得如何实际执行算法,但我认为它被称为“统治矩阵”。在网上搜索这些内容有时候是徒劳无益的,所以我认为这是不对的。

有人能给我一些帮助吗?理想情况下,我可以使用的算法用于我正在处理的程序,但是甚至只是指向有关该过程的更多信息的指针。

4 个答案:

答案 0 :(得分:2)

听起来你正在记住Perron-Frobenius定理的一个演示 - 这至少是一个更安全的搜索术语:-)。一个是这样的 http://www.math.utah.edu/~keener/lectures/rankings.pdf 国际象棋选手使用Elo系统,在http://en.wikipedia.org/wiki/Elo_rating_systemhttp://www.chesselo.com/中描述,这将更容易实现。即使你知道所有事情,也可能没有良好的排名 - 见http://en.wikipedia.org/wiki/Nontransitive_dice。建模足球比赛的人通常会分别追踪防守和进攻优势。

答案 1 :(得分:1)

也许某种类型的PageRank算法可能适合您。

想象一下,每个人都有一个网页,在这个网页中,他们会链接到每个打败他们的人。

对这些数据运行页面排名算法可以为您提供链接矩阵的稳定状态,这可能表明每个人的相对重要性(我猜)。

例如,一个只玩过一个游戏的人,但在那个游戏中击败了击败很多人的人可能会比击败10个人的人更高,而这个人又没有赢过一场比赛。

答案 2 :(得分:1)

您所描述的内容是Swiss System tournament或非常相似的变体,所有这些都在链接的维基百科条目中描述。虽然不是给出一个不完整的锦标赛来计算收视率,但它是一种组织锦标赛的方式,将最好的国际象棋选手与最差和最差的国际象棋选手配对,以确定排名,而不需要每个人都能与其他人一起比赛。 / p>

答案 3 :(得分:0)

也许是min-max算法?