Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / ELO-Differenz-Einschätzungs-GUI
- - By Benno Hartwig Date 2012-01-20 08:00
Wenn ich eine Engine z.B. bei 10min/Partie recht oft gegen z.B. Houdini 2.0 spielen lasse, erhalte ich einen Schätzwert für die ELO-Differenz zwischen der Engine und Houdini.

Es würde ja schneller gehen, und ggf. wäre der Schätzwert sogar noch zuverlässiger, wenn die GUI Folgendes leisten würde:
je nach bisherigem Ergebnis reduziert sie in der nächsten Partie die Zeit für Houdini so, dass ungefähr gleiche Spielstärken entstehen können.

Ich denke, bei großen Spielstärkeunterschieden wäre das sinnvoll. Wenn das zu erwartende Ergebnis ansonsten sowas wie 3:97 wäre, dann hat die Zufälligkeit für die einzelne Partie halt so einen besonders großen Einfluss auf die ELO-Zahl. Da erscheinen mir vermehrt Begegnungen mit ungefähr gleichen Chancen aussagefähiger.
Allerdings braucht es dann eine gute Abschätzung, wie die Spielstärke von der Zeit abhängt. "Verdopplung bringt durchschnittlich 65 ELO!" oder sowas, gern auch was komplizierteres.

Benno
Parent - - By Kurt Utzinger Date 2012-01-20 09:01
[quote="Benno Hartwig"]
Wenn ich eine Engine z.B. bei 10min/Partie recht oft gegen z.B. Houdini 2.0 spielen lasse, erhalte ich einen Schätzwert für die ELO-Differenz zwischen der Engine und Houdini.

Ist nichts als normal

Es würde ja schneller gehen, und ggf. wäre der Schätzwert sogar noch zuverlässiger, wenn die GUI Folgendes leisten würde:
je nach bisherigem Ergebnis reduziert sie in der nächsten Partie die Zeit für Houdini so, dass ungefähr gleiche Spielstärken entstehen können.

Was für ein witziger Vorhaben. Wenn Houdini dadurch stärkemässig so gedrosselt wird, dass die schwächer Engine ebenbürtig ist, kann es ja keine Elo-Differenz mehr geben.

Ich denke, bei großen Spielstärkeunterschieden wäre das sinnvoll. Wenn das zu erwartende Ergebnis ansonsten sowas wie 3:97 wäre, dann hat die Zufälligkeit für die einzelne Partie halt so einen besonders großen Einfluss auf die ELO-Zahl. Da erscheinen mir vermehrt Begegnungen mit ungefähr gleichen Chancen aussagefähiger.

Diese Denkweise kann ich nicht nachvollziehen. Wenn mit dieser Methode schliesslich alle immer auf dem selben Level spielen, dann kann man sich die Partien ebenso gut sparen, bzw. auf das Spielen lassen überhaupt verzichten.

Allerdings braucht es dann eine gute Abschätzung, wie die Spielstärke von der Zeit abhängt. "Verdopplung bringt durchschnittlich 65 ELO!" oder sowas, gern auch was komplizierteres.

Benno
[/quote]
Parent - By Benno Hartwig Date 2012-01-20 09:25
[quote="Kurt Utzinger"]Was für ein witziger Vorhaben. Wenn Houdini dadurch stärkemässig so gedrosselt wird, dass die schwächer Engine ebenbürtig ist, kann es ja keine Elo-Differenz mehr geben[/quote]Aber wenn die Engine gegen Houdini ausgeglichen spielt, wenn Houdini nur ein Viertel der Zeit hat, dass könnte daraus die Schätzung resultieren, dass die Engeine bei gleichen Zeiten 2*65 ELO = 130 ELO schwächer ist. Sowas möchte ich

Ggf. müsste die GUI lieber nicht Houdini durch kürzere Zeiten schwächen, sondern automatisch eine andere Engine der passenden Spielstärke auswählen.
Der Zeitvorteil geht dann zwar verloren, dafür wird vermutlich der ELO-Schätzwert besser.

