Match Performance in Abhängigkeit der Spielstärke des Gegners
Eine in der Computerschach Szene viel diskutierte Frage lautet:
Ist bei einem engine-engine match zwischen zwei engines mit einem deutlichen Spielstärkeunterschied nicht die stärkere engine schon im Vornhinein benachteiligt?
Menschliche Spieler haben aus Angst vor dem Verlust des einen oder anderen Elo-Punktes oft eine Abneigung gegen deutlich schwächere Gegner zu spielen.
Um der Sache aus dem Grund zu gehen haben wir uns die Ergebnisse der CEGT 40/20 Liste etwas genauer angesehen, die Methode ist recht simpel:
Alle Gegner einer engine wurden in Klassen (Klassifizierung, classification) von annähernd gleicher Spielstärke zusammengefasst *1.
Jetzt wurde jede Spielstärkeklasse als ein einziger virtueller Gegner betrachtet und die Elo-Leistung unserer engine für diese Klasse berechnet. Wir bekommen also für jede Elo Klasse einen Elowert. Hier zum Beispiel die Werte für Fritz 9:
| Klassenspannweite in Elo |
Anzahl d. Spiel | Ø Spielstärke der Klasse |
Elowertung / Preformance |
| 2327-2640 | 813 | 2604 | 2787 |
| 2643-2674 | 800 | 2661 | 2812 |
| 2675-2719 | 830 | 2697 | 2776 |
| 2724-2771 | 843 | 2753 | 2776 |
| 2771-2819 | 923 | 2798 | 2776 |
| 2822-3054 | 1002 | 2913 | 2781 |
Die Tabelle sagt aus:
- 1. Spalte, hier ist die Spannweite der gegnerischen Spielstärke eingetragen.
- 2. Spalte, Anzahl der games für die entsprechende Klasse.
- 3. Spalte, die mittlere Spielstärke der Klasse und die
- 4. Spalte, die erspielte Wertung von Fritz 9 gegen die Klassengegner (performance)
Aus den Wertepaaren der Durchschnittlichen Spielstärke und der Klassen-Performance lässt sich nun ein Kurve zeichnen:
Die Kurve veranschaulicht nun, wie stark hat Fritz 9 gegen Gegner mit unterschiedlicher Spielstärke abgeschnitten hat ( Elo-Leistung auf der Y-Achse, Spielstärke der Gegner auf der X-Achse).
Aus derartigen Werten lässt sich nun ein Trend (Regression) berechnen (in unserem Fall linear) und als Gerade darstellen. Aus dem Diagramm ist nun leicht erkennbar, Fritz Leistung ist über den gesamten Spielstärkebereich relativ konstant
Wer sich an seine Schulzeit erinnert, dem ist sicher noch die „Steigung einer Geraden“ ein Begriff. Die Steigung der Fritzchen Regressionsgeraden beträgt -0,055. Multipliziert man das mit 100 so beträgt die Steigung -5,55 Elo / 100 elo. Das sagt nichts anderes, als dass Fritz 9 gegen einen um 100 Elo stärkeren Gegner durchschnittlich 5,5 Elo schlechter abschneidet als gegen eine gleichstarken.
Fritz 9 dürfte damit sich etwas anders verhalten wie es sich die meisten Computer Schach Freunde vorstellen.
Auswertung aller engines:
Es kamen nur engine in die Auswertung die mehr als 3000 40/20-Spiele auf ihrem Konto haben und die Klassen wurden so gewählt, dass eine Klasse aus mindestens 800 Partien besteht. Insgesamt kamen so 24 engine zur Auswertung (Naturgemäß sind es nicht die top aktuellen engines, denn bis 3000 Partien zusammen gespielt sind dauert es doch etwa, auch beim CEGT).
In der Tabelle sind alle ausgewerteten engines zusammen gestellt. Der engine-Name ist ein Link zu einer Grafik die das Ergebnis (Regressionsgerade) zeigt.
Erwartungsgemäß verhalten sich die engines nicht einheitlich. Es gibt engines die gegen starke Gegner relative gut abschneiden (stark positive Steigung der R.G.) aber auch welche die gegen schwächere besser punkten und dann die engines denen es relativ egal ist ob ein Gegner nun stärker oder schwächer ist, die immer ihre Leistung bestätigen
Jedoch der Mittelwert aller Steigungen liegt bei ca. -6 Elo / 100 Elo. Das bedeute also, dass die meisten engines gegen schwächere engines besser punkten als gegen stärkere.
Angesichts dieser Ergebnisse bleibt noch viel Raum für Diskussion und Spekulation.
Fragen und Anregungen hierzu, bitte im CEGT Forum.
Dez 2007