|
||||||||||||
Gedanken zum Thema Schachprogramm und Elo
Bei der Lektüre einer älteren CSS bin ich mal wieder über die angeblichen Killerbibliotheken einiger Programme gestolpert. Ich möchte das mal für einige Gedanken zum Thema Elo und Schachprogramm nutzen:
Erst einmal, was bedeutet die Elozahl für menschliche Spieler? Die absolute Höhe ist nicht wichtig, es kommt nur auf die Differenz der Ratings zweier Spieler an. Je größer der Unterschied, desto größer die Erwartung auf einen Sieg des stärkeren Spielers. Die Abweichungen zwischen erwarteten und tatsächlichen Ergebnissen führt zu Änderungen der Elozahlen, so dass in der Theorie die aktuelle Spielstärke mit nur geringer Verzögerung auch in den Zahlen dargelegt wird. Wichtig für uns ist die Feststellung, dass die Elozahlen keine Konstanten in der Zeit sind. Und es gibt allgemeine Probleme bei Ratingzahlen. Wie sieht es nun bei Schachprogrammen aus? Bis auf wenige Ausnahmen (z.B. Lernmöglichkeiten) sind die kommerziellen Schachprogramme in ihrer Leistung konstant. Die Version von Programm X zum Zeitpunkt Y rechnet in einer bestimmten Stellung heute genauso wie vor vielen Jahren bei Erscheinen. Es werden dieselben Eröffnungen gespielt und aufgrund der hohen Wiederholbarkeit von Partien auch dieselben Fehler gemacht - bis hin zu Dubletten von Niederlagen. Ich schlabbere jetzt mal die kleinen Abweichungen z.B. durch Lernmöglichkeiten, d.h. ich betrachte die Leistungen von Schachprogrammen als Konstante. Warum aber schwanken die Werte mit der Zeit z.B. in der SSDF-Liste? Bei Schachprogrammen sind die Elozahlen ja nicht a priori bekannt. Sie werden aufgrund von vorliegenden Ergebnissen berechnet und haben eine begrenzte Genauigkeit. Werden jetzt weitere Partien ausgespielt, so beeinflussen sie das Ranking aller beteiligten Programme. Was kann eine Elozahl aussagen und was nicht? Programme haben keine Tagesform. Daher ist die Elozahl nur für Paarungen interessant, die noch nicht ausgespielt wurden. Angenommen, Programme A und B haben dieselbe Elozahl. Ohne weitere Informationen würde ich also einen ausgeglichenen Wettkampf erwarten. Haben die beiden Programme zwar dieselbe Elozahl, ihr Zweikampf hat aber einen Sieger mit +40, -20 und =40 ergeben, wie würdet Ihr die Chancen in einer weiteren Partie angeben? 50% aufgrund der Elozahl oder 60% für den Sieger im Zweikampf? Und warum? ![]() Bei diesen ersten Überlegungen merkt man schon, dass die Elozahl als einzige Kenngröße offenbar die Welt der Schachprogramme nur teilweise beschreiben kann. Aber es gibt eine Zahl und die kann man in einer Liste sortiert angeben. Und wie in der Bundesliga, man kann einem Programm die Daumen drücken und Fan sein. ![]() Es geht noch weiter: Wir haben drei Programme A (160 Punkte aus 300 Partien), B (100/200) und C (140/300) - welches ist das beste, welches sollte die größte Elozahl haben? Nun, A hat zwar 53% der Punkte geholt, B nur 50% und C gar nur 47%, aber wie sieht es mit folgenden Einzelmatches aus? A - B 40 - 60 A - C 120 - 80 B - C 40 - 60 Jedes Programm hat gegen eines 40% und gegen das andere 60% geholt. Da die Programme unveränderlich sind, warum sollten die jeweils zweiten 100 Partien von B anders ablaufen? Damit käme jedes Programm auf 200 Punkte aus 400 Partien, d.h. die Gleichwertigkeit der Programme wird deutlicher. Bedeutet das, dass die unterschiedliche Anzahl von Partien pro Zweikampf keine Rolle spielt? Natürlich nicht. Mit mehr Partien wird der Zweikampf aussagekräftiger, der Fehler geringer. Mit den 400 Partien der drei Zweikämpfe oben ist A gegenüber C um 33 - 108 Elo stärker, B gegenüber A aber um 17 - 124 Elo (jeweils mit 95% Wahrscheinlichkeit). Da die Elozahl ja die Erfolgsaussichten über einen möglichst großen Pool von Schachprogrammen beschreiben soll, müssen die Zweikämpfe, die zur Berechnung dienen, möglichst repräsentativ sein. Hier aber liegt genau das Problem, wie sollen wir im Vorfeld wissen, welche anderen Programme den Pool aller Programme relativ gut vertritt. Ziel sollte es sein, dass sowohl Angstgegner wie auch Lieblingsgegner nicht übermäßig in die Berechnung eingehen. Betrachtet man nun aber z.B. die SSDF-Liste, dann sieht man viele nicht optimal gewählte Paarungen. Zum einen sind viele Wettkämpfe mit 90% oder mehr für einen Gegner ausgegangen. Ein einzelnes remis durch Stellungswiederholung verändert hier den Ausgang gleich sehr stark, bei gleicher Partienzahl sind solche Zweikämpfe mit einer hohen statistischen Unsicherheit verknüpft. Und die Zahl der Lang-Programme ist sehr groß. Als jeweilige Weltmeisterprogramme sind ihre Ergebnisse natürlich interessant. Allerdings wird dadurch das Abschneiden anderer Programme gegen Lang-Programme übergewichtet. Insbesondere wurden die Lang-Programme auch untereinander reichlich angesetzt. Kleine Fortschritte werden so mit vielen Punkten belohnt, vor allem wenn dann Zweikämpfe über viele Partien gehen (z.B. Mephisto Lyon gegen Fidelity Mach III). |
Folgender Benutzer sagt Danke zu Boris für den nützlichen Beitrag: | ||
paulwise3 (06.10.2016) |
|
||||
AW: Gedanken zum Thema Schachprogramm und Elo
Naja zum einen statistisches Rauschen, zum anderen aber eben die von Dir erwähnten Bibliotheken. Die wurden seinerzeit oftmals danach gewählt, daß man nicht etwa übermäßig geniale Züge aufgenommen hat.
Sondern erstens, man merkte, aha, gegen populären Gegner X führt diese Variante letztlich (durch andere, später Fehler!) in einen Verlust. Also sperrt man die Variante. Zweitens merkte man, oho, dieser und jener wichtige Gegner erzeugt nach einer bestimmten Variante eine Verlustpartie. Also nahm man sie auf. Das war halt einer Zeit geschuldet, in der Hersteller die Elozahlen als Werbung benutzen konnten. Für den Benutzer brachte das aber alles recht wenig. Der wäre nämlich statt mit einer aus Imagegründen gegen andere Gegner als ihn wohl eher mit einer breiteren Bibliothek zufrieden gewesen. |
|
||||||||||||
AW: Gedanken zum Thema Schachprogramm und Elo
Meine Frage zielte eher auf den Effekt, dass für die Erstveröffentlichung eines Programms nur wenige Wettkämpfe durchgeführt werden und mit weiteren Wettkämpfen dann Änderungen nach oben wie nach unten auftreten. |
![]() |
|
|
![]() |
||||
Thema | Erstellt von | Forum | Antworten | Letzter Beitrag |
Off Topic: Schachprogramm für Anfänger und Profis? | udo | Die ganze Welt der Schachcomputer / World of chess computers | 0 | 03.05.2016 00:24 |
Frage: Schachprogramm für Amiga A500 | Jockel | Die ganze Welt der Schachcomputer / World of chess computers | 2 | 03.05.2010 22:04 |
Hilfe: Schachcomputer oder Schachprogramm | Aquamarin | Die ganze Welt der Schachcomputer / World of chess computers | 8 | 11.11.2007 21:14 |