从不完整的排行榜计算分数
当我在高中学习矩阵时,我们看到了一种在这种情况下会有所帮助的技术:
一个联盟中有许多国际象棋棋手,他们需要确定所有人的排名,但是不要没有足够的时间让每个玩家与其他所有人进行比赛。如果最终玩家 A 击败玩家 B,玩家 B 击败玩家 C,您可以在一定程度上肯定地说玩家 A 比玩家 C 更好,因此奖励玩家 A 一些分数,而不是他们实际上互相比赛。
正如我所说,这是不久前的事,我不记得如何实际执行该算法,但我认为它被称为“支配矩阵”之类的东西。在网上搜索这一点有时毫无结果而且令人恐惧,所以我认为这是不对的。
有人可以给我一些帮助吗?理想情况下,我可以将算法用于我正在开发的这个程序,但即使只是指向有关该过程的更多信息的指针。
When I was in high school and learning about matrices, we were shown a technique that would help in a situation like this:
There are a number of chess players in a league, and they need to determine a ranking for all of them, but don't have enough time for every player to play every other person. If it ends up that Player A beats Player B, and Player B beats Player C, you can say with some level of certainty that Player A is better than Player C and therefore award some points to player A in lieu of them actually playing each other.
As I said, this was a little while ago and I can't remember how to actually perform the algorithm, but I think it was called something like a "domination matrix". Searching the web for that has been fruitless and scary at times, so I don't think that's right.
Can anyone give me some help? Ideally an algorithm I can use for this program I'm working on, but even just a pointer to some more information about the procedure.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
听起来您好像记得佩伦-弗罗贝尼乌斯定理的演示 - 这至少是一个更安全的搜索术语:-)。其中之一位于
http://www.math.utah.edu/~keener/lectures/排名.pdf
国际象棋棋手使用 Elo 系统,描述于http://en.wikipedia.org/wiki/Elo_ rating_system 和 http://www.chesselo.com/ ,这会更容易实现。即使您什么都知道,也可能没有好的排名 - 请参阅 http://en.wikipedia。 org/wiki/Nontransitive_dice。人们对足球比赛进行建模通常会分别跟踪防守和进攻的优势。
It sounds like you are remembering a presentation of the Perron-Frobenius theorem - which is at least a safer search term :-). One such is at
http://www.math.utah.edu/~keener/lectures/rankings.pdf
Chess players use the Elo system, described at http://en.wikipedia.org/wiki/Elo_rating_system and http://www.chesselo.com/, which would be easier to implement. It is possible that there is no good ranking even if you know everything - see http://en.wikipedia.org/wiki/Nontransitive_dice. People modelling soccer games usually keep track of defensive and offensive strengths separately.
听起来您所描述的是瑞士系统锦标赛或所有描述的非常相似的变体链接的维基百科条目。尽管不是通过不完整的锦标赛来计算评级,而是组织锦标赛的一种方式,将最好的国际象棋棋手与最好的国际象棋棋手配对,将最差的国际象棋棋手与最差的国际象棋棋手配对,以确定排名,而不需要每个人都与其他人比赛。
What it sounds like you are describing is a Swiss System tournament or a very similar variation all described on the linked Wikipedia entry. Although rather than given an incomplete tournament to calculate ratings it is a way to organize a tournament to pair the best chess players with the best and the worst chess players with the worst to determine a ranking without the need for everyone to play everyone else.
也许某种类型的 PageRank 算法可能适合您。
想象一下,每个人都有一个网页,其中超链接到每个击败他们的人。
对这些数据运行页面排名算法将为您提供链接矩阵的稳定状态,这可能会向您表明每个人的相对重要性(我猜)。
例如,一个只玩过一场游戏但击败了击败很多人的人的页面排名可能比击败了 10 个人而没有赢得一场比赛的人更高。
Maybe some type of PageRank algorithm might work for you.
Imagine every person has a webpage in which they hyperlink to every person who defeated them.
Running the page rank algorithm on this data would give you give you the steady state of your link matrix which might indicate to you the relative importance of each person (I guess).
For example a person who played only one game but, in that, defeated someone who defeated lots of people might have a higher page rank than somebody who defeated 10 people who in turn have not won a single game.
也许是 min-max 算法?
perhaps the min-max algorithm ?