Benutzer:Mediator/Tests/ELO

Aus chessmail Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

ELO: Erwartungswert

Im folgenden ein Beispiel für das Auswerten mathematischer Ausdrücke unter chessmail-wiki:

Partie: Spieler A vs. Spieler B

  • bisherige ELO-Zahl Spieler A: ra := {{#vardefineecho: ra|2806}}
  • bisherige ELO-Zahl Spieler B: rb := {{#vardefineecho: rb|2577}}

dif(rb-ra){{#vardefine: dif | {{#expr: ({{#var:rb}} - {{#var:ra}}) }} }} div400{{#vardefine: expo | {{#expr: ({{#var:dif}}/400) }} }} 10 ^ expo: {{#vardefine: y1 | {{#expr: 10^{{#var:expo}} }} }} (1 + y1) : {{#vardefine: n | {{#expr: 1 + {{#var:y1}} }} }}


  • Erwartungswert für Spieler A: ra:= {{#vardefineecho: erwa | {{#expr: {{#var:n}} }} }}
  • Erwartungswert für Spieler B: rb:= {{#vardefineecho: erwb | {{#expr: 1 - {{#var:erwa}} }} }}

Spieler A (als Gewinner der Partie){{#vardefine: spa1 | 1 }} {{#vardefine: erwb | {{#expr: {{#var: spa1}} - {{#var:erwa}} }} }} * k (CONST){{#vardefine:k|10}} * neue Elo-Zahl von Spieler A:{{#vardefine: nra| {{#expr: {{#var: ra}}+ {{#var: k}} * ({{#var: spa1}} - {{#var:erwa}}) }} }}

  • neue (dynamisch berechnete) ELO-Zahl: {{#expr: {{#var:nra}} round0 }}

{{#vardefine: mELOquotient | {{#var: mELOquotient400}}}} Beispiel: Player 1 gewinnt gegen Player 2:

  • mELOquotient := {{#var: mELOquotient400}} (const.)
  • Player1 (ELOwert alt) := {{#var: mPlayer1ELOwertalt}}
  • Player2 (ELOwert alt) := {{#var: mPlayer2ELOwertalt}}
  • Erwartungswert für Player 1 := {{#vardefineecho: erwa | {{#expr: 1 / (1 + 10^( ({{#var: mPlayer2ELOwertalt}} - {{#var: mPlayer1ELOwertalt}}) / {{#var: mELOquotient}} ) ) round5}} }} (gerundet)
  • Player1 (ELOwert neu) := {{#vardefineecho: mPlayer1ELOwertneu | {{#expr: {{#var: nra}} round0 }} }} (gen.)

Beispiel 1

Tabelle 1:
Beispiele zur ... q := {{#var: mELOquotient}}
Name ELO (alt) Erwartungswert ELO (Sieg) dif. ELO (Remis) dif. ELO (Niederl.) dif. ++++
Spieler A {{#var: mPlayer1ELOwertalt}} {{#expr: {{#var: erwa}} round5 }} {{#vardefine: player1result | 1 }}{{#vardefineecho: mPlayer1SiegELOwertneu | {{#expr: {{#var: mPlayer1ELOwertalt}} + 10 * ({{#var: player1result}} - {{#var: erwa}}) round0 }} }} {{#vardefineecho: mPlayer1SiegDif| {{#expr: {{#var: mPlayer1SiegELOwertneu}} - {{#var: mPlayer1ELOwertalt}} }} }} {{#vardefine: player1result | 0.5 }}{{#vardefineecho: mPlayer1RemisELOwertneu | {{#expr: {{#var: mPlayer1ELOwertalt}} + 10 * ({{#var: player1result}} - {{#var: erwa}}) round0 }} }} {{#vardefineecho: mPlayer1RemisDif | {{#expr: {{#var: mPlayer1RemisELOwertneu}} - {{#var: mPlayer1ELOwertalt}} }} }} {{#vardefine: player1result | 0 }}{{#vardefineecho: mPlayer1NiederlELOwertneu | {{#expr: {{#var: mPlayer1ELOwertalt}} + 10 * ({{#var: player1result}} - {{#var: erwa}}) round0 }} }} {{#vardefineecho: mPlayer1NiederlDif | {{#expr: {{#var: mPlayer1NiederlELOwertneu}} - {{#var: mPlayer1ELOwertalt}} }} }}  
Spieler B {{#var: mPlayer2ELOwertalt}} {{#expr: (1 - {{#var: erwa}}) }} {{#expr: {{#var: mPlayer2ELOwertalt}} - {{#var: mPlayer1SiegDif}} }} {{#expr: (-1)*{{#var: mPlayer1SiegDif}} }} {{#expr: {{#var: mPlayer2ELOwertalt}} - {{#var: mPlayer1RemisDif}} }} {{#expr: {{#var: mPlayer2ELOwertalt}} - {{#var: mPlayer1RemisDif}} }} {{#expr: {{#var: mPlayer2ELOwertalt}} - {{#var: mPlayer1NiederlDif}} }} {{#expr: (-1)*{{#var: mPlayer1NiederlDif}} }}  
Differenz {{#expr: {{#var: mPlayer1ELOwertalt}} - {{#var: mPlayer2ELOwertalt}} }}  

Hinweis: die einzelnen, neuen Berechnungswerte wurden entsprechend gerundet.


Beispiel 1

{{#vardefine: mELOquotient | {{#var: mELOquotient400}}}}{{#vardefine: erwa | {{#expr: 1 / (1 + 10^( ({{#var: mPlayer2ELOwertalt}} - {{#var: mPlayer1ELOwertalt}}) / {{#var: mELOquotient}} ) ) }} }}

Tabelle:
Beispiele zur ELO-Berechnung (historisch, q := {{#var: mELOquotient}})
Spieler/ELO   Sieg Remis Niederlage  
Name (alt) Erwartungswert ELO:(neu) Dif. ELO (neu) Dif. ELO (neu) Dif.  
Spieler A {{#var: mPlayer1ELOwertalt}} {{#expr: {{#var: erwa}} }} {{#vardefine: player1result | 1 }}{{#vardefineecho: mPlayer1SiegELOwertneu | {{#expr: {{#var: mPlayer1ELOwertalt}} + 10 * ({{#var: player1result}} - {{#var: erwa}}) round0 }} }} {{#vardefineecho: mPlayer1SiegDif| {{#expr: {{#var: mPlayer1SiegELOwertneu}} - {{#var: mPlayer1ELOwertalt}} }} }} {{#vardefine: player1result | 0.5 }}{{#vardefineecho: mPlayer1RemisELOwertneu | {{#expr: {{#var: mPlayer1ELOwertalt}} + 10 * ({{#var: player1result}} - {{#var: erwa}}) round0 }} }} {{#vardefineecho: mPlayer1RemisDif | {{#expr: {{#var: mPlayer1RemisELOwertneu}} - {{#var: mPlayer1ELOwertalt}} }} }} {{#vardefine: player1result | 0 }}{{#vardefineecho: mPlayer1NiederlELOwertneu | {{#expr: {{#var: mPlayer1ELOwertalt}} + 10 * ({{#var: player1result}} - {{#var: erwa}}) round0 }} }} {{#vardefineecho: mPlayer1NiederlDif | {{#expr: {{#var: mPlayer1NiederlELOwertneu}} - {{#var: mPlayer1ELOwertalt}} }} }}  
Spieler B {{#var: mPlayer2ELOwertalt}} {{#expr: (1 - {{#var: erwa}}) }} {{#expr: {{#var: mPlayer2ELOwertalt}} - {{#var: mPlayer1SiegDif}} }} {{#expr: ((-1)*{{#var: mPlayer1SiegDif}}) }} {{#expr: {{#var: mPlayer2ELOwertalt}} - {{#var: mPlayer1RemisDif}} }} {{#expr: ({{#var: mPlayer2ELOwertalt}} - {{#var: mPlayer1RemisDif}}) }} {{#expr: ({{#var: mPlayer2ELOwertalt}} - {{#var: mPlayer1NiederlDif}}) }} {{#expr: ((-1)*{{#var: mPlayer1NiederlDif}}) }}  
Differenz :=  {{#expr: ({{#var: mPlayer1ELOwertalt}} - {{#var: mPlayer2ELOwertalt}}) }}  

Hinweis: die einzelnen, neuen Berechnungswerte wurden entsprechend gerundet.

Beispiel 2

{{#vardefine: mELOquotient | {{#var: mELOquotient250}}}}{{#vardefine: erwa | {{#expr: 1 / (1 + 10^( ({{#var: mPlayer2ELOwertalt}} - {{#var: mPlayer1ELOwertalt}}) / {{#var: mELOquotient}} ) ) }} }}

Tabelle:
Beispiele zur ELO-Berechnung (chessmail, q := {{#var: mELOquotient}})
Spieler/ELO   Sieg Remis Niederlage  
Name (alt) Erwartungswert ELO:(neu) Dif. ELO (neu) Dif. ELO (neu) Dif.  
Spieler A {{#var: mPlayer1ELOwertalt}} {{#expr: {{#var: erwa}} }} {{#vardefine: player1result | 1 }}{{#vardefineecho: mPlayer1SiegELOwertneu | {{#expr: {{#var: mPlayer1ELOwertalt}} + 10 * ({{#var: player1result}} - {{#var: erwa}}) round0 }} }} {{#vardefineecho: mPlayer1SiegDif| {{#expr: {{#var: mPlayer1SiegELOwertneu}} - {{#var: mPlayer1ELOwertalt}} }} }} {{#vardefine: player1result | 0.5 }}{{#vardefineecho: mPlayer1RemisELOwertneu | {{#expr: {{#var: mPlayer1ELOwertalt}} + 10 * ({{#var: player1result}} - {{#var: erwa}}) round0 }} }} {{#vardefineecho: mPlayer1RemisDif | {{#expr: {{#var: mPlayer1RemisELOwertneu}} - {{#var: mPlayer1ELOwertalt}} }} }} {{#vardefine: player1result | 0 }}{{#vardefineecho: mPlayer1NiederlELOwertneu | {{#expr: {{#var: mPlayer1ELOwertalt}} + 10 * ({{#var: player1result}} - {{#var: erwa}}) round0 }} }} {{#vardefineecho: mPlayer1NiederlDif | {{#expr: {{#var: mPlayer1NiederlELOwertneu}} - {{#var: mPlayer1ELOwertalt}} }} }}  
Spieler B {{#var: mPlayer2ELOwertalt}} {{#expr: (1 - {{#var: erwa}}) }} {{#expr: {{#var: mPlayer2ELOwertalt}} - {{#var: mPlayer1SiegDif}} }} {{#expr: ((-1)*{{#var: mPlayer1SiegDif}}) }} {{#expr: {{#var: mPlayer2ELOwertalt}} - {{#var: mPlayer1RemisDif}} }} {{#expr: ({{#var: mPlayer2ELOwertalt}} - {{#var: mPlayer1RemisDif}}) }} {{#expr: ({{#var: mPlayer2ELOwertalt}} - {{#var: mPlayer1NiederlDif}}) }} {{#expr: ((-1)*{{#var: mPlayer1NiederlDif}}) }}  
Differenz :=  {{#expr: ({{#var: mPlayer1ELOwertalt}} - {{#var: mPlayer2ELOwertalt}}) }}  

Hinweis: die einzelnen, neuen Berechnungswerte wurden entsprechend gerundet.

Meine Werkzeuge
Namensräume

Varianten
Aktionen
chessmail Wiki
Schachserver
Informationen
Werkzeuge