Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Engine-Bruderkämpfe
- - By Benno Hartwig Date 2011-04-30 20:17
Gibt es eigentlich Erfahrungen zu folgender Frage:

Wenn eine Engineversion gegen eine bunte Gegnerschaft x ELO-Punkte mehr erreicht als die Vorgängerversion,
und man lässt dann diese beiden Versionen dieser Engine ganz oft gegeneinander antreten (Bruderkämpfe),
- sind dann auch ca. x ELO als Differenz zu erwarten?
- oder ein größerer Wert?
- oder ein kleinerer?

Benno
Parent - By Kurt Utzinger Date 2011-04-30 20:44
[quote="Benno Hartwig"]
Gibt es eigentlich Erfahrungen zu folgender Frage:

Wenn eine Engineversion gegen eine bunte Gegnerschaft x ELO-Punkte mehr erreicht als die Vorgängerversion,
und man lässt dann diese beiden Versionen dieser Engine ganz oft gegeneinander antreten (Bruderkämpfe),
- sind dann auch ca. x ELO als Differenz zu erwarten?
- oder ein größerer Wert?
- oder ein kleinerer?

Benno
[/quote]

Hallo Benno
Keine Ahnung, ob es darüber Erfahrungen gibt. Ich würde aber annehmen, dass die Differenz zwischen
den beiden Versionen derselben Engine nicht x ELO betragen wird, sondern eher kleiner ist.
Mfg
Kurt
Parent - - By Frank Quisinsky Date 2011-05-01 14:58
Hallo Benno,

dazu hatte ich ja etwas in dem längeren Text geschrieben, den ich gestern gepostet habe.
Bin mir ziemlich sicher das es unerheblich ist ob es ein Brüderkampf ist oder ob es ein Zweikampf gegen eine andere Engine ist.

Hierzu habe ich ein achter Experiment vor ca. einem Jahr gemacht mit Pseudo Ergebnisse.

Experimentierte mit 4.000 Partien pro Engine.

Zwei Engines gegeneinander, spielen 4.000 Partien.
Drei Engines gegeneinander, spielen insgesamt 4.000 Partien.
Vier Engines
Fünf Engines
Bis 30 Engines hoch, aber immer ca. 4.000 Partien pro Engine.

Die Frage die es zu beantworten galt war ...
Wie hoch ist die Abweichung bei x Gegner im Vergleich zu einem einzelnen Zweikampf mit 4.000 Partien.

Dieses Experiment habe ich 8x wiederholt.

Ergebnis ca. sofern noch im Kopf (Durchschnittswerte):

2 Engines, je 4.000 Partien = waren knapp 150 ELO maximale Abweichung im Vergleich als wenn 30 Engines gegeneinander und dann je Engines ca. 4.000 Partien.
3 Engines = knapp 140 ELO (immer zu den gleichen 30 Gegnern)
...
bei 25 Engines = 7 ELO
bei 26 Engines = 6 ELO
bei 27 Engines = 6 ELO
bei 28 Engines = 6 ELO
bei 30 Engines = 5 ELO

Aber bei ...
20 Engines = 19 ELO

Das heißt, das bei 20 Engines die gegeneinander antreten und zum Beispiel je 100 Partien spielen, das Ergebnis ungenauer ist als bei 25 Engines die gegeneinander antreten und z. B. nur 50 Partien spielen. Das Ergebnis wird also genauer durch mehr Gegner und nicht durch mehr Partien.

Ob jetzt User X einen Wettkampf von nur 100 Partien zwischen Rybka 3 und Rybka 4 startet, oder 5.000 Partien zwischen Rybka 3 und Rybka 4 spielen läßt, spielt dann auch noch eine Rolle die aber nicht mehr so entscheidend ist (Anzahl der Partien). Fest steht, dass selbst nach 4.000 Partien zwischen Rybka 3 und Rybka 4 der ermittelte ELO-Wert bis zu 150 ELO abweichen kann weil schlicht und ergreifend nur ein Gegner für die beiden Engines zur Ermittlung des Ratings herangezogen wurde. Schon aus dem Grund machen solche Vergleiche nur dahingehend Sinn um festzustellen ... ist im direkten Vergleich der Vorgänger oder Nachfolger stärker oder schwächer. Rückschlüsse auf eine wirklich aussagekräftige ELO sind nicht daraus zu erzielen, es sei denn der eigene Anspruch geht sehr großzügig mit den Rückschlüssen um.

Oder ...

