Me gustaría usar Elo para rastrear la clasificación de jugadores entre partidos de un determinado juego, sin embargo, el juego se puede jugar con hasta cuatro jugadores en un partido. He visto juegos como Carcasona usando Elo con más de dos jugadores jugando, pero no estoy familiarizado con Elo más allá de un enfrentamiento 1-1.
Del artículo de Wikipedia, las ecuaciones de dos jugadores que me gustaría ampliar son:
E a = 1 / (1 + 10 (R b - R a ) / 400 )
E b = 1 / (1 + 10 (R a - R b ) / 400 )
R x nuevo = R x viejo + 32 * (W - E x ), donde W = 1 si X gana y W = 0 si X pierde.
¿Cómo cambiaría el cálculo para E x y W dado más de dos jugadores?
algorithm
multiplayer
ranking
fbrereto
fuente
fuente
Respuestas:
Según lo sugerido por el enlace superior en mi búsqueda de Google (se eliminó la rotura del enlace, el sitio aún está disponible en WayBackMachine en http://web.archive.org/web/20130308190719/http://elo.divergentinformatics.com/ ), podría calcule los cambios individuales en la calificación Elo de un jugador (sus valores R) y luego sume para proporcionar el cambio total que se aplicará a la calificación de cada jugador.
es decir, si tiene 4 jugadores (A, B, C, D), calcule el cambio en la calificación de A (R-sub-a-sub-new) de sus puntajes contra B, C y D, y luego ajuste la calificación de A El total de los valores R calculados.
fuente
Encontré un documento con código fuente PHP de un método similar a la respuesta de fnord aquí: http://elo-norsak.rhcloud.com/3.php Creé una implementación php de propósito más general aquí: https://github.com/ FigBug / Multiplayer-ELO Lo estoy usando con mi grupo de juegos de mesa, y hasta ahora parece estar funcionando bien.
El cálculo de Ex y W se mantendría igual. En lugar de usar una K de 32, usa una K de 32 / (#players - 1). Luego, mira cada permutación de 2 jugadores y calcula (32 / (#players - 1) * (W - Ex)). Entonces RxNew es igual a RxOld + Suma de todos los valores que acabas de calcular.
fuente
eloChange += round($K * ($S - $EA));
sino redondear solo después de todos los cálculos al configurareloPost