Я работаю над алгоритмом подсчета очков для отдельных игроков в командной игре. Проблема в том, что не существует фиксированных команд - каждый раз, когда 10 игроков хотят играть, они делятся на две (несколько) четные команды и играют друг с другом. По этой причине нет смысла оценивать команды, а вместо этого нам нужно полагаться на индивидуальные рейтинги игроков.
Есть ряд проблем, которые я хочу принять во внимание:
- Новым игрокам необходим своего рода предварительный рейтинг , чтобы достичь своего "реального" рейтинга, прежде чем их рейтинг будет считаться таким же, как у опытных игроков.
- Система должна принимать во внимание, что команда может состоять из комбинации уровней квалификации игрока - например. один действительно хороший, один хороший, два посредственных и один действительно плохой. Поэтому простого «среднего» рейтинга игроков, вероятно, будет недостаточно, и, вероятно, его необходимо каким-то образом оценить.
- Рейтинги корректируются после каждой игры, и поэтому алгоритм должен основываться на каждой игре, а не на «рейтинговом периоде». Это может измениться, если будет найдено хорошее решение ( Мне известно, что Glicko использует рейтинг ).
Обратите внимание, что мошенничество не является проблемой для этого алгоритма, поскольку у нас есть другие способы проверки игроков.
Я посмотрел на TrueSkill
, Glicko
и ELO
(это то, что мы сейчас используем). Мне нравится идея TrueSkill / Glicko, где у вас есть отклонение, которое используется для определения точности рейтинга, но ни один из алгоритмов не учитывает случайность случайных команд и, как представляется, в основном основан на играх 1 на 1 или FFA.
Где-то было предложено оценивать игроков так, как если бы каждый игрок из команды-победителя победил всех игроков проигравшей команды (25 «дуэлей»), но я не уверен, что это правильный подход, поскольку это может привести к серьезным последствиям завышать рейтинг, когда действительно слабый игрок в выигравшей команде и получает победу против очень хорошего игрока в проигравшей команде.
Любые предложения приветствуются!
РЕДАКТИРОВАТЬ: Я ищу алгоритм для известных игроков + какой-то способ ранжирования новичков, а не два вместе взятых. Извините за путаницу.
AI нет, и игроки играют друг с другом. Игры определяются выигрышем / проигрышем (ничья не проводится).