Een Elo-rating is een getalsmatige aanduiding van de sterkte van een speler. Het wordt het meest gebruikt in schaken, dammen en go, maar kan in principe gebruikt worden bij elke sport waarbij spelers 1 tegen 1 spelen.

Het wiskundige systeem is gebaseerd op de methode van en:Pairwise comparison en praktisch uitgewerkt door de Amerikaanse natuurkundige en schaker Árpád Élő.[1][2][3] In hoofdstuk 8 Rating System Theory[4] verwijst Elo naar Good 1955, David 1959, Trawinski en David 1963, en Buhlman en Huber 1963.

Onafhankelijk en bijna tegelijkertijd hebben Gyorgy Karoly en Roger Cook een systeem ontwikkeld op basis van dezelfde principes voor de New South Wales Chess Association (Cook en Hooper 1969).[5]

Elo-ratings kunnen lopen van ongeveer 700 tot bijna 2900.

Methode

bewerken

Ratingtabel

bewerken

Árpád Élő constateerde op grond van statistisch onderzoek dat de verdeling van speelsterktes van schaakspelers lijkt op een normaalverdeling. Aansluitend op het bestaande ratingsysteem van de USCF koos Élő voor een klasse-indeling van C = 200 punten. De klasse-indeling wordt gelijkgesteld aan de standaardafwijking σ van de spelerperformance. De standaardafwijking van een wedstrijd tussen twee spelers wordt: σ = 200√2. Op basis van deze verdeling legde hij een relatie tussen ratingverschil en winstkans. Deze relatie ziet er in tabelvorm zo uit:

Percentage-Verwachting tabel[6]
   D         P         D        P          D        P 
Rtg.Dif.   H  L     Rtg.Dif.  H   L     Rtg.Dif.  H   L

  0-3    .50 .50    122-129  .67 .33    279-290  .84 .16
  4-10   .51 .49    130-137  .68 .32    291-302  .85 .15
 11-17   .52 .48    138-145  .69 .31    303-315  .86 .14
 18-25   .53 .47    146-153  .70 .30    316-328  .87 .13
 
 26-32   .54 .46    154-162  .71 .29    329-344  .88 .12
 33-39   .55 .45    163-170  .72 .28    345-357  .89 .11
 40-46   .56 .44    171-179  .73 .27    358-374  .90 .10
 47-53   .57 .43    180-188  .74 .26    375-391  .91 .09

 54-61   .58 .42    189-197  .75 .25    392-411  .92 .08
 62-68   .59 .41    198-206  .76 .24    412-432  .93 .07
 69-76   .60 .40    207-215  .77 .23    433-456  .94 .06
 77-83   .61 .39    216-225  .78 .22    457-484  .95 .05

 84-91   .62 .38    226-235  .79 .21    485-517  .96 .04
 92-98   .63 .37    236-245  .80 .20    518-559  .97 .03
 99-106  .64 .36    246-256  .81 .19    560-619  .98 .02
107-113  .65 .35    257-267  .82 .18    620-735  .99 .01
114-121  .66 .34    268-278  .83 .17    over735 1.00 .00

Deze door Elo ontworpen tabel is opgebouwd met 200(10/7) als benadering van 200√2.[7][8]

De tabel wordt door de FIDE nog steeds gebruikt (tabel 8.1b).[9]

Stel dat het ratingverschil tussen twee spelers gelijk is aan 300. Delen door σ geeft een Z-score van 1,05. Volgens de cumulatieve normaalverdeling geeft dit een winstkans van 0,8531, afgerond 85%. Een veel voorkomende lineaire benadering van deze tabel wordt gegeven door P(D) = 50% + D/4C.[10]

Elo-ratings zijn alleen vergelijkend en zijn uitsluitend geldig binnen de ratinggroep waarin ze zijn berekend. Een Elo-rating is geen absolute maatstaf voor de sterkte van een speler.

Prestatierating (Rp)

bewerken

Vaak wordt bij een toernooiuitslag voor elke deelnemer de prestatierating Rp vermeld, die aangeeft op welk ratingniveau deze heeft gepresteerd. De Rp wordt berekend uit de score en de gemiddelde rating van de tegenstanders.[11][12][13][14]

Rp = Ra + D(P).

Ra is de gemiddelde tegenstanderrating. P de gerealiseerde score uitgedrukt in % van de maximale score. D(P) het ratingverschil op basis van de ratingtabel.

Lijstprestatierating (LPR)

bewerken

De KNSB berekent een prestatiemeting, de Lijst Prestatie Meting,[7] op basis van individuele uitslagen.

De LPR is die rating waarvoor zou gelden dat het totaal van de te verwachten scores (Wx op basis van de LPR) het totaal van de werkelijk behaalde scores het dichtst benadert. Hierbij wordt bij een 0% of 100% score één fictieve “remise tegen zichzelf” (Ro) toegevoegd.

Een berekende ratingverandering kan worden gelimiteerd door de LPR.

De LPR kan zonder iteratie benaderd worden door het bijsturen van een bestaande rating te combineren met de lineaire benadering van domain [-50%, 50%] naar bereik [-2C, 2C]:[15]

Rp = R0 + ((W - We) / N) x 4C, waarbij N = de maximale score uit N partijen, C = Elo klasse interval. 4C = het aantal ratingpunten dat overeenkomt met 100%.

Regels voor de beginrating

bewerken

Als nieuwe spelers nog geen rating hebben dan wordt de beginrating (R) bepaald op basis van de tot nu toe gespeelde partijen en de rating van de tegenstanders volgens de formula van de prestatierating (Rp). De FIDE voegt aan de gespeelde partijen twee hypothetische remises toe tegen rating 1800.

Een alternatief is de lineaire variant van de prestatierating.

R = Ra + 2C(W - L)/N, waarbij W, L, N respectievelijk het aantal gewonnen, verloren, totaal aantal gespeelde partijen zijn.[16]

Dit kan ook worden geschreven als

R = Ra + D(P), waarbij D(P) bepaald wordt door een lineaire benadering D(P) = (P - 50%)4C.

Bijsturen van een bestaande rating

bewerken

Om na een aantal gespeelde partijen de rating aan te passen wordt aan de hand van de winstverwachting de verwachte score berekend. Deze wordt vergeleken met de daadwerkelijke score. Met dit verschil wordt in een formule de toe of afname van de rating bepaald. Men gebruikt doorgaans de volgende formule:

EloWinst = K*(W-We), met W de uitslag van de partij, en We de verwachte score, vastgelegd volgens tabellen en formules.

Om traagheid of instabiliteit te voorkomen, moet de K factor zorgvuldig gekozen worden. Een rol spelen: ervaring (gespeelde partijen), speelsterkte(rating) of uitzonderlijke prestatie.[17] In België (en nog een aantal andere landen) telt deze formule pas vanaf 5 partijen. Daarvoor wordt een ander systeem gebruikt.[18]

Voorbeeld

Vladimir Kramnik speelde mee in het Wereldkampioenschap schaken 2007 in Mexico. Zijn FIDE-rating voor het toernooi was 2769. De gemiddelde rating van zijn tegenstanders was 2749. Zijn winstkans was 0.528. Het toernooi ging over 14 partijen, zijn verwachte score was 7.39. Kramnik scoorde 8 punten. Zijn nieuwe rating wordt dan als volgt berekend:

Nieuwe rating(2775) = Oude rating(2769) + ( score(8) - verwachte score(7.39)) * K-factor(10).

De K-factor

bewerken

De K-factor, ook wel verversingsfactor genoemd, is een door de berekenende organisatie vastgestelde coëfficiënt die meestal afhangt van de rating en het aantal gespeelde partijen. Een overwinning op een even sterke tegenstander veroorzaakt een ratingwijziging gelijk aan de K-factor.

Implementatiedetails kunnen per bond verschillen. Zo is het ook mogelijk om ratingverschillen cumulatief per partij te berekenen, hetgeen een iets nauwkeuriger rating oplevert.[18]

K-factor USCF 1967

bewerken
K = 45 voor de eerste 100 partijen gespeeld tegen een speler met rating. Of
K = 30 indien de rating hoger is dan 2200.
K = 30 voor de volgende 200 partijen. Of
K = 20 indien de rating hoger is dan 2400.

Daarna

K = 20.[3]

K-factor in België

bewerken

De K-factor is een factor die vermenigvuldigd wordt met je winst- of verlieskansen om zo je respectievelijke elowinst of -verlies te bereken. Hoe hoger de waarde, hoe vlugger je elo verandert. In België heb je de volgende waarden.[18][19]

Elo Aantal partijen K-factor
- ≤5 andere berekening
- 6-100 32
- 101-300 24
≤ 2000 >300 16
> 2000 >300 12
> 2200 >300 10

K-factor volgens FIDE

bewerken

De FIDE berekent ook elo's, maar volgens een ander systeem.[9] We noemen dit dan ook de FIDE-elo's. De Fide bepaalt de K-factor als volgt:

K = 40 voor een speler die nieuw is op de ratinglijst totdat hij evenementen heeft voltooid met ten minste 30 wedstrijden.
K = 20 zolang de rating van een speler onder de 2400 blijft.
K = 10 zodra de gepubliceerde rating van een speler 2400 heeft bereikt en daarna op dat niveau blijft, zelfs als de rating onder de 2400 daalt.
K = 40 voor alle spelers tot het einde van het jaar van hun 18e verjaardag, zolang hun rating onder de 2300 blijft.

De limitering van de K-factor

bewerken

Als het aantal partijen (n) voor een speler op een lijst voor een ratingperiode vermenigvuldigd met K (zoals hierboven gedefinieerd) meer is dan 700, dan is K het grootste gehele getal zodat K x n niet groter is dan 700.

K-factor volgens USCF

bewerken

De USCF definieert de K-factor door

 

waarin (m) het aantal gespeelde partijen in de ratingperiode is. (Ne) is het effectief aantal partijen waarop de rating van de speler is gebaseerd. Zie voor verdere details:[20][21].

K-factor volgens de FMJD

bewerken

De FMJD bepaalt de K-factor als volgt:

K = 25 voor een speler die nieuw is op de ratinglijst totdat hij evenementen heeft voltooid met ten minste 30 wedstrijden.
K = 15 zolang de rating van een speler onder de 2400 blijft.
K = 10 zodra de gepubliceerde rating van een speler 2400 heeft bereikt en daarna op dat niveau blijft, zelfs als de rating onder de 2400 daalt.

Ook toernooien met een kortere bedenktijd worden geaccepteerd door het FMJD-classificatiesysteem. Als de bedenktijd minstens 3 uur per wedstrijd is, wordt de ontwikkelingsfactor K in de ratingberekening teruggebracht tot 50% van de normale factor.[13]:Annex 9.

De frequentie van de ratingbepaling is éénmaal per jaar per 1 juli. De actuele ratings worden bijgehouden in Toernooibase. Zie: Tussentijdse ratingranglijsten.

In onderstaande tabel is Rp de prestatierating gebaseerd op de score tegen de gemiddelde rating van de tegenstanders, R0 de rating op de voorafgaande ratingdatum. N0, N is het aantal gespeelde wedstrijden tot aan de ratingdatum, in de ratingperiode respectievelijk.

R0 N0 N Rp - R0 Factor (*)
Géén rating óf < 25 Andere berekening
- < 125 > 30 ≥ 100 Andere berekening
- < 125 ≥ 10 ≥ 200 K = 12
≥ 150 K = 11
≥ 100 K = 10
- < 125 K = 7.5
- ≥ 125 K = 5

(*) De KNDB factor is tweemaal zo klein als de vergelijkbare schaakfactor. De omrekening van winscore (2 punten) naar een 100% winstverwachting is verwerkt in de K-factor.

De betekenis van de K-factor

bewerken

Elo stelde een eenvoudige methode voor om de ware sterkte van een speler te bepalen door middel van continue aanpassingen op basis van gespeelde wedstrijden.[22] De ratingwijziging is evenredig, met een factor K, aan het verschil tussen de werkelijke score (W) en de verwachte score (We). De nieuwe rating wordt bepaald door

Rn = R0 + K(W-We).[3]

De K-factor bepaalt hoe we verleden en heden afwegen. Een lage K geeft meer gewicht aan prestaties uit het verleden. In het volgende voorbeeld laten we het effect van de K-factor op de ratingontwikkeling nader zien.

De nieuwe rating (Rn) is ongeveer gelijk aan de ratingprestatie (Rp) berekend over de gespeelde wedstrijden in de ratingperiode, bijvoorbeeld N = 5 in het onderstaande voorbeeld, aangevuld met Ne = (4C/K - N) fictieve remises tegen de eigen rating.

Stel K = 32, N = 5, N + Ne = 4C / K, Ne = 20, R0 = 1613.

Het klasse interval C = 200 is geworteld in traditie van de De Amerikaanse Schaakfederatie.[23] In dit voorbeeld weegt het verleden 4 keer zo zwaar als het heden. Als K is ingesteld op 10 dan wordt de verhouding tussen heden en verleden N = 5 op Ne = 75.

Uitgangspunt van het Elo-ratingsysteem is dat de ratingaanpassingen relatief klein zijn. Het is de bedoeling dat de nieuwe rating Rn tussen R0 en de prestatierating Rp ligt. Daarom mag het aantal wedstrijden in de ratingperiode niet groter zijn dan 4C/K. Voor K = 32, 10 is dit respectievelijk 25, 80.

K-factor voorbeeld: Rn ≈≈ Rp
R0 =1613 Elo Elo 800 Lin A400
Pl Rc N W D P(D) We P(D) We Rp
S0 1613 20 10 0 50,0% 10,00 50,0% 10,00 0
S1 1609 1 ½ 4 50,6% 0,51 50,5% 0,51 0
S2 1477 1 ½ 136 68,3% 0,68 67,0% 0,67 0
S3 1388 1 1 225 78,5% 0,78 78,1% 0,78 400
S4 1586 1 1 27 53,8% 0,54 53,4% 0,53 400
S5 1720 1 0 -107 35,4% 0,35 36,6% 0,37 -400
1601,600 25 13,0 285=∑D 12,8647 12,8563 400/25
P = 52,00% P = 52,00%
D(P) = 14,330 D800(P) = 16

Nu geldt het volgende:

RnElo   = 1617,33 = 1613 + 32(13,000 – 12,8647).
RnP800 = 1617,60 = 1613 + 32(13,000 – 12,8563).
RpD800 = 1617,60 = 1601,600 + 16.
RpElo  = 1615,93 = 1601,600 + 14,330.

Omdat de verwachtingscurve tussen -300 en +300 bijna lineair is, geldt:

RnElo ≈≈ RnD800 == RpD800 ≈≈ RpElo, berekend over bovenstaande 25 wedstrijden.

De "16 ± 4%" regel valt samen met de ratingprestatie van de lineaire benadering.

Rn16 ± 4% = 1617,60 = 1613 + 16(1 - 0) + 4%(-285).

Percentage verwachtingsfunctie

P(D) = norm.dist(D, 0, 2000 / 7, cumulatief).
D(P) = norm.inv(P, 0, 2000 / 7), P strikt tussen 0 en 100%.

Lineaire benadering ( "algoritme van 400")

P800(D) = D / 4C + 50%, richtingscoëfficiënt = 1 / 4C, startgetal = 50%.[15]
D800(P) = (P - 50%)4C.

Geschiedenis

bewerken

De Amerikaanse Schaakfederatie (United States Chess Federation) voerde in de jaren 50 een ratingsysteem in, ontworpen door Kenneth Harkness. Dit systeem voldeed niet helemaal. In 1960 ging de USCF over op het systeem van Elo, die overigens veel van dat van Harkness had overgenomen.[1] In 1970 werd het overgenomen door de FIDE en sindsdien heeft vrijwel elke schaakbond het toegepast.

De USCF 16 ± 4% regel

bewerken

In de beginfase van het nieuwe USCF ratingsysteem werd de nieuwe rating bepaald door:[24][25][2][16]

Rn = R0 + 16 (W-L) + 4% (∑-D).

Rn and Ro zijn respectievelijk de nieuwe en oude rating.
W en L zijn het aantal winst- en verliespartijen.
D is het ratingverschil tussen speler en tegenstander.

De 300 punten regel .

Er is een belangrijke beperking dat niemand D met 300 punten mag overschrijden bij het maken van de sommatie van de D's. Ieder verschil dat groter is dan 300 wordt behandeld alsof het 300 was.

Dit beschermt een speler tegen het verliezen van ratingpunten terwijl hij wint van een speler ver beneden zijn niveau op de ratingschaal (of omgekeerd ratingpunten winnen door te verliezen).

Bovenstaande formule is een speciale vorm van de meer algemene uitdrukking

Rn = R0 + K (W-L)/2 - K (∑D)/4C, met K = 32.

De term (W-L)/2 is de score ten opzichte van: 0 score = 50%. ∑D/4C is de verwachte score volgens: 4C ratingpunten = 100%.

Deze formule kan ook geschreven worden als

Rn = R0 + K(W-We).

Hierin is We is de verwachte score op basis van de lineaire benadering van de verwachtingsfunctie. In deze formule is W de werkelijke score.

Pas in het definitieve voorstel uit augustus 1967 zien we voor de eerste keer de iconische formule:

Rn = R0 + K(W-We).[3]

Echter in de bovenstaande formule is We de verwachte score op basis van de normale verdeling, en niet de lineaire benadering daarvan. De 300-regel is overbodig geworden en wordt niet meer genoemd.

Toepassingen

bewerken

Wat schaken betreft wordt de feitelijke berekening op internationaal niveau uitgevoerd door de FIDE en de ICCF en op nationaal niveau door de landelijke schaakbond, in Nederland de KNSB en in België de KBSB. Elke organisatie die een rating berekent, gebruikt een andere verzameling spelers en partijen, en een andere ratingperiode. De FIDE-rating dient wat betreft de hoogte enigermate als ijkpunt. Daardoor zijn ze onderling tot op zekere hoogte vergelijkbaar. Wel zijn er verschillen in de exacte wijze waarop nieuwe uitslagen in de diverse ratings worden verwerkt.

Ook de Vlaamse Tafeltennisliga (VTTL) gebruikt het elo-systeem op haar resultatenwebsite - zij het louter indicatief.

Er is ook een Elo-wereldranglijst van landenteams in het voetbal.

Relatieve ratings

bewerken

Als er toernooiresultaten bekend zijn over een langere periode, dan kunnen relatieve ratings worden vastgesteld, ook als spelers niet tegen elkaar hebben gespeeld. Elo werkt dit uit (R5), op basis van de onderstaande kruistabel. De data bestaan uit 342 partijen gespeeld tussen 1846 en 1862.[26]

R5 Player A Ha Ho K L M P S W W
Wins
P
Pct.
D(P)
552 Anderssen 10½ 10½ 5 4 5 4 40½ .513 10
518 Harrwitz 14½ 16 0 21 64 .542 30
406 Horwitz ½ 11½ 1 1 11 32½ .378 −90
516 Kolisch 3 17 32 .500 0
505 Lowenthal 3 11 5 2 11 36½ .474 −18
695 Morphy 13 10½ 38½ .726 171
502 Paulsen 4 19 25½ .447 −44
508 Staunton 1 7 20 0 11 39 .591 66
425 Williams 6 8 10 33½ .399 −72
514 Losses:L 38½ 54 53½ 32 40½ 14½ 31½ 27 50½ 342

Aantal gespeelde partijen per speler: N = W + L. Pct = W / N.

Voor het aanpassen van de relatieve rating van een speler hanteert Elo de volgende formule:

 

Rp is de eigen rating en Rc de gemiddelde rating van de tegenstanders, gewogen per gespeelde partij.

De relatieve rating wordt nu door successieve benaderingen berekend:

  1. Wijs aan alle spelers één initiële rating Ri toe, groot genoeg om tijdens de iteratie positief te blijven.
  2. Vind voor iedere speler de D(P) op basis van het werkelijke scoringspercentage P en de relatie tussen winstkans en ratingverschil.
  3. Bereken vervolgens voor iedere speler de eerste correctie R1 op basis van regel (E1), met Rc = Ri.
  4. Bepaal vervolgens voor iedere speler het gewogen gemiddelde van de tegenstanderratings Rc1.
  5. Bepaal de tweede benadering op basis van formule (E1), met Rc = Rc1.
  6. Vervolg de berekening totdat de berekende ratings weinig veranderen.

Deze methode convergeert niet bijzonder snel.

Relatieve ratings gaan terug tot Thurstone (1927),[27] en Zermelo (1928).[28] Een overzicht van de ontwikkelingen in dit gebied vindt men in.[29]

Berekening relatieve ratings

bewerken

De relatieve ratings kunnen beschouwd worden als het nulpunt van de meer dimensionale functie:

 

Hierin is W de rij van werkelijke scores, We(x) de rij van de verwachte scores als functie van x, en x de rij van ratings. Het nulpunt van deze functie bestaat[28], en kan met iteratieve methodes efficiënt worden bepaald.[30]

De betrouwbaarheid van ratings

bewerken

Verschillen tussen werkelijke score W, en verwachte score We kunnen getest worden, onder de aanname dat de verschillen |W - We| normaal verdeeld zijn:

  1. percentage spelers met |W - We| ≤ 0,6745 * σ is groter dan 50% (8 spelers).
  2. percentage spelers met |W - We| ≤ 1 * σ is groter dan 68,3% (11 spelers).
  3. percentage spelers met |W - We| ≤ 2 * σ is groter dan 95,6% (16 spelers).

Als voorbeeld kiest Elo[31] de grootmeestergroep van het Hoogovens Schaaktoernooi, editie 1975.

37e Hoogovens Schaaktoernooi, Wijk aan Zee 1975, Grootmeestergroep
Player R W Da P(Da) We W - We PE 1.σ 2.σ
Lajos Portisch 2635 10,5 101 0,64 9,74 0,76
Vlastimil Hort 2600 10,0 66 0,59 8,94 1,06
Jan Smejkal 2600 9,5 66 0,59 8,94 0,56
Lubomir Kavalek 2555 9,0 21 0,53 7,98 1,02
Svetozar Gligoric 2575 8,5 41 0,56 8,46 0,04
Robert Hübner 2615 8,5 81 0,61 9,26 −0,76
Gennadi Sosonko 2470 8,5 −64 0,41 6,06 2,44 * *
Walter Browne 2550 8,0 16 0,52 7,82 0,18
Jefim Geller 2600 8,0 66 0,59 8,94 −0,94
Jan Timman 2510 8,0 −24 0,47 7,02 0,98
Semyon Furman 2560 7,0 26 0,54 8,14 −1,14
Kick Langeweg 2410 6,5 −124 0,33 4,78 1,72 *
Hans Ree 2470 5,5 −64 0,41 6,06 −0,56
Jan Hein Donner 2485 5,0 −49 0,43 6,38 −1,38 *
Frans Kuijpers 2445 4,0 −89 0,38 5,58 −1,58 *
Luben Popov 2460 3,5 −74 0,40 5,9 −2,4 * *
Gemiddeld 2534 61 0,58 σ = 1,91

De kolom Da is het verschil tussen de eigen rating en de gemiddelde rating van de groep, 2534 in dit voorbeeld. Het gemiddelde verschil |Da| van alle spelers is ongeveer gelijk aan Da = 61 ratingpunten. De daarbij behorende winstkans is P(Da) = 58%. Aannemende dat de score binomiaal verdeeld is, dan is de variantie gelijk aan 15 × 58% × (100% - 58%) = 3,56. De standaardafwijking σ = 1,91 is de wortel hieruit. De waarschijnlijke fout (PE) is gelijk aan 0,6745 * 1,91 = 1,29. Elo schat de PE op 1,27 op basis van het ratingverschil tussen Portisch en Popov. Statistisch verwachten we 8 verschillen |W - We| groter dan de waarschijnlijke fout. In werkelijkheid is dit aantal maar 5. We mogen verwachten dat 15 × (100% - 68%) = 5 uitslagen buiten de standaardafwijking vallen, maar dit aantal beperkt zich tot 2. Alle uitslagen vallen binnen 2 × σ. Hieruit concludeert Elo dat de scores van het toernooi ruim binnen de statistische toleranties vallen.

bewerken

Bronvermelding

bewerken