Zasady punktacji w Rankingu Open League

Wprowadzenie

Ranking zawodników w Open League jest oparty na rankingu Elo.
Wybraliśmy Elo ze względu na to, że jest to sprawdzony i świetnie nadający się mechanizm do porównywania umiejętności graczy.

Założenia

  1. Każdy zawodnik ma wyjściowy (startowy) ranking np. 1200
  2. Po każdym meczu ranking jest aktualizowany
  3. Zawodnik z wyższym rankingiem ma większe prawdopodobieństwo wygrania meczu
  4. Jeżeli zawodnik z wyższym rankingiem wygra "zabiera" niewielką część rankingu zawodnikowi słabszemu - w odwrotnej zaś sytuacji słabszy "zabiera" mocniejszemu więcej punktów
  5. Suma rankingów zawodników przed i po meczu jest taka sama (ranking przepływa do zwycięzcy)

Jak działa algorytm?

Algorytm aktualizuje ranking na podstawie formuły:

rankingPoMeczu = rankingPrzedMeczem + K * (AktualnyWynik - P)

gdzie:

  • K - współczynnik wagi meczu (im większy tym więcej rankingu będzie przepływać)
  • AktualnyWynik - przyjmuje wartości 1 (wygrana) lub 0 (porażka)
  • P - prawdopodobieństwo wygrania meczu

Aby wyznaczyć P, załóżmy, że mamy 2 zawodników A i B z rankingami rankingA i rankingB.

Niech:

  • PA oznacza prawdopodobieństwo, że zawodnik A wygra mecz
  • PB oznacza prawdopodobieństwo, że zawodnik B wygra mecz

wówczas

Prawdopodobieństwo, że zawodnik A wygra mecz Prawdopodobieństwo, że zawodnik B wygra mecz

Oczywiście suma prawdopodobieństw PA + PB = 1.

Jak to wygląda w OpenLeague?

Ranking startowy

W zależności od poziomu umiejętności przyznawany jest różny ranking startowy.

Przykładowo - w Klubie Sportowym Grzegórzecki najwyższy ranking startowy przyznawany jest dla poziomu Top Pro (1500) a najniższy dla poziomu Junior (1000).
Niżej szczegóły:

Top Pro1500
Pro1400
Zaawansowany1300
Średniozaawansowany wyższy1200
Średniozaawansowany1100
+551200
Kobiety zaawansowany1300
Kobiety średniozaawansowany1100
Debel Pro1400
Debel Zaawansowany1300
Debel Średniozaawansowany1100
Junior1000

Współczynnik wagi meczu K

Wynosi:

  •  8 - dla meczów towarzyskich
  • 16 - dla meczów ligowych
  • 48 - dla meczów pucharowych

Przykłady:

Przykład 1

Mamy 2 zawodników A i B z rankingami rankingA = 1200 i rankingB = 1000 oraz niech K = 16 (mecz ligowy)

wówczas

Prawdopodobieństwo, że zawodnik A wygra mecz Prawdopodobieństwo, że zawodnik B wygra mecz

Możliwe są przypadki, że

  • Wygra zawodnik A i wtedy:
     rankingA = 1200 + 16 * (1 - 0.76) = 1203.84
     rankingB = 1000 + 16 * (0 - 0.24) =  996.16
  • Wygra zawodnik B i wtedy
     rankingA = 1200 + 16 * (0 - 0.76) = 1187.84
     rankingB = 1000 + 16 * (1 - 0.24) = 1012.16

Przykład 2

Mamy tych samych 2 zawodników A i B z rankingami rankingA = 1200 i rankingB = 1000 ale niech K = 48 (mecz play-off)

  • wówczas jeśli wygra zawodnik A i wtedy
     rankingA = 1200 + 48 * (1 - 0.76) = 1211.52
     rankingB = 1000 + 48 * (0 - 0.24) =  988.48
  • a gdy wygra zawodnik B to
     rankingA = 1200 + 48 * (0 - 0.76) = 1163.52
     rankingB = 1000 + 48 * (1 - 0.24) = 1036.48

Powyższe przykłady pokazują wpływ rankingu przed meczem i wyniku meczu na ranking po meczu a także wpływ współczynnika K na wielkość przepływu rankingu.