Как ранжировать группу людей по результатам конкурса? - PullRequest
0 голосов
/ 07 июля 2011

У меня тут немного тает мозг.

У меня есть множество людей. Они соревнуются друг с другом в соревнованиях по времени. Каждое соревнование дает набор результатов, показывающих всех, ранжированных по времени.

Из этих данных я вижу, что (скажем) человек А избивал человека Б 73% времени на 48 встречах. Простой.

Давайте предположим, что у меня есть люди A B C D E F G. Для любого спаривания я могу видеть, кто победитель, сравнивая их друг с другом, но как мне получить «самый точный» ОБЩИЙ рейтинг?

Должен ли это быть какой-то итерационный процесс? Любые советы приветствуются, я не знаю, с чего начать!

(Каждый конкурс не обязательно является полным набором всех участников, если это имеет значение.)

Возможно, я бы хотел еще больше улучшить ситуацию, принимая во внимание их относительное время, а не просто "A beat B" или "B beat A" «Удар В на 6,3 секунды» и т. Д. Но я думаю, что пока все будет просто, я думаю!

Рад дать больше информации, если нужно, просто скажите мне, что!

Большое спасибо!

Ответы [ 2 ]

1 голос
/ 07 июля 2011

В качестве первого шага я бы внедрил систему рейтингов elo.

http://en.wikipedia.org/wiki/Elo_rating_system

Это сделает достойную работу. Вы можете полюбить более сложные системы, такие как Glicko или Trueskill, но я бы сначала пошел с Эло и посмотрел, достаточно ли это для вас.

0 голосов
/ 07 июля 2011

Вы можете использовать Elo Rating System (используется в шахматах для оценки игроков по всему миру).

Я думаю, что это работает следующим образом: каждый игрок начинает с заданным количеством очков. Когда два игрока бросают вызов друг другу, они выигрывают или теряют различное количество очков, в зависимости от очков, которые есть у каждого игрока.

Потеря против кого-то намного более сильного, чем вы, не заставит вас терять столько очков, сколько если бы вы играли против кого-то на вашем уровне (или ниже его). Я думаю, что общее количество очков может быть другим после матча. Например, один игрок может выиграть 10 очков, а другой - 5, создав 5 новых очков в системе.

Я считаю, что этот алгоритм использовался в горячем или нет.

Некоторые похожие альтернативы: Система рейтинга Glicko и Chessmetrics

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...