Eine 'automatische Spielstärkeeinschätzungs GUI für Engines beliebiger Stärke' schwebt mir halt vor.
Eine die letztlich nicht mit 97:3-Teilergebnissen hantiert.

Benno
Parent - - By Patrick Götz (Mod.) Date 2012-01-20 12:03
Den Wunsch hatte ich auch mal, das eine GUI die Zeiteinteilung so regelt, das sich die Engines ebenbürtig sind.
Aber aus anderem Grund: es wäre nämlich interessant zu wissen welche Zeiteinsparung eine stärkere Engine gegenüber eine schwäche Engine bringt und ob sich die Vermutung Zeitverdoppelung=ca. +60 Elo allgemein bestätigen würde.

Gruß
Patrick
Parent - - By Kurt Utzinger Date 2012-01-20 13:24
[quote="Patrick Götz"]
Den Wunsch hatte ich auch mal, das eine GUI die Zeiteinteilung so regelt, das sich die Engines ebenbürtig sind.
Aber aus anderem Grund: es wäre nämlich interessant zu wissen welche Zeiteinsparung eine stärkere Engine gegenüber eine schwäche Engine bringt und ob sich die Vermutung Zeitverdoppelung=ca. +60 Elo allgemein bestätigen würde.

Gruß
Patrick
[/quote]

... aber wie soll eine GUI denn das regeln, da zu Beginn jeden Enginesmatches die Stärkeverhältnisse noch unbekannt sind?

Mfg
Kurt
Parent - By Benno Hartwig Date 2012-01-20 14:04 Edited 2012-01-20 14:07
[quote="Kurt Utzinger"]... aber wie soll eine GUI denn das regeln, da zu Beginn jeden Enginesmatches die Stärkeverhältnisse noch unbekannt sind?[/quote]Nach und nach. Zum Beispiel folgedernaßen:

Sie beginnt erstmal mit gleichen Zeiten.
Und je nach Zwischenergebnis überlegt sie sich eine Houdini-Zeit für die kommende Partie.  Solange Houdini nur gewinnt, werden die Houdinizeiten einfach jeweils halbiert.
Klar: du bekommst viele Partien gegen Houdini mit verschiedenen Houdini-Zeiten.
Jede Houdini-Zeit lässt sich (so mein frecher Ansatz) zu einer ELO-Zahl dieses Houdini-Zeit-Gespannes verrechnen.
Und die für die Engine dann daraus aktuell errechnete ELO-Zahl liefert wieder die nächste Houdini-Zeit. (so ganz grob an das Schweizer System erinnernd)

Benno

PS:
Eine Schwachstelle ist vermutlich, dass man nur ungefähr weiß, wieviel ELO Houdini verliert bei z.B. 1/8-Zeit.
Darum mein spätere Vorschlag, stattdessen dynamisch andere, schwächere Engines aus der Liste zu wählen.
Parent - By Benno Hartwig Date 2012-01-20 14:14
[quote="Patrick Götz"]es wäre nämlich interessant zu wissen welche Zeiteinsparung eine stärkere Engine gegenüber eine schwäche Engine bringt [/quote]Aus vielleicht nicht unähnlichen Gründen hatte ich mal vorgeschlagen, die Top-Engine (heute wohl Houdini 2.0) auf guter Standardhardware (z.B. ein 64bit-i7) mit Blitzbedingungen an menschlichen Turnieren mitspielen zu lassen, wobei die Menschen echte Turnierbedingungen (40 Züge in 2 Stunden oder so) haben.
Wo kann die Engine dann landen? Wagt wer eine Schätzung?

"Wo würde sie landen gegen andere Engines?" könnte man aber genauso fragen.
Damit es durchführbar wird vielleicht lieber statt "5min+1sec gegen 40züge/120min" ein "1min+0,2sec gegen 40züge/24min"

Benno
Parent - By Peter Martan Date 2012-01-20 14:16
Tatsächlich mache ich das anstelle des GUIs ständig so, Benno.
Ich gebe z.B. Stockfish schon ruhig mal das dreifache an Zeit wie Houdini, einfach um interessantere Varianten dadurch zu bekommen.
Das mit dem Umrechnungsfaktor sehe ich ebenso problematisch wie die Elo- Berechnung selbst, das hängt so sehr von der Stellung ab, dass du mit einem fixen Faktor meiner Meinung nach keine Chance hast.
Das trifft natürlich auch für jedes manuell wählbare Verhältnis zu, mir geht's ja allerdings eben nicht um die Ergebnisse, sondern um die Züge, die sind variabler als mit einer engine allein und auch variabler als mit zwei ebenbürtigen, insbesondere, wenn sie ähnlich ticken, wenn die Zeiten der einen und der anderen differenter sind.
Ich lasse das dann oft gar nicht bis zum Ende ausspielen oder schaue jedenfalls nur die ersten paar Züge von der Startstellung aus an, der Rest ist in der Regel klarer Weise sowieso uninteressant.
Von manchen Stellungen aus lasse ich (das geht dann halt nicht mehr im Fritz, im Shredder schon für einzelne Partien) die eine engine, z.B. auch eine mit abgedrehtem Nullzug oder überaggressiven Parametern mit einem Zeitvorteil von 5 Minuten pro Zug gegen Houdini mit 10 Sek. spielen, das meistens dazu, typische engine- Fehler bei kurzen Bedenkzeiten aufzudecken, besser gesagt, aufdecken zu lassen, der langsameren engine Gelegenheit zu geben, "Strategien" dagegen zu entwickeln. Oft sagt es ja mehr in einer Stellung, was für Fehler wie zu bestrafen sind, als welches der einzige absolut beste Zug ist. Eine Art einseitiges Monte Carlo sozusagen oder auch eine eigene Dreihirn- Spielart, wenn man so will. Die länger rechnende engine bekommt mehr Gelegenheit, gute Züge in den hash zu sammeln und die schnellere darf das dann im backward solving nachbeurteilen, das dritte Hirn ist also sozusagen der gemeinsame hash.
Wechselt man auf diese Art die Seiten ab, können Lerndateien auch durchaus mehr helfen, scheint mir.
Parent - By Frank Brenner Date 2012-01-20 19:14
Ein großes Körnchen einer guten Idee ist darin enthalten.

Leider kann keine GUI die Zeiteinteilung so exakt justieren dass die Engines alle gleich stark spielen. Aber die exakte Justage ist auch überhaupt icht erforderlich, ebenfalls ist es überhaupt nicht erforderlich
den "Elowert" für die Verdopplung der Bedenkzeit zu ermitteln (Dieser ist sowieso Engine- und Zeitabhängig und ist keine universale Konstante)

Wir können uns folgendes Szenarium vorstellen:

Es gibt einige Engines (A-Engines) zb Houdini, Critter, Kommodi, Stockfish, Rybka und wenige mehr,  deren exaktes Rating von Interesse ist. Diese Top Engines spielen mit 1-facher Bedenkzeit.

Dann gibt es noch eine Reihe von Engines (B-Engines) die deutlich schwächer spielen: Junior, Shredder, Crafty, Fritz, Fruit, usw...  Diese Engines bekommen dann die 1.5 fache, 2, 3, ... oder n fache Bedenkzeit und dienen lediglich dafür um die Spielstärke der A-Engines möglichst genau zu ermitteln. Die Spielstärke der B-Engines werden dabei nur inklusive dem Multiplikator berechnet. Die "netto" Spielstärke - also Multkiplikatorbereinigt-  bleibt nur grob Schätzbar.

Der Vorteil:  Insgesamt ist die Streuung der Spieltsärke dann nicht so groß und die Elo-Zahl der A-Engines konvergiert schneller. Eine Engine die bei 1-facher Bedenkzeit sagen wir nur 8% gegen Houdini erreichen würde, würde dann mit n-facher Bedenkzeit  vielleicht 35% erreichen. 

Wir brauchen die B-Engines um eine breite, unterschiedliche Gegnerschaft zu haben.

Problem ist nur Permanentbrain - das müsste abgeschaltet werden.
Up Topic Hauptforen / CSS-Forum / ELO-Differenz-Einschätzungs-GUI

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill