Hallo Benno
[quote="Benno Hartwig"]
Wenn eine Engine um eine ELO-Differenz stärker ist als eine andere Engine, dann berechnet sich der Erwartungswert der Erfolgsquote ja nach der Formel
ErwQuote = 1 / (1 + 10^(-EloDifferenz/400))(gemäß z.B.
http://de.wikipedia.org/wiki/Elo-Zahl)
Mich hatte nun interessiert, ob Schachcomputer so tatsächlich spielen. Das könnte im Mittel schon so sein. Und vielleicht die meisten erwarten dies.
Es wäre aber auch denkbar, dass sie z.B. häufiger gegen deutlich schwächere Gegner stärker punkten, gegen die annähernd gleichstarken aber weniger als es zu erwarten wäre. (das hatte ich für sehr gut möglich gehalten, war die These, die mich eigentlich interessierte)
Oder eben auch umgekehrt: gemessen an der Erwartung nur mühsames Punkten gegen die Schwachen, erstaunlich erfolgreiches Spiel gegen die Engines, denen sie nur wenig überlegen sind.
Wollte ich mir mal ansehen.
Die Ranglistenbetreiber bieten ja schönes Material (thanx an alle) und ich fing mal mit der IPON-Statistik an.
Herausgekommen ist aber überraschenderweise:
Die x-Achse weist die ELO-Differenzen aus, die y-Achse den Erfolgsquotienten
(200 ; 0.8) bedeutet dann: "bei 200 Elo Vorteil wurde 80% der Punkte geholt."
Die dunkelblauen Punkte sind die Paarungen aus der IPON-Liste.
Die hellblaue Kurve ist eine Trendlinie darüber (Polynom 3. Grades)
Die rote Kurve ist der Zusammenhang, der sich im Mittel gemäß der o.a. ELO-Formel einstellen sollte.
Und überraschenderweise stellte sich dieser dieser Zusammenhang überhaupt nicht ein!
Es gab auch kein
'mal drüber und mal drunter'.
Die realen Werte sind konsequent mehr oder weniger höher als sie 'sein sollten'!
Bei gegebenem ELO-Abstand sind die erspielten IPON-Quotienten (die Erfolge) ein gutes Stück zu groß!
Be gegebenem Quotienten sind die IPON-ELO-Differenzen ein gutes Stück zu klein!
Beispiel: Der Erfolg (ca. 0,785) der gemäß IPON zu 200 ELO-Differenz führt, sollte eigentlich annähernd zu der ELO-Differenz 230 führen.
Irgendwie pass das nicht zu sammen?
* Die Formel, die ich anwandte (s.o.) wird korrekt sein.
* die ELO-Werte, die Ingo in der IPON-Liste errechnet, werden doch mit etablierten Tools gewonnen.
Spontan muss man doch denken, dass irgendwo ein Fehler drin steckt:
* In der ELO-Formel? (na, die stellt doch eher die Definition von ELO dar, oder)
* in der ELO-Generierung in der IPON-Liste? (dank der Standard-Tools glaube ich daran eigentlich auch nicht. Zugegeben, das war trotzdem mein erster Gedanke gewesen.)
* Mein kleines Datensammelprogramm? (wäre peinlich. Es ist aber so simpel, dass ich daran auch nicht glaube!)
* Oder irgendein grundsätzlicher Denkfehler von mir?
Es ist da was falsch!
Aber was genau ist es, was da eigentlich falsch ist? Benno
[/quote]
Ich würde darauf tippen, dass es daran liegt das Bayeselo eben nicht die reine Eloberechnung anwendet!
200 Elo sind 0.7597 die 0.785 wären 224 Elo. Das gibt die Eloformel her.
Bayes und Elostat liefern ja andere Kurven. Hast du das mit meinen Bayeselo verglichen? Deine Formelgrundlage läßt Wahrscheinlichkeiten ausser acht, Bayes nicht (aber das geht weit über meinen Horizont). Ich würde erwarten, das sie eher zur den Elostatergebnissen paßt. Diese Elos sind auch bei mir im Download. Hast du das auch verglichen und sieht das da genauso aus? Ich würde ein deutliches angleichen der Kurven erwarten. Allerdings liegt Elostat bei den Top Engines eher noch höher ... seltsam, muß ich noch drüber nachdenken (oder warten bis einer mit Ahnung hier etwas schreibt
)
Die andere interessante Erkenntniss ist, das man bei einem gegebenen Abstand (100, 150, 200 ...) Elo immer ungefähr ein Rauschen von 0.15 bis 0.18 hat (optisch schwer zu entscheiden). Das zeigt sehr schön welche Abweichungen Tests gegen Einzelengines haben können und was die Vergleiche von 'Ich habe 20/50/100 spiele gegen EINE Engine gespielt und das Ergebniss ist eindeutig' Wert sind!
Gruß
Ingo
By Peter Martan
Date 2011-07-06 08:13
[quote="Benno Hartwig"]
Es ist da was falsch!
Aber was genau ist es, was da eigentlich falsch ist?
[/quote]
Hallo Benno!
Sehr schön hast du das gemacht!
Nicht, dass ich wirklich Ahnung habe, weil Ingo schreibt, auf so einen würde er noch warten, mit Vermutungen kann ich aber schon auch dienen.
Das mit der fehlenden Transitivität (steht schon in Wiki zur Eloformel und Ratingberechnungen allgemein) ist wahrscheinlich ziemlich wurscht, aber
wer sagt, dass das Ganze überhaupt eine Normalverteilung hat? Ich glaub's eigentlich nicht.
Und dann sind die Variablen, die untersucht werden, für mich absolut nicht unabhängig.
Ich meine, du zählst Ergebnisse von Spielen, die alle von Schachstellungen ausgehen, so ähnlich oder verschieden die schachlich sein mögen, die Ergebnisse werden wieder von Stellungen bestimmt, und dazwischen verläuft das immer nach denselben mehr oder weniger komplizierten Regeln, wie sollen die Ergebnisse selbst unabhängige Variablen sein?
Wäre es eine Normalverteilung, wäre der ChiSquare- Test ab Partiezahlen über 40 die gegebene statistische Berechnungsweise, für abhängige Variablen wäre es McNemar. (Ich hab vor Kurzem fälschlich gesagt Wilcoxon Signed Rank, das wäre ja aber nur für metrische Variablen passend.)
Das sind meine noch verbliebenen Reste aus der Statistik- Vorlesung, die ich beitragen kann, wenn du's wirklich wissen willst, wirst du einen echten Statistiker fragen müssen.
Lieber Herr Hartwig,
danke für den sehr interessanten Beitrag und die Diagramme.
Auf etwas anderer Ebene treibt mich dieses Phänomen auch schon seit über
einem Jahr um.
[quote="Benno Hartwig"]
... überraschenderweise stellte sich dieser dieser Zusammenhang überhaupt nicht ein!
Es gab auch kein 'mal drüber und mal drunter'.
Die realen Werte sind konsequent mehr oder weniger höher als sie 'sein sollten'!
Bei gegebenem ELO-Abstand sind die erspielten IPON-Quotienten (die Erfolge) ein gutes Stück zu groß!
So etwas habe ich bei meinen Experimenten auch beobachtet:
Für verschiedene artifizielle einfache Spiele habe ich den Monte-Carlo-
Algorithmus angewandt, mit verschiedenen Simulations-Anzahlen
als Parameter. Sei mit MC(k) der Monte-Carlo-Algorithmus bezeichnet,
der für jeden Zugkandidaten k Simulationen rechnet und sich dann
für den Zug mit dem besten Score entscheidet.
Je grösser das k ist, umso besser ist der Algorithmus.
Für meine Experimente habe ich
2 Million mal MC(1) gegen MC(2) spielen lassen,
und zwei weitere Million Male MC(2) gegen MC(4).
(2 Millionen statt eine 1 Million, weil in der einen Hälfte der
Partien der eine den Anzug hatte und in der anderen Hälfte der andere.)
Aus diesem Ergebnissen habe ich Elo-Ratings für MC(1), MC(2), MC(4)
ermittelt, wobei ich willkürlich MC(2) auf 1.000 gesetzt habe.
Natürlich hatte MC(1) dabei das kleinste Rating und MC(4) das grösste.
Aus diesen Ratings habe ich "vorhersagen" lassen, wie MC(1) gegen MC(4)
abschneiden sollte. Nach der Prognose habe ich dann auch 2 Millionen
Partien zwischen MC(1) und MC(4) spielen lassen. Und siehe da:
MC(4) holte "deutlich mehr" Punkte als vorhergesagt, z.B. in einem Fall
71,0% statt 69,8% der Punkte.
Jetzt mag der eine oder andere sagen, 1% Unterschied sei wie Rauschen.
Es ist aber definitiv kein Rauschen, sondern bei 2 Millionen Partien signifikant.
Also auch in meinen Experimenten die Beobachtung:
Wenn "ganz stark" gegen "ganz schwach" spielt, schneidet
"ganz stark" besser ab als es nach Elo-Zahlen dürfte.
Zitat:
Irgendwie pass das nicht zu sammen?
...
Spontan muss man doch denken, dass irgendwo ein Fehler drin steckt:
* In der ELO-Formel? (na, die stellt doch eher die Definition von ELO dar, oder)
...
Es ist da was falsch!
Aber was genau ist es, was da eigentlich falsch ist?
Es ist in der Tat etwas falsch. Wenn ein Spiel nicht ganz trivial ist,
lässt sich Spielstärke nicht korrekt durch eine einzelne Zahl ausdrücken.
Interessant ist allerdings die Beobachtung, dass Elo, was die vernünftigste
Messung von Spielstärke durch einzelne Zahlen darstellt, die Erfolgsraten
von ganz Starken gegen ganz Schwache unterschätzt.
Bei meinen Experimenten sind die Abweichungen schon kleiner geworden,
wenn ich für jeden Algorithmus zwei Spielstärken ermittelt habe:
* eine für den Fall, Anziehender zu sein
und
* eine andere für den Fall, Nachziehender zu sein.
Aber auch da waren immer noch Unterschiede da.
Ingo Althöfer.