Dem gemeinen User X interessieren nur 4 Engines. Er läßt diese gegeneinander antreten bzw. spielen diese 4 eine enorme Menge an Partien gegeneinander. Selbst wenn diese 4 je 1333x gegeneinander jeweils gespielt hätten, wäre das Endergebnis im Vergleich zu ... es wären 4.000 Partien gewesen gegen 30 unterschiedliche Gegner noch um 81 ELO ungenau, wie gesagt unabhängig von der Anzahl der Partien die bei der Konstallation von 4 Engines dann bei ca. 1.200 (die vier spielten also je 400x gegeneinander) egal wird. Damit meine ich, ob diese vier dann 400x oder 1000x gegeneinander gespielt hätten, wäre hinsichtlich des Endergebnisses egal.

Gruß
Frank

Diese Experimente kannst Du einfach mit Pseudo-Partie Datenbanken nachvollziehen, denke nicht das dahinter irgend eine Zauberkunst steckt.
Parent - - By Frank Quisinsky Date 2011-05-01 15:33
Hi Benno,

noch kurz:
z. B. der Eintrag 171 in meinem NewsTicker. Schaue auf Komodo 1.3 x64. Ist ein gutes Beispiel zur ErrorBar die nie stimmte. Die Error Bar ist einfach nicht genau genug und kann auch nicht alle möglichen Beeinflussungsfaktoren miteinbeziehen. Von Partie Nummer 170 - 750 verlor Komodo 1.3 50 ELO, spielt aber stabil ... wie im Grunde 98% aller anderen SWCR engines auch nach maximal 520 Partien.

Mein ermittelter Optimalwert bei einer Ratingliste wenn die ELO nur in 1/100 getesteten Fällen um mehr als +-7 abweichen sollte wäre:

25 Gegner
je 50 Partien
= 1.250 Partien

1.250 Partien sind notwendig bei dem Anspruch das nur in einem von 100 Fällen die erzielte ELO tatsächlich um mehr als maximal +-7 vom Endergebnis abweicht. Leider spiele ich bei der SWCR 40 Partien Matches. Kann ich heute nicht mehr ändern

Bei den Einzelwettkämpfen im Vorbeitrag ... sprach auch immer von Maximal Abweichungen.
Optimal wäre es es die ErrorBar neu aufzubauen.

Wichtigster Faktor ist und bleibt die Anzahl der Partien:

1. Anzahl der Partien
2. Anzahl der Gegner
3. Remisquote
4. Durchschnittle ELO der Gegner

5. Zügedurchschnitt sofern ohne Aufgabefaktor

Diese Faktoren müssen bei der Berechnung der ErrorBar einfließen!
Programmiertechnisch vielleicht mit % Werten.

1. Anzahl der Partien 45% Gewichtung
2. Anzahl der Gegner (ja nach Anzahl der Gegner dann von 1% - 35%) Gewichtung
3. Remisquote (10% Gewichtung)
4. Durchschnittliche ELO der Gegner (10% Gewichtung)

Bei Bayesian liegt die Bewertung der Remisquote offensichtlich zu hoch. Bei ELOstat fehlt die Bewertung offenbar komplett. Bei beiden fehlen offenbar die Bewertungen hinsichtlich Anzahl der Gegner.

Insofern, die optimale ELO-Auswertung haben wir nicht und kein Programm gibt uns bei einem Engine Zweikampf eine Error Bar aus bei dem berücksichtigt wird, dass ja nur zwei Engines gegeneinander spielen.

Richtig wäre z. B. folgende Ausgabe

Rybka 3 - Rybka 4 500 Partien
200,0 : 300,0 = 12/148
Rybka 3 = 2.900 ELO
Rybka 4 = 2.960 ELO

wobei 12 bedeutet ... auf 12 ELO genau im Vergleich zwischen den Engines
wobei 150 bedeutet ... 150 ELO könnte die Abweichung betragen im Vergleich zu mindestens 30 unterschiedlichen Gegnern.

Insofern könnte es auch zu dem Ergebnis kommen

150 : 350
Die jetzigen Auswertungsprogramme gaukeln uns vor das die Engines 150 auseinander liegen, tatsächlich sind es aber nur 60. Das meine ich damit, denn das Traumergebnis von 200:300 wird eher selten zu Stande kommen, auch ein Thema von Lieglings-Engines oder Angstgegner je nach Sichtweise.

Früher gab es mal ein ganz krasses Beispiel:
Fritz 7 hatte ganz erhebliche Probleme gegen Gromit (heute Anaconda) bei damals längeren Zeitkontrollen. Spielte viele Serien zwischen den Engines von 50 Partien und Fritz gewann zwar die Matches aber nur sehr knapp. Verlor sehr viele Partien sehr schnell, kam mit dem Spielstil von Gromit nicht klar. Dennoch trennten die beiden Engines ca. 200 ELO.

Gutes Beispiel heute:
Houdini 1.5 - IvanHoe B47 bei längeren Zeitkontrollen.
Siehe z. B. SWCR oder lasse einen Wettkampf mit Ponder durchführen und nehme längere Zeitkontrollen. Houdini hat ganz erhebliche Probleme ist aber ca. 50 ELO stärker und wird den Wettkampf vermutlich verlieren. Bin mir nicht sicher habe derzeit nur 30 Partien und 20 die ich zuzüglich letzte Woche haben spielen lassen.

Glaube hier steht es Houdini 1.5 - IvanHoe B47 23 : 27
Wobei das auch noch ein Zufall sein könnte ...

Ganz schwierige Themen und solche Fragen sind nur zu beantworten mit Pseudo Partien in einer Datenbank.
Bin mir aber nicht im klaren darüber ob es so einfach möglich ist mit Pseudo Partien zu arbeiten auch wenn ich 8x wiederholt habe und die Ergebnisse bis auf +-2 8x gleich waren.

Gruß
Frank
Parent - By Frank Quisinsky Date 2011-05-01 15:59
Hi,

einer noch

Was ganz bitter beim Computerschach ist, das Ideen kopiert werden.
Bitter hinsichtlich den Auswertungen!
Auffällig wenn "Alt gegen Neu" spielt.
Und die ELOs geraten ins Schwimmen weil mehr Angstgegner vorhanden sind.

Gehen wir mal davon aus, dass LMR / Null Move ganz erheblich dazu beitragen, dass sich die Spielstärke der Engines in den letzten Jahren programmiertechnisch stark verbessert hat. Mehr weg von hinderlichen Schachwissen ... Fruit Thesen ... hin zur Vereinfachung und spekulativen Algorithmen.

Wir müssten hier jetzt eigentlich unterteilen:
Moderne Engines
Ältere Engines

Moderne Engines:
Sind die, die mit einfachen Mitteln Wissen nutzen was es früher in der Form noch nicht gab. Nach kurzer Entwicklungszeit wird die Spielstärke von Ruffian 2.1.0 erreicht.

Ältere Engines:
Sind die, die ohne modernes Wissen mit anderen Mitteln verstärkter versuchten die Spielstärke nach oben zu treiben.

Ein ChessTiger wird gegen Houdini und Rybka, IvanHoe, Critter und Stockfish mehr Punkte einfahren als eine "Moderne Engine". Würde ChessTiger 2007 z. B. nur gegen die TOPs spielen, mehr und mehr Packungen kassieren aber dennoch mehr Punkte als moderne machen, würde die ELO ca. 20-30 ELO höher liegen, als wenn ChessTiger 2007 gegen Engines aus der Zeit der eigenen Veröffentlichung getestet worden wäre.

Mithin ist ChessTiger ein Angstgegner für Houdini weil das Programm spezielles Wissen hat und mehr Remispartien produzieren kann. Trotz 450 ELO Differenz tatsächlich gaukeln uns die Berechnungsprogramme, in diesem Fall richtig, vor, dass es vielleicht nur 350 ELO sind.

Mit anderen Worten:
Gehen wir in die Zukunft und davon aus, dass Hiarcs 13.2 stehen geblieben wäre. Keine neue Hiarcs 13.2 Version.

In 4 Jahren hätten die Engines auf Ratinglistenplatz 1-10 ca. 200 ELO mehr wie heute. Also ca. 3.200 ELO durchschnittlich. Hiarcs im Vergleich sollte doch immer noch 2.750 haben, hat aber dann 2.800 ELO.

Wir sprechen heute bei GM Ratinglisten von Inflation der ELOs. Es gab noch nie so viele Spieler über 2.700 und es werden jedes Jahr mehr. Das ist nur die halbe Wahrheit, denn die andere Wahrheit ist, dass Spieler von heute mehr und mehr Schachwissen haben. Dinge auf die es ankommt höher bewerten dadurch aber auch vielleicht das eine oder andere übersehen.

Viele Grüße
Frank
Parent - By Ernest Bonnem Date 2011-05-01 17:35
[quote="Benno Hartwig"]Gibt es eigentlich Erfahrungen zu folgender Frage:[/quote]
Es ist üblich zu sagen, daß Engine 2xZeit (oder doppelt GHz) ungef. +70 Elo (oder +50 bis +70 Elo) mehr gegen eine bunte Gegnerschaft kriegt, als Engine 1xZeit (oder originell GHz).
Aber gegen sich selbst geht das anders: die Unterschiede sind vergrößert!
Ich habe mal DeepRybka3 4'+2" gegen DeepRybka3 2'+1" 400 Spiele gemacht
(2CPU mit Core2 Duo @3GHz, 64-bit, no ponder, Buch Scheidl 5moves.ctg)
Ergebnis war:
+162 -25 =213 also 268.5 - 131.5 oder 67.1% (+126 Elo)

+126 Elo ist ein großer Bonus, wenn man es mit +70 Elo vergleicht!
Up Topic Hauptforen / CSS-Forum / Engine-Bruderkämpfe

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill