Вот краткое описание того, что это влечет за собой:
Одно из решений, которое вы должны принять, - это если у вас какой-то суб-матч или нет. Например: в настольном футболе вы увидите, что в игре 2 на 2 всегда есть два игрока лицом друг к другу, а два - косвенно. Это означает: два защитника никогда не взаимодействуют, это только пары атакующий-защитник. Альтернативой является сценарий, подобный Dota, который имеет формат 5 на 5, и в нем нет реальных индивидуальных, предсказуемых матчей 1 на 1 в рамках настоящего матча.
Вариант 1: нет структуры под-соответствия:
В этом случае вы можете просто усреднить рейтинг всех вовлеченных игроков и использовать его в качестве рейтинга команды для этой команды. Поэтому для R_a и R_b вы просто используете сумму рейтингов всех игроков этой команды, деленную на количество игроков. После того, как вы вычислили обновление для команды, вы обновите рейтинг каждого члена команды с помощью обновления.
Случай два: под-матчи:
В этом случае вы разбиваетесь на подспички и взвешиваете их друг против друга. Таким образом, вы вычисляете E_a и E_b для каждой пары, а затем взвешиваете их. Например: для 5v5 с подструктурой 1v1 вы вычисляете 5 значений E_a для 5 пар. Затем вы вычисляете взвешенный термин для каждого отдельного игрока на основе подматча, частью которого он является. Таким образом, если игрок 1 является частью подматрицы 1, вы вычисляете что-то вроде 0,6 * E_a1 + 0,1 * E_a2 + 0,1 * E_a3 + 0,1 * E_a4 + 0,1 * E_a5 (где E_a1 - E_a для подстрока, в котором участвует игрок).
Параметры здесь могут быть свободно выбраны, но вы можете оптимизировать их, когда у вас есть некоторые данные. Попробуйте найти схему взвешивания, для которой рейтинги игроков не будут сильно колебаться. Это можно сделать автоматически, вычисляя дисперсию значений и затем минимизируя ее для заданного набора результатов сопоставления, адаптируя веса. Я надеюсь, что это полезно.