Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Wie genau ist ein Rating bei 20 Gegnern ... es wird einfacher!
- - By Frank Quisinsky Date 2016-02-22 18:58 Edited 2016-02-22 19:11
Hallo,

unter Berücksichtigung welche Gegner eingepickt wurden!!

Die Frage die offenbar niemand so wirklich mag weil wir ja getrimmt sind auf eine inkorrekte Error zu schauen!
Und weil sich einige nicht trauen Mathematiker anzugreifen.

Wir können bei den neuen Spießroutenläufen gegen 59 Gegner simulieren.

Beispiel:
Wir nehmen beim laufenden Fizbo 1.6 x64 Test-Run einfach die besten 20 Ergebnisse nach ELO (sehen wir in der Round-Robin Tabelle die Shredder produziert) und die 20 schlechtesten Ergebnissen. Fügen die jeweils in eine Datenbank und vergleichen die beiden Ergebnisse miteinander bzw. natürlich auch mit dem Endergebnis gegen 59 Gegner.

Wir haben in beiden Fällen 1.000 Partien, haben in beiden Fällen ein Ergebnis gegen 20 Gegner und werden uns wundern.

Bei 1.000 Partien haben wir eine durchschnittliche Error von ca. 16.0 nach Ordo.
Das heißt, wenn ich genau das simuliere dürften die Ergebnisse der beiden angesprochenen Datenbanken nicht um mehr als 32.0 Elo auseinander gehen.

STOP:
Äpfel mit Birnen ... für Error Berechnung ist die Anzahl der Gegner eine Fremdkomponente die nicht einfließt!

FALSCH:
Wenn wir Äpfel und Birnen über Jahre in einen Topf schmeißen sollte doch die Komponente "Anzahl der Gegner" nicht schädlich sein weil diese Komponente ja unwichtig ist, weil das die Mathematiker nicht gebührend auf dem Schirm hatten.

Natürlich habe ich das schon längst analysiert mit Engines die 59 Gegner hatten.
Und durchschnittlich geht es um 55 Elo auseinander.
Das heißt die Error Ausgabe ist falsch weil Ergo 16 ist +- = 32 und 32 ist nicht 55!
Und je weniger Gegner desto höher wird die 55!!

Das heißt:
Eine Ratingliste produziert ein Ergebnis bei 20 Gegner (Anzahl der Partien spielt dabei dann eine immer kleiner werdende Rolle). Die Liste kommt zu Resultat 2.880 Elo. Tatsächlich sind es aber nur 2.840 weil oftmals Lieblinge drin waren. Die ErrorBar sagt 16 und versagt auf ganzer Ebene. Wir schauen in die Liste und denken OK das ist das Ergebnis. Die Ratinglistenbetreiber denken ... OK, wir haben über 1.000 Partien reicht weil das Rating ist OK ... der nächste Denkfehler. Ganz im Gegenteil ... eine Engine die dann noch um ca. 40 Elo vom tatsächlichen Ergebnis abweicht versaut auch die Ratings der anderen.

Weil Anzahl der Gegner nicht in die Berechnung einfließt.
Verdammt ...

...
Gehe noch einen Schritt weiter ...
Wir können das alles simulieren mit 21 besten und 21 schlechtesten Gegner etc., 22, 23, 24 und stellen immer mehr fest bei wie vielen Gegnern es stabil wird. Auch das habe ich natürlich längst gemacht.
...

Nun habe ich 59 Gegner ... die logische Frage ist ... sind selbst die 59 zu wenige und wie genau wäre das Ergebnis bei 200 Gegnern!
Die Frage kann einfach beantwortet werden.

Mit mehr Partien wird ein Rating genauer aber auch mit mehr Gegner wird ein Rating genauer.
Diese beiden Komponenten müssen ineinander über greifen!

Was mich nach wie vor interessiert ist die Cut ... die Schnittmenge!
X Partien mit X Gegnern sorgen für X Error!

Um dann im finalen Resultat Error wie wir es heute kennen zu ersetzen mit Error (unter Berücksichtigung der Anzahl der Gegner). Diese werde ich mit der neuen FCP Test-Rating Liste berechnen können. Werde dann hierzu eine Seite Online stellen und das in der Elo Berechnung die Error korrigieren!

Dann passt es endlich und der Spuk der inkorrekten Error Berechnung (weil Anzahl der Gegner nicht eingeht) hat ein Ende.

Gruß
Frank

Werde nach dem Fizbo Test-Run mal ein Beispiel Online stellen.
Wird dann alles schön nachvollziehbar weil die Auswahl der besten 20 und schlechtesten 20 so schön in der Shredder Tabelle zu sehen sind.
Wobei Fizbo eine Engine in der Mitte ist und die Ergebnisse von Engines in der Mitte einer Liste immer sehr ausgewogen sind.
Wird hier dann sicherlich nicht mehr als 55 auseinander. Hatte schon Berechnungen da waren es bis zu 80 Elo.

Auch ist der Spielstil für diese Frage von Interesse. Engines die stark in der Eröffnung sind und beim Endspiel abbauen gehen weiter als die durchschnittlichen auseinander.
Klar weil die meisten Partien im Übergang Endspiel entschieden werden.

Oder ...
Je stärker die Engines im Endspiel werden ...
Desto mehr geht die Elo von Spark herunter wenn Spark immer wieder gegen auch aktuelle Engine Versionen antreten muss.

Was uns die Frage beantworten wird ...
Eine Engine die mal vor 3 Jahren in einer Liste 2.600 Elo hatte wird wenn erhebliche Schwächen drin waren in heutigen Tagen vielleicht noch 2.580 haben. Die Elo verändert sich mit den Stärken und Schwächen der Gegner, nicht mit der Anzahl der Partien (völliger y Faktor).

Keine Hexerei ...
Tatsachen!

Umgekehrt ...
Eine Engine die seinerzeit unbekannte Stärken hatte wird 5 Jahre später plötzlich ein klar besseres Resultat erzielen.
Gutes Beispiel ist Zappa ...

Würde Zappa heute gegen 20 aktuelle Gegner z. B. in der CEGT neu aufgenommen werden ...
Die Elo würde um ca. 30 Punkte steigen!

Das ist ein Grund warum ich an alten Ergebnissen nicht festhalten.
Ratinglisten neu erstelle weil die Karten werden einfach neu gemischt.
Parent - - By Frank Quisinsky Date 2016-02-22 19:37 Edited 2016-02-22 19:45
Verrate vorweg noch etwas ...

Die Ausgabe der ErrorBar wird im Grunde erreicht bei 25 Gegnern und 50 Partien pro Gegner!
Oder die ErrorBar ist um Faktor 8 kleiner aus ausgegeben bei z. B. 500 Partien gegen 59 Gegner.
Alles das kann ich schon hochrechnen.

Das hatte ich vor vielen Jahren schon mal in einer Diskussion zu meiner alten Ratingliste hier diskutiert.
Bzw. ich simulierte mit Partien und Gegnern die nicht vorhanden waren und kaum zum Ergebnis knapp 27 Gegner bei 40 Partien.
Nun habe ich die Anzahl der Gegner und die Simulation von einst bestätigt sich.

Die ErrorBar bei gleicher Anzahl von Partien geht herunter wenn es mehr als 26 Gegner sind oder ist höher als tatsächlich ausgegeben wenn es weniger als 26 Gegner sind.

Oder anders nach Hochrechnung:
Eine Liste wurde produziert mit nur 10 Gegnern. Selbst wenn diese 10 Gegner je 1.000x gegeneinander angetreten sind (also 9 Gegner und 9.000 Partien) wird eine Liste mit 40 Engines und nur 30 Partien gegeneinander (sind 39x30 = 1.170 Partien) ein genaueres Resultat zu Tage fördern als Liste 1 mit ca. 7.200 gespielten Partien pro Engine mehr). Einfach wir können wenn solche Daten vorhanden sind immer gegenüber stellen.

Das einzige Gegenargument wird sein ...
Die Liste mit den 10 Gegnern wird natürlich ein genaues Resultat unter diesen 10 Gegnern produzieren aber hat mit der Realität ... es gibt mehr als nur 10 Engines ... nicht viel zu tun.

Wenn sich nun jemand nur für diese 10 Engines interessiert ... OK, dann ist das unrealistischere Rating für diese Person realistischer.
Dagegen sage ich nichts aber das spiegelt die Realität nicht wieder weil wir nur auf Elo schauen weil ja auch nichts anderes da ist worauf wir schauen.

Daher zunächst mal in Ordo die Ausgabe zur Anzahl der Gegner ...
Das ist ein Ansatzpunkt wie eine Ratingliste zu werten ist.
Nun brauchen wir nur noch die Tabelle wie hoch innerhalb des Ratings die Abweichungen sind wenn die Anzahl der Gegner Berücksichtigung findet.
Das werde ich mit einer noch besseren FCP Test Rating Liste sehr bald sehr ausführlich berechnen können.

Gruß
Frank

Perfekt wäre die folgende Situation:
Wir haben eine Datenbank. Enthalten ist Jeder gegen Jeden 50 Partien.

Wir brauchen nun eine GUI die diese Datenbank einlesen kann.

Nun sagen wir ...
Berechne mir das best mögliche Ergebnis was Gaviota in einer Ratingliste bei 20 Gegner, 21, Gegner, 22, Gegner erzielen könnte.
Das Programm wirft die Ratingliste heraus.

Gleiches für ... gebe mir den durchschnittlichen Wert, gebe mir Ratingliste bzw. die 20 Gegner bei der Gaviota am schlechtesten abgeschnitten hat.

Ein solches Programm sollte super sein!
Hatte ich vor ein Tagen in TalkChess angesprochen!
Vielleicht findet sich jemand der Lust darauf hat es zu programmieren.
In der Zwischenzeit werde ich die Datenbank formen.

Denn mit diesen Daten ... ich bin mir sicher ... könnte eine sehr viel genauere Spielstärkeberechnung erfolgen.
Es wäre einfach schön wenn wir was besseres als Elo hätten.
Parent - By Frank Quisinsky Date 2016-02-22 20:03
Ein Mathematiker hat in TalkChess berechnet wie viele Kombinationen es gibt um herauszufiltern ... gegen welche 19 Gegner wird Gaviota das beste Ergebnis erreichen.
Ich antwortete wir müssen mit Tricks arbeiten damit die Ausgabe schnell erfolgen kann ...

Der Trick ist im Grunde simple:
Bei 60 Engines haben wir 59 Gegner also 1.770 mögliche Paarungen.

Für jede dieser Paarungen wird eine Elo errechnet und einer TXT Datei abgelegt.
Eine Textdatei die für jede der 1.770 möglichen Paarungen das jeweilige Resultat ausgibt.
Diese Textdatei kann das Programm notfalls auch selbst vor der Berechnung erstellen.

Das Programm muss nun nur in die Textdatei schauen um in Windeseile die Information zusammenzustellen.
Das sollte innerhalb von wenigen Sekunden gehen.

Mit einem solchen Programm können wir alles hinsichtlich Ausgabe in Spielstärke simulieren.
Uns jede erdenkliche Frage beantworten und könnten es immer weiter treiben ...

Wie stark wäre denn Stockfish wenn wir die vielen schnellen Remispartien ausblenden würden.
Lösche Remispartien unter x Zügen aus der Stockfish Berechnung.

Etc., etc. ...
Es gibt unzählige Ideen die hier einfließen können.

Daher, nach wie vor ...
Wir brauchen eine Statistik GUI als Ergänzung zu dem was wir haben ... die vielen produzierten Partien!
Parent - - By GS Date 2016-02-22 19:58
Frank Quisinsky schrieb:

[...snip...]
Würde Zappa heute gegen 20 aktuelle Gegner z. B. in der CEGT neu aufgenommen werden ...
Die Elo würde um ca. 30 Punkte steigen!
[...snip...]


Da habe ich ganz andere Erfahrungen gemacht.

Ich nehme mal als Beispiel Fridolin 2.00 x64, eine sehr junge Engine.
Diese haben wir für unsere CEGT 40/4 gegen ein sehr breites Teilnehmerfeld,
jung und alt, antreten lassen, siehe:

http://www.husvankempen.de/nunn/40_4_Ratinglist/40_4_single/1251.html.

Und nun rechne mal zusammen, ich habe es intern gemacht.
Das Ergebnis ist, dass Fridolin im Durchschnitt gegen alte/neue Engines genauso
gut/schlecht performed hat !! Im Gesamten sind es keine 5 (!!) Punkte Unterschied
im Durchschnitt. Und wir haben hierbei eine "Alters-Range" von weit über 15 Jahren.

h.a.n.d.
Parent - - By Frank Quisinsky Date 2016-02-22 20:10 Edited 2016-02-22 20:14
Hi Gerhard,

solche Ergebnisse gibt es in der Tat.
Aber es gibt auch die von mir beschriebenen und die sind deutlich in der Überzahl.

Die Statistik Fragen zur ErrorBar etc. sind noch nicht mal die, die mich wirklich beschäftigen.
Die sind nebensächlich.

Die Frage ist warum spielen Engines gegen unterschiedliche Gegner teils mit völlig verrückten Ergebnissen.

Was glaubst Du was passiert wenn ich nur 2 bei den 59 Gegnern vom laufenden Fizbo Test-Run herausrechnen würde.
Das gute Ergebnis gegen Houdini und das gute Ergebnis gegen Minko.
Nur 2 von 59 ...

Ich habe schon so viele Vergleichsberechnungen durchgeführt und hatte schon so oft Kopfschmerzen wenn ich nach den Erklärungen suche.

Ich komme zum Ergebnis das es die unterschiedlichen Spielstile sind.

Wenn alle Engines gleiches Schach spielen würden und die gleichen Stärken und Schwächen hätten dann magst Du Recht haben.
Es wäre shit egal ... ErrorBar wäre korrekt weil die Komponente Anzahl der Gegner keine wäre.

Aber dem ist leider nicht so!
Nicht jeder Schachspieler spielt das gleiche Schach ... sonst würden alle Partien Remis enden.

Gruß
Frank

Wobei ... hatte ich auch schon ... Tatsächlich gab es auch +-5 Elo Abweichungen wenn ich die stärksten und schlechtesten 20 zusammenziehe aber das passiert sehr selten und wie der Zufall es so will ...

Weißt Du was das für Engines sind ...
Die total ausgeglichen in den Spieleigenschaften sind. Die nicht wirkliche Stärken oder Schwächen haben (natürlich immer im Verhältnis zu gleichgesinnten).
Parent - - By GS Date 2016-02-22 21:54
Frank Quisinsky schrieb:

[...snip...]
solche Ergebnisse gibt es in der Tat.
Aber es gibt auch die von mir beschriebenen und die sind deutlich in der Überzahl.
[...snip...]


Und genau das: "...und die sind deutlich in der Überzahl"
ist mir in nun auch nicht sehr wenigen Tests bisher äusserst selten vorgekommen,
genau gesagt in bisher nur einem einzigen Fall !
Möglicherweise liegt das an den unterschiedlichen Testbedingungen ..., jedoch, da
glaube ich auch nicht so recht dran ...

h.a.n.d.
Parent - - By Frank Quisinsky Date 2016-02-22 22:08 Edited 2016-02-22 22:11
Gerhard,

würde bedeuten ... was Du da schreibst.
Alle Engines spielen gleich.

Es gibt keine unterschiedlichen Spielstile ... keine unterschiedlichen Stärken und Schwächen.

OK, wenn 25 Runden vom Fizbo Round Robin durch sind, bringe ich mal die Beispiele nach Runde 25.

Also:

1. Elo Berechnung der kompletten Partien.
2. Elo Berechnung nur gegen die 20 Gegner gegen die Fizbo am besten punktete.
3. Elo Berechnung nur gegen die 20 Gegner gegen die Fizbo am schlechtesten punktete.

Bringe alles in eine Tabelle ...
Wobei Fizbo ist wie gesagt nicht das beste Beispiel.
Die Engine liegt zwar oberhalb der Mitte der 60 Gegner aber grundsätzlich in der Mitte bei einem Rating von 2.840 und einem Rating Durchschnitt aller 60 von 2.812.

Engines in der Mitte einer Liste haben stets das stabilste Rating!

Auf der anderen Seite ... die Engine hat deutliche Probleme im Endspiel.
Fällt also durch eine Schwäche auf bzw. verliert hier überdurchschnittlich viele Punkte.
Diese Programme sind krass ... fallen in solche Statistiken erst Recht auf weil wie gesagt die meisten Partien im Übergang zum Endspiel entschieden werden.

Mal schauen ...
Vergleichen wir dann die Error bei unterschiedlichen 20 Gegnern und gleicher Anzahl von 500 Partien.

Dauert noch ca. eine Stunde ...

Gruß
Frank

Was soll an den Conditions falsch sein?
Das ausgeglichene Buch, das ich ohne Pondern spiele?
Sehe absolut keinen Schwachpunkt in meinen Conditions lasse mich aber gerne belehren.
Parent - - By Frank Quisinsky Date 2016-02-22 22:49 Edited 2016-02-22 22:53
Vorab mal etwas denkwürdiges ... zu einem Posting welches ich davor gesetzt hatte.

SWCR Zappa Ergebnisse nach 4.000 Partien (Ponder = on auf Q9550, 2.86 Ghz mit 40 in 10)
Gut vergleichbar mit doppelt so schneller Hardware (i7 4.0 Ghz) und ohne Ponder bei meiner jetzigen Ratingliste

Code:
SWCR:
87 Zappa Mexico II x64              : 2715.6    1835.5    4000   45.9%

FCP Rating List:
35 Zappa Mexico II x64              : 2748.5   5200   41.0  40.8    7.5  2830.9   11.0  104.0


Ups, in der FCP Rating List hat Zappa ja auch 5200 Partien (lassen wir die Anzahl der Partien mal weg, das ist einfach kein Argument).

Holen wir uns die CEGT Ergebnisse von 40 in 20 hinzu ... zwar ca. nur die Hälfte der Zeit aber egal ...

47 Zappa Mexico II x64 1CPU 2708 10 10 2814 50.4% 2705 43.4%

Also 2708 bei ausreichend Gegnern und 2814 Partien.
Die Gegner bei CEGT sind aber alles alte Engine Versionen, teils noch älter als ich bei der SWCR drin hatte mit 4.000 Partien.

Die Frage ist nun ...

Hat Zappa vielleicht Stärken die gegen modernere Engines ersichtlich werden.
Wir sprechen bei je ausreichender Partieanzahl von 40 ELO Differenzen (FCT zu CEGT) die weit über die jeweiligen ErrorBars liegen.

Selbst bei aller Gutmütigkeit hinsichtlich Beeinflussungsfaktoren ...
Das ist zu viel!
CEGT und FCT Ergebnisse sind zunächst mal nicht angreifbar ... stimmt alles ... Anzahl der Gegner, Anzahl der Partien!

Oder ist es bei Zappa wirklich die extrem gute Optimierung auf Intel Prozessoren?
Ist bekannt ...
Aber wie kann das sein, denn es gab zum Zeitpunkt als Zappa herauskam keinen i7 mit x Prozessoroptimierungen!!

Die Lösung des Rätsels ist so schlicht wie einfach und gar nicht so kompliziert wie wir denken.
Zappa punktete in der Eröffnungsphase besser und im späten Endspiel besser ... im Vergleich SWCR zur FCT Ratingliste ... gegen unterschiedliche Gegner.
Gerade die mehr Punkte im Endspiel bringen der Engine die 30 Elo mehr.

Das heißt entweder ...
Die modernen Engines haben weniger Endspielwissen welches Zappa seinerzeit schon hatte.
oder ...
Das Programm hat spezielles Wissen welches andere Programme nicht haben.

Da bekannter Weise gerade das Endspiel in den letzten Jahren verbessert wurde trifft eher die Aussage 2 zu.

Jetzt versuche ich zu untermauern ...
Ich lösche bei den FCT Zappa Gegnern alles weg was im Endspiel eh nicht gut ist und berechne erneut und siehe da ...
Zappa verliert nur 5 Elo ... ist immer noch über 25 und über die ErrorBar besser als in der SWCR.

Gruß
Frank

Alt mit neu zu mixen ...
Bringt nichts hinsichtlich ich will ein stabiles Rating!
Parent - - By Frank Quisinsky Date 2016-02-22 23:51
Hier also die Auswertung von Fizbo nach Runde 25 ...

Fizbo 1.6 Stark (die 20 besten Resultate, es läuft aus Runde 25 noch eine Partie, daher 499 Partien).
Fizbo 1.6 Schwach (die 20 schlechtesten Resultate, es läuft noch aus Runde 25 eine Partie, daher auch hier 499 Partien).

Code:
  14 Fizbo 1.6 x64 stark              : 2908.9    499   56.5  44.9   24.0  2860.2   11.5   20.0
  28 Fizbo 1.6 x64 schwach            : 2785.9    499   53.3  45.3   22.4  2763.9   11.1   20.0


Wir sprechen von einer Differenz von 123 Elo bei einer ErrorBar von 24.0 oder 22.4 ... nehmen wir 24.0 +- = 48.0
Während die ErrorBar uns 48 vorkaugelt kommt es bei diesem einfachen Beispiel schon zu 123 !!
Sage uns schreibe 75 Elo Unterschied zur ErrorBar !!

Und je weniger Engines es werden (habe jetzt 20 genommen), desto höher wird der Wert, bewegt sich im Durchschnitt bei 20 Gegnern bei etwas 55.
Wir haben hier 75 weil Fizbo die extrem Schwäche Endspiel hat (muss immer berücksichtigt werden, schrieb es davor).

Mit anderen Worten ...
Wenn wir in einer Elo Liste ein Rating sehen, welches gegen 20 Gegner ermittelt wird und wir den Anspruch hegen es genau wissen zu wollen, können wir getrost bei der Error Bar noch mal 75 drauf rechnen weil die Gegner selbst nicht berücksichtigt wurden. Wie gesagt, die ErrorBar stimmt ca. wenn es 26 Engines bei 50 Partien sind.

Hier die komlplette Liste und weiter unten die Einzelergebnisse:

Code:

   # Player                           :    Elo  Games  Score  Draw  Error  OppAvg   OppE   OppD
   1 Komodo 9.3 x64                   : 3185.5   2025   84.7  26.8   15.6  2856.8   11.2   40.8
   2 Stockfish 7 KP BMI2 x64          : 3176.3   2025   84.0  30.0   15.1  2858.2   11.2   40.8
   3 Houdini 4 STD B x64              : 3098.9   2075   77.9  31.7   13.9  2854.6   11.2   41.8
   4 Fire 4 x64                       : 3054.7   1775   71.6  39.9   13.9  2876.3   11.3   35.8
   5 GullChess 3.0 BMI2 x64           : 3050.2   1775   71.3  41.9   13.8  2874.7   11.3   35.8
   6 Equinox 3.30 x64                 : 3005.9   1775   66.1  45.2   13.1  2877.7   11.4   35.8
   7 Fritz 15 x64                     : 2996.2   2000   66.8  43.5   12.5  2862.0   11.1   40.0
   8 Critter 1.6a x64                 : 2995.2   1775   65.0  45.2   13.1  2876.4   11.3   35.8
   9 Protector 1.9.0 x64              : 2954.1   1950   61.6  46.3   12.1  2864.8   11.1   39.0
  10 Nirvanachess 2.2 POP x64         : 2943.0   1975   60.1  46.1   12.1  2865.6   11.3   39.8
  11 iCE 3.0 v658 POP x64             : 2931.3   2025   59.1  44.0   11.7  2862.7   11.3   40.8
  12 Sting SF 6 x64                   : 2925.2   2025   58.3  44.9   11.7  2862.8   11.3   40.8
  13 Andscacs 0.83 POP x64            : 2924.7   1950   57.9  44.6   12.1  2865.5   11.1   39.0
  14 Fizbo 1.6 x64 stark              : 2908.9    499   56.5  44.9   24.0  2860.2   11.5   20.0
  15 Hannibal 1.5 x64                 : 2906.5   2100   57.6  45.0   11.7  2848.8   11.2   42.0
  16 Chiron 2.0 x64                   : 2906.3   2400   60.0  40.3   11.0  2829.5   11.2   48.0
  17 Texel 1.05 x64                   : 2904.9   2074   56.9  42.5   11.9  2853.0   11.3   41.8
  18 Naum 4.6 x64                     : 2890.0   2575   58.9  44.5   10.4  2822.7   11.4   51.8
  19 SmarThink 1.80 AVX x64           : 2852.0   2000   48.8  41.0   11.7  2865.6   11.1   40.0
  20 Senpai 1.0 SSE42 x64             : 2840.7   2800   53.9  43.2   10.0  2814.3   11.2   56.0
  21 Hakkapeliitta 3.0 x64            : 2836.0   2625   51.9  38.5   10.2  2825.6   11.3   52.8
  22 Hiarcs 14 WCSC w32               : 2829.2   2850   52.9  41.3   10.4  2810.9   11.2   57.0
  23 Sjeng c't 2010 w32               : 2811.5   2850   50.7  40.9    9.6  2811.2   11.2   57.0
  24 Cheng 4.39 x64                   : 2802.7   2875   49.5  41.0    9.7  2811.6   11.3   57.8
  25 Shredder 12 x64                  : 2798.3   2875   48.8  43.5    9.8  2812.8   11.3   57.8
  26 Junior 13.3.00 x64               : 2797.0   2925   48.9  40.8    9.8  2810.6   11.3   58.8
  27 Vajolet2 2.0 POP x64             : 2793.0   2900   48.5  40.9    9.6  2809.8   11.2   58.0
  28 Fizbo 1.6 x64 schwach            : 2785.9    499   53.3  45.3   22.4  2763.9   11.1   20.0
  29 Spike 1.4 Leiden w32             : 2784.2   2900   47.4  42.6    9.6  2810.0   11.2   58.0
  30 DiscoCheck 5.2.1 x64             : 2777.2   2925   46.4  39.5    9.6  2810.9   11.3   58.8
  31 Quazar 0.4 x64                   : 2772.2   2875   46.1  42.7    9.4  2808.6   11.3   57.8
  32 Booot 5.2.0 x64                  : 2772.1   2475   48.1  40.0   10.4  2792.5   11.1   49.8
  33 Deuterium 14.3.34.130 POP x64    : 2760.6   2925   44.3  43.6    9.7  2811.2   11.3   58.8
  34 Alfil 15.04 C# Beta 24 x64       : 2756.2   2575   46.7  34.6   10.0  2787.9   11.1   51.8
  35 Zappa Mexico II x64              : 2751.1   2850   43.4  42.8    9.7  2809.1   11.2   57.0
  36 Spark 1.0 x64                    : 2749.8   2875   43.3  42.7    9.4  2809.0   11.3   57.8
  37 Thinker 5.4d Inert x64           : 2746.3   2900   42.6  41.5    9.8  2810.6   11.2   58.0
  38 Doch 1.3.4 JA x64                : 2746.0   2275   48.4  46.0   10.8  2761.5   10.9   45.8
  39 Crafty 25.0 DC x64               : 2736.8   2325   46.9  41.9   10.7  2763.2   10.8   46.8
  40 TogaII 280513 Intel w32          : 2734.1   2425   45.4  40.3   10.5  2774.9   11.0   48.8
  41 Atlas 3.80 x64                   : 2731.8   2725   42.4  40.1   10.0  2796.5   11.1   54.8
  42 Tornado 5.0 SSE4 x64             : 2727.0   2300   45.5  38.9   10.8  2764.0   10.7   46.0
  43 Gaviota 1.0 AVX x64              : 2726.3   2925   40.1  37.9    9.6  2810.7   11.3   58.8
  44 MinkoChess 1.3 JA POP x64        : 2724.1   2475   43.5  43.4   10.4  2777.9   11.0   49.8
  45 Arasan 18.1 POP x64              : 2723.6   2500   43.0  39.6   10.9  2784.1   10.9   50.0
  46 Dirty 03NOV2015 POP x64          : 2722.3   2074   47.9  43.2   10.9  2737.8   10.6   41.8
  47 Bobcat 7.1 x64                   : 2713.6   2075   46.7  44.4   11.1  2738.1   10.6   41.8
  48 EXchess 7.71b x64                : 2711.6   2125   44.1  41.1   11.5  2761.6   11.0   42.8
  49 Rodent 1.7 Build 1 POP x64       : 2707.9   2050   45.7  43.9   11.3  2739.4   10.5   41.0
  50 Murka 3 x64                      : 2707.8   2125   44.6  46.4   11.2  2748.4   10.7   42.8
  51 Nemo 1.01 Beta POP x64           : 2707.7   2375   42.3  42.1   10.4  2768.4   10.9   47.8
  52 Pedone 1.2 BMI2 x64              : 2705.2   2450   41.0  44.0   10.2  2778.9   10.9   49.0
  53 DisasterArea 1.54 x64            : 2682.7   1950   42.3  45.3   11.5  2740.3   10.6   39.0
  54 GNU Chess5 5.60 x64              : 2677.7   2125   41.2  41.1   11.1  2742.9   10.6   42.8
  55 Scorpio 2.77 JA POP x64          : 2675.5   2225   39.9  40.4   11.1  2751.6   10.7   44.8
  56 Glaurung 2.2 JA x64              : 2659.8   2175   38.3  42.9   11.1  2747.1   10.7   43.8
  57 Rhetoric 1.4.3 POP x64           : 2650.9   2075   38.0  41.3   11.6  2739.6   10.6   41.8
  58 The Baron 3.29 x64               : 2644.6   2225   35.8  38.0   11.2  2752.3   10.7   44.8
  59 Octochess r5190 SSE4 x64         : 2637.8   2100   36.0  41.1   11.4  2743.3   10.5   42.0
  60 BugChess2 1.9 POP x64            : 2618.5   1975   34.5  37.5   12.2  2734.2   10.6   39.8
  61 Frenzee 3.5.19 x64               : 2609.5   1925   33.7  35.0   12.4  2731.6   10.6   38.8

White advantage = 36.00 +/- 1.02
Draw rate (equal opponents) = 47.68 % +/- 0.21


Code:

14) Fizbo 1.6 x64 stark           2908.9 :    499 (+170,=224,-105),  56.5 %

    vs.                                  :  games (   +,   =,   -),   (%) :    Diff,    SD, CFS (%)
    Komodo 9.3 x64                       :     25 (   0,   7,  18),  14.0 :  -276.6,  15.0,    0.0
    Stockfish 7 KP BMI2 x64              :     25 (   0,   9,  16),  18.0 :  -267.3,  14.4,    0.0
    Houdini 4 STD B x64                  :     25 (   2,  11,  12),  30.0 :  -189.9,  14.3,    0.0
    Fire 4 x64                           :     25 (   0,  12,  13),  24.0 :  -145.7,  14.0,    0.0
    Equinox 3.30 x64                     :     25 (   2,  14,   9),  36.0 :   -96.9,  14.1,    0.0
    Nirvanachess 2.2 POP x64             :     25 (   4,  13,   8),  42.0 :   -34.0,  13.6,    0.6
    Texel 1.05 x64                       :     24 (   4,  16,   4),  50.0 :    +4.1,  13.9,   61.6
    Naum 4.6 x64                         :     25 (   4,  17,   4),  50.0 :   +18.9,  13.4,   92.1
    Hakkapeliitta 3.0 x64                :     25 (  10,  11,   4),  62.0 :   +72.9,  13.5,  100.0
    Shredder 12 x64                      :     25 (   7,  17,   1),  62.0 :  +110.6,  13.4,  100.0
    Junior 13.3.00 x64                   :     25 (   9,  12,   4),  60.0 :  +111.9,  13.5,  100.0
    DiscoCheck 5.2.1 x64                 :     25 (   8,  16,   1),  64.0 :  +131.7,  13.3,  100.0
    Booot 5.2.0 x64                      :     25 (  16,   7,   2),  78.0 :  +136.8,  13.6,  100.0
    Deuterium 14.3.34.130 POP x64        :     25 (   9,  15,   1),  66.0 :  +148.3,  13.3,  100.0
    Doch 1.3.4 JA x64                    :     25 (  14,  10,   1),  76.0 :  +162.9,  13.7,  100.0
    MinkoChess 1.3 JA POP x64            :     25 (  17,   7,   1),  82.0 :  +184.9,  13.3,  100.0
    Murka 3 x64                          :     25 (  14,   9,   2),  74.0 :  +201.2,  13.6,  100.0
    Nemo 1.01 Beta POP x64               :     25 (  13,  11,   1),  74.0 :  +201.2,  13.7,  100.0
    Scorpio 2.77 JA POP x64              :     25 (  18,   5,   2),  82.0 :  +233.5,  14.1,  100.0
    The Baron 3.29 x64                   :     25 (  19,   5,   1),  86.0 :  +264.3,  13.8,  100.0


Code:
28) Fizbo 1.6 x64 schwach         2785.9 :    499 (+153,=226,-120),  53.3 %

    vs.                                  :  games (   +,   =,   -),   (%) :    Diff,    SD, CFS (%)
    GullChess 3.0 BMI2 x64               :     25 (   0,   7,  18),  14.0 :  -264.3,  13.5,    0.0
    Critter 1.6a x64                     :     25 (   1,  12,  12),  28.0 :  -209.3,  13.5,    0.0
    iCE 3.0 v658 POP x64                 :     25 (   1,  15,   9),  34.0 :  -145.4,  13.0,    0.0
    Sting SF 6 x64                       :     25 (   2,   7,  16),  22.0 :  -139.3,  12.7,    0.0
    Cheng 4.39 x64                       :     25 (   7,  12,   6),  52.0 :   -16.8,  12.5,    8.9
    Quazar 0.4 x64                       :     25 (   6,  11,   8),  46.0 :   +13.7,  12.6,   86.2
    Alfil 15.04 C# Beta 24 x64           :     25 (   5,  13,   7),  46.0 :   +29.7,  12.5,   99.1
    Spark 1.0 x64                        :     25 (   7,  13,   5),  54.0 :   +36.1,  12.5,   99.8
    Crafty 25.0 DC x64                   :     25 (   8,  13,   4),  58.0 :   +49.1,  13.1,  100.0
    TogaII 280513 Intel w32              :     25 (  10,   9,   6),  58.0 :   +51.8,  12.7,  100.0
    Atlas 3.80 x64                       :     25 (  10,   9,   6),  58.0 :   +54.1,  12.9,  100.0
    Gaviota 1.0 AVX x64                  :     25 (   8,  14,   3),  60.0 :   +59.6,  12.4,  100.0
    Dirty 03NOV2015 POP x64              :     24 (   8,  12,   4),  58.3 :   +63.6,  12.8,  100.0
    Bobcat 7.1 x64                       :     25 (  10,  12,   3),  64.0 :   +72.3,  13.0,  100.0
    EXchess 7.71b x64                    :     25 (  10,  12,   3),  64.0 :   +74.3,  13.2,  100.0
    GNU Chess5 5.60 x64                  :     25 (  11,  11,   3),  66.0 :  +108.2,  12.7,  100.0
    Glaurung 2.2 JA x64                  :     25 (  13,   9,   3),  70.0 :  +126.1,  12.7,  100.0
    Rhetoric 1.4.3 POP x64               :     25 (  12,  11,   2),  70.0 :  +135.0,  12.9,  100.0
    BugChess2 1.9 POP x64                :     25 (  10,  15,   0),  70.0 :  +167.4,  13.1,  100.0
    Frenzee 3.5.19 x64                   :     25 (  14,   9,   2),  74.0 :  +176.4,  13.0,  100.0


Wenn ich simuliere was die CEGT nun für ein Einstiegsrating hat ... bei so wenigen Gegnern und vor allem gegen welche Gegner ... bei ca. 2.870 ... ist OK das stimmt aber ich könnte jetzt ein paar dazu mixen um dann das tatsächliche Resultat darzustellen.
Parent - - By Frank Quisinsky Date 2016-02-22 23:59
Und von daher ...

Die ErrorBar, auf dem alle möglichen Leute rumreiten ... ist so ziemlich die unsinnigste Erfindung seit es Schokolade gibt wenn denn diese nicht korrekt berechnet wird.
Bedeutet wenn die Anzahl der Gegner mit in die Berechnung der ErrorBar einfließt wird diese Information erst zu einer Information.

Bei der SWCR2 und zuletzt bei der SWCR1 habe ich die ErrorBar schon ausgeblendet weil einfach eine Käse-Info.

Es wird sicherlich Mathematiker geben die einfach an dem Schwachpunkt mal Hand anlegen und eine vernünftige Ausgabe produzieren.
Ich denke das ist nur eine Frage der Zeit.

Für die Beobachter der Ratinglisten heißt es ... achtet auf die Anzahl der Gegner wenn ihr wissen wollt wie korrekt ein Rating ist.
Denn durch mehr Gegner wird Lieblingsgegner / Angstgegner immer mehr legalisiert.

Wobei meine Liste mit bald 59 Gegnern auch nicht das Wahre sein muss.
Aber auf jedenfall eine genauere Berechnung auswirft als andere Listen die nicht so viele Gegner haben.

Daher auch das Kompliment an Gerhard und zur CEGT bei der 5+3 Liste.
Das ist derzeit die einzige Liste die hinsichtlich Genauigkeit meinen Ansprüchen gerecht wird.

Denn mit weniger als 20 Gegner sind gut und gerne bei der Hälfe der Engines ... egal wie viele Partien ... bzw. ich sage es wie ist es ...
Kaffeesatz lesen ist spannender!
Parent - By Frank Quisinsky Date 2016-02-23 00:13
Wobei Schokolade keine unsinnige Erfindung war.
Ganz im Gegenteil.
Parent - By Frank Quisinsky Date 2016-02-23 00:19
Ach ja ...
die tatsächliche Elo von Fizbo liegt natürlich in der Mitte.
Bei 59 Gegnern wäre es schlimm wenn es nicht so wäre.

Gruß
Frank
Parent - - By Tom Paul Date 2016-02-22 23:52
Frank Quisinsky schrieb:

Vorab mal etwas denkwürdiges ... zu einem Posting welches ich davor gesetzt hatte.

SWCR Zappa Ergebnisse nach 4.000 Partien (Ponder = on auf Q9550, 2.86 Ghz mit 40 in 10)
Gut vergleichbar mit doppelt so schneller Hardware (i7 4.0 Ghz) und ohne Ponder bei meiner jetzigen Ratingliste

Code:
SWCR:
87 Zappa Mexico II x64              : 2715.6    1835.5    4000   45.9%

FCP Rating List:
35 Zappa Mexico II x64              : 2748.5   5200   41.0  40.8    7.5  2830.9   11.0  104.0


Ups, in der FCP Rating List hat Zappa ja auch 5200 Partien (lassen wir die Anzahl der Partien mal weg, das ist einfach kein Argument).

Holen wir uns die CEGT Ergebnisse von 40 in 20 hinzu ... zwar ca. nur die Hälfte der Zeit aber egal ...

47 Zappa Mexico II x64 1CPU 2708 10 10 2814 50.4% 2705 43.4%

Also 2708 bei ausreichend Gegnern und 2814 Partien.
Die Gegner bei CEGT sind aber alles alte Engine Versionen, teils noch älter als ich bei der SWCR drin hatte mit 4.000 Partien.

Die Frage ist nun ...

Hat Zappa vielleicht Stärken die gegen modernere Engines ersichtlich werden.
Wir sprechen bei je ausreichender Partieanzahl von 40 ELO Differenzen (FCT zu CEGT) die weit über die jeweiligen ErrorBars liegen.

Selbst bei aller Gutmütigkeit hinsichtlich Beeinflussungsfaktoren ...
Das ist zu viel!
CEGT und FCT Ergebnisse sind zunächst mal nicht angreifbar ... stimmt alles ... Anzahl der Gegner, Anzahl der Partien!

Oder ist es bei Zappa wirklich die extrem gute Optimierung auf Intel Prozessoren?
Ist bekannt ...
Aber wie kann das sein, denn es gab zum Zeitpunkt als Zappa herauskam keinen i7 mit x Prozessoroptimierungen!!

Die Lösung des Rätsels ist so schlicht wie einfach und gar nicht so kompliziert wie wir denken.
Zappa punktete in der Eröffnungsphase besser und im späten Endspiel besser ... im Vergleich SWCR zur FCT Ratingliste ... gegen unterschiedliche Gegner.
Gerade die mehr Punkte im Endspiel bringen der Engine die 30 Elo mehr.

Das heißt entweder ...
Die modernen Engines haben weniger Endspielwissen welches Zappa seinerzeit schon hatte.
oder ...
Das Programm hat spezielles Wissen welches andere Programme nicht haben.

Da bekannter Weise gerade das Endspiel in den letzten Jahren verbessert wurde trifft eher die Aussage 2 zu.

Jetzt versuche ich zu untermauern ...
Ich lösche bei den FCT Zappa Gegnern alles weg was im Endspiel eh nicht gut ist und berechne erneut und siehe da ...
Zappa verliert nur 5 Elo ... ist immer noch über 25 und über die ErrorBar besser als in der SWCR.

Gruß
Frank

Alt mit neu zu mixen ...
Bringt nichts hinsichtlich ich will ein stabiles Rating!


Da sieht man mal wie wichtig es ist die Eröffnungsphase im Code zu haben/definieren.
Also insgesamt 3 Partie Phasen.
Kann es sein das Zappa diese hat und deshalb dort besser spielt?
Parent - By Frank Quisinsky Date 2016-02-23 00:11 Edited 2016-02-23 00:13
Hallo Tom,

Zappa ist nur ein Beispiel.
Junior ist ein anders und erst Recht Spark denn bei dieser Engine quasi ohne Endspielwissen wird es krass.
Oder auch bei Glaurung und bei so vielen anderen sind immer leichte Bewegungen zu erkennen.

Merke:
Alle Engines die durch eine extrem Schwäche oder Stärke auffallen verhalten sich völlig anders mit anderen Gegnern.

Was wir machen ist nicht so ganz korrekt.
Wir werfen alles in einem Topf um ein Rating zu berechnen mit äußerst fragwürdigen Mitteln.

Können nicht wirklich erklären warum die Zahl x oder y rauskommt und machen es uns einfach.
Wir beharren auf fehlerhafte Berechnungen und argumentieren ... die spielen doch eh alle gleich.
Schauen auf NPS oder Tiefenberechnungen ... die hier auch nicht wirklich die stichhaltige Info geben warum und weshalb.
Oder lassen uns sonst was einfallen was mir mal gehört haben und uns logisch erscheint.

Ich merke ja gerade das ich mal so eben sämtliche Ratinglistenbetreiber auf die Füße trete.
Das ist natürlich nicht meine Absicht, eher möchte ich anregen auch im Bereich der Ratinglisten einfache Fehler zu berichtigen.

Und zu Zappa:
Ja, das Programm spielt die Eröffnung zwar nicht spektakulär auf Angriff wie ich es liebe aber sehr sicher. Verliert selbst gegen die besten Angreifer selten sehr schnell. Das macht aber nicht den entscheidenden Vorteil aus weil sich in der Eröffnung nur selten die Partien entscheiden. Die entscheiden sich später im Übergang zum Endspiel und hier spielt Zappa sehr zäh gegen moderne Engines und hält überraschender Weise öfters als andere Engines mit vergleichbarer Stärke. Letztendlich ein Plus von 25-30 Elo in dieser Partiephase gegen moderne / neuere Engine Versionen.

Vielleicht brauchen wir noch ca. 100 Jahre um die DNA beim Schachspiel aufzulösen.
Um eine Partie einzulesen in eine gewaltige Datenbank ... die Datenbank gibt dann aus wer die Partie gespielt hat.
Das ist keine Zukunftsvision das wird irgendwann passieren.
Parent - - By Benno Hartwig Date 2016-02-23 10:12
Die Frage "Wie genau..." impliziert schon, dass irgendwie Einvernehmen darüber besteht, was denn überhaupt und ganz konkret(!) als "richtig" anzusehen ist.
Wie ist solch ein "richtiger" Wert definiert, dem wir uns dann mit praktischen Tests nähern wollen, und das möglichst "genau"?

Hast du hier ggf. eine ganz eigene Vorstellung von "richtig"?

Benno
Parent - - By Frank Quisinsky Date 2016-02-23 10:25 Edited 2016-02-23 10:32
Richtig und genau ...

Es gibt kein richtig und es gibt kein genau.
Es gibt nur ein genauer!

Weil selbst wenn ich die 59 Gegner austauschen würde mit 59 anderen Gegnern sind die Karten erneut frisch gemischt.

Durch die Kombination von Anzahl Partien und Anzahl Gegner wird die Ausgabe Error genauer.
Derzeit ist die Ausgabe Error wie Kaffeesatz lesen und bei wenigen Gegnern in einer Liste ist die Ausgabe in Elo im Grunde nicht mehr wie ein Zeitzeugnis dieser bestimmten Gegner untereinander. Was z. B. bei einer Berechnung in Elo bei 14 Gegnern hinten raus kommt ist nichts mehr als eine Momentaufnahme. Wenn wir den Anspruch hegen aus einer Momentaufnahme eine wirklich bleibende Spielstärkeeinschätzung erzielen zu wollen benötigen wir eine bessere Berechnungsmethode.

Wenn ich z. B. hingehe und sage Zappa hat bei 4.000 Partien 2.700 Elo und die Anzahl der Gegner reicht nicht aus damit sich die Zahl festigt ist das nur eine Momentaufnahme die in einigen Jahren ganz anders ausschauen kann.

Ich denke es macht mehr Sinn eine bessere Aussage zur Spielstärke treffen zu können. Um das zu erreichen benötigen wir bei einer Berechnung mehr Gegner sonst kommen Zufallsberechnungen dabei raus die im Grunde zu weit von der Realität abweichen.

Es geht nicht genau ...
Ich wechsel bei 59 Gegnern nur zwei aus die völlig andere Ergebnisse produzieren und komme schon auf 4 Elo Unterschied. Selbst bei 59 Gegnern wackelt das ganze Berechnungskonstrukt allerdings nicht so heftig wie bei 14 Gegnern oder 20 Gegnern. Es wird immer wackeln und mit mehr Gegner wird eine Aussage zu einer Spielstärke immer genauer werden ... unabhängig von der Anzahl der Partien. Die Komponente Anzahl von Partien verfeinert das Endergebnis dann wenn ausreichend Gegner vorliegen, aber auch nur dann. Haben wir wenige Gegner können wir noch so viele Partien spielen lassen, deswegen wird die Aussage zur Spielstärke nicht besser es sei denn wir wollen nur das Verhältnis dieser Gegner untereinander wissen. Ist dem so dann dürfen wir aber keine Ratinglisten mit unterschiedlichen Gegnern miteinander vergleichen oder gar messen. Weil das ist Unfug.
Parent - - By Benno Hartwig Date 2016-02-23 11:42
Wenn wir einen Spielstärkewert ermitteln wollen, der uns eine gute Vorhersage der Erfolgsaussichten gegen auch solche Engines gestattet, die morgen erst auf den Markt kommen, dann mag ein Test gegen sehr viele Gegner durchaus vorteilhaft sein. (BTW: wie groß mögen die Unterschiede sein? "Nicht so sehr!" möchte ich eigentlich vermuten.)

Aber wenn uns die Erfolgsaussichten der Top-Engines gegen so ganz ungefähr gleichstarke Gegner interessieren, dann wäre eine sehr große Gegnerzahl ggf. doch deshalb nachteilig, weil dann ja zwangsläufig der größere Teil dieser Gegner sehr deutlich schwächer wäre. Ich zumindest befürchte, dass dadurch eventuell eine kräftigere"Verfälschung" passiert als durch weniger Gegner aus der angestrebten Spielstärkegegend.
Du nicht?

Benno
Parent - - By Frank Quisinsky Date 2016-02-23 11:58 Edited 2016-02-23 12:01
Benno,

genau das Gegenteil passiert.

Kann verstehen was Du meinst und das was Du jetzt schreibst geistert in den Köpfen der Leute rum.

Wenn eine Engine auf hohem Niveau gegen deutlich schwächere zu oft Remis spielt geht das Rating nach unten und genau das ist auch korrekt und kann z. B. leicht verfolgt werden mit folgendem Experiment:

Nehme den Bauern auf a2 weg und ersetze diesen durch einen Springer.
Nun konstruiere hieraus 50 solcher Stellungen ... immer mit einem Springer auf a2.

Nun teste es mal aus.
Wenn zwei TOP Engines gegen deutlich schwächere spielen ...

Programm A gegen Programm B ... Unterschied ist 500 Elo und das Ergebnis ist 46:4
Programm C gegen Programm B ... Unterschied ist 500 Elo und das Ergebnis ist 49:1

Du wirst sehen das das Verhältnis im Grunde gleich bleibt ... im nachfolgendem Beispiel mit dem dritten Springer auf a2.
Programm B wird auch mehr Punkte gegen A erzielen wenn es plötzlich ausgeglichener wird ...

Am Ende steht dann ...

Programm A gegen Programm B ... Unterschied 500 Elo und das Ergebnis ist 20.5 : 29.5
Programm C gegen Programm B ... Unterschied 500 Elo und das Ergebnis ist 26.0 : 24.0

Gerade gegen schwächere Gegner wird ein Rating im Grunde genauer.
Wenn immer nur die besten Programme gegeneinander antreten würden, die würden sich gegenseitig immer höher schaufeln. Das eigentlich Probleme bei den GM-Turnieren. GM vermeidet Turniere wenn er dort nur gegen schwächere spielt weil er kann nur verlieren.

Es hat Gründe warum Stockfish so viele Partien mehr Remis nach der Eröffnung spielt als Komodo.
Stockfish weiß nicht das ein schwächeres Programm auf der andere Seite steht um dann vielleicht automatisch den Contempt nach oben zu drehen um das schnelle Remis zu vermeiden. Stockfish hat keinen Contempt in der Default Einstellung. Und je mehr schwächere Gegner hinzukommen, desto größer wird der Unterschied zu Komodo sein weil ... Komodo hat einen Contempt in default.

Soweit Punkt A ... dann kommt noch der Punkt B ...
Auch schwächere Engines haben Stärken die zu Punkten gegen deutlich Stärkere führen können.

Wenn Ktulu das Endspiel gegen Stockfish erreichen wird würden keine 550 Elo zwischen den beiden Engines liegen sondern eher maximal 250 Elo. Ktulu würde Stockfish viele Remise abnehmen.

Früher haben wir gesagt ... das Rating von Platz 1 zum letzten Platz in einer Liste (wenn jeder gegen jeden) sollte nicht mehr als 350 Elo auseinander liegen. Wir denken heute ... ich kann die Liste verbessern wenn ich die 350 noch minimiere auf 200 Punkte. Ich muss nur weniger Gegner einsetzen dann komme ich auf 200 Punkte und meine Ratings werden genauer. Nein, die werden ungenauer weil die letzten und die ersten in einer Liste noch weiter als ohnehin schon auseinander triften.

Bin mir zugegeben bei diesem Punkt nicht so hundertprozentig sicher.
Aber ich würde jetzt aus dem Bauch heraus eher mit meinen Ergebnis in Einklang bringen wollen ... das dieses von Dir angesprochene Thema durch mehr Gegner ... und die können ruhig auch 600 Elo auseinanderliegen ... legitimiert wird.

Wenn Kasparow es nicht schafft mit 2.800 Elo gegen Quisinsky mit 2.200 Elo zu gewinnen und ich ein Remis erreiche ist es berechtigt das die Elo von Kasparow nach unten geht und meine nach oben geht. Es ist nicht korrekt wenn wir sagen ... diese beiden dürfen niemals gegeneinander antreten damit auch blos die schwache Elo Berechnung nicht außer Kontrolle gerät.

Gruß
Frank
Parent - - By Tom Paul Date 2016-02-23 12:16
Frank Quisinsky schrieb:

Es hat Gründe warum Stockfish so viele Partien mehr Remis nach der Eröffnung spielt als Komodo.
Stockfish weiß nicht das ein schwächeres Programm auf der andere Seite steht um dann vielleicht automatisch den Contempt nach oben zu drehen um das schnelle Remis zu vermeiden. Stockfish hat keinen Contempt in der Default Einstellung. Und je mehr schwächere Gegner hinzukommen, desto größer wird der Unterschied zu Komodo sein weil ... Komodo hat einen Contempt in default.

Gruß
Frank


Ja es hat Gründe, vor vielen Jahren kam jemand auf die Idee die Mittelspielphase im Engine Code zu definieren, dass war dann die Phase für das ganze Spiel.
Einige Jahre später kam jemand auf die Idee die Endspielphase im Engine Code zu definieren, da gab es dann zwei Phasen: Endspielphase nur für das Endspiel und Mittelspielphase für Mittelspiel und Eröffnung.
Heute aus einem unbekannten Grund traut sich keiner im Stockfish eine Eröffnungsphase zu definieren und deshalb hat die Engine diese Probleme.
Parent - - By Jörg Oster Date 2016-02-23 12:28
Tom Paul schrieb:

Frank Quisinsky schrieb:

Es hat Gründe warum Stockfish so viele Partien mehr Remis nach der Eröffnung spielt als Komodo.
Stockfish weiß nicht das ein schwächeres Programm auf der andere Seite steht um dann vielleicht automatisch den Contempt nach oben zu drehen um das schnelle Remis zu vermeiden. Stockfish hat keinen Contempt in der Default Einstellung. Und je mehr schwächere Gegner hinzukommen, desto größer wird der Unterschied zu Komodo sein weil ... Komodo hat einen Contempt in default.

Gruß
Frank


Ja es hat Gründe, vor vielen Jahren kam jemand auf die Idee die Mittelspielphase im Engine Code zu definieren, dass war dann die Phase für das ganze Spiel.
Einige Jahre später kam jemand auf die Idee die Endspielphase im Engine Code zu definieren, da gab es dann zwei Phasen: Endspielphase nur für das Endspiel und Mittelspielphase für Mittelspiel und Eröffnung.
Heute aus einem unbekannten Grund traut sich keiner im Stockfish eine Eröffnungsphase zu definieren und deshalb hat die Engine diese Probleme.

Viel Ahnung hast du wenig! 
Parent - - By Frank Quisinsky Date 2016-02-23 13:05
Hi Jörg,

bei diesem komplexen Thema haben wir das wahrscheinlich alle nicht.
Kommen in Bereiche das können wir nur noch durch fühlen im dunkeln ertasten und auf gut Glück ausprobieren.

Gruß
Frank
Parent - - By Jörg Oster Date 2016-02-23 13:59 Upvotes 2
Frank Quisinsky schrieb:

Hi Jörg,

bei diesem komplexen Thema haben wir das wahrscheinlich alle nicht.
Kommen in Bereiche das können wir nur noch durch fühlen im dunkeln ertasten und auf gut Glück ausprobieren.

Gruß
Frank

Hallo Frank,

mit ging es nur um die Aussagen bzgl. Stockfish. Der Stockfish-Code ist offen, da muss man nichts im Dunkeln ertasten.
Der Typ hat einfach nur keine Ahnung.

Eigentlich wollte ich ja alles einfach ignorieren, was der so von sich gibt ...
Klappt aber nicht immer! 

Gruß, Jörg.
Parent - By Frank Quisinsky Date 2016-02-24 11:56
Hi Jörg,

ich meinte nicht was wir schon haben sondern wie das vorhandene dann weiter verbessert kannt (mit oftmals im Dunkeln ...).

Anfangs fand ich das alles äußerst fragwürdig ... etwas ausprobieren und schauen wie es sich dann bemerkbar macht.
Nur mit der Zeit kommt ja auch hier die Erfahrung mit dem Wissen wenn ich an diese Schraube drehe passiert folgendes.

Heute finde ich es eher gut wie bei Stockfish vorgegangen wird, wenn denn etwas ausprobiert wird und die Ideen gehen ja offenbar nicht aus.

Meinungen ändern sich ...

Gruß
Frank
Parent - - By Frank Quisinsky Date 2016-02-23 13:00
Wit Braslawski (Chess Academy) konnte das aber nicht nachweisen mit seinen Mittelspieltheorien.
Der Ansatz war durchaus beachtlich und auch die Arbeit die er hier investiert hat.

Aber noch ist das Schachspiel zu komplex dafür (meine Meinung).

Glaube nicht das Stockfish deswegen die Probleme hat.
Es steht ja jedem frei je nach gewählter Gegnerschaft bei Eng-Eng den Contempt bei SF einzuschalten.
Die Frage die ein wenig im Raum steht ... wie gut funktioniert der. Habe ja auch schon damit experimentiert.

Grundsätzlich denke ich das Stockfish das leicht bessere Programm ist. Ganz einfach weil Stockfish weniger Partien verliert als Komodo. Interessant wäre nach wie vor ein intelligenter Contempt.

Grundsätzlich zu Beginn des Spieles eingeschaltet kann die Engine selbst entscheiden ob dieser im weiteren Verlauf ausgeschaltet wird. Könnte z. b. dann so entschieden werden wenn es zu weniger Ponder Treffern kommt. Das ist ein Anzeichen dafür das wahrscheinlich eine schwächere Engine der Gegner ist. So könnte Stockfish mit einem Contempt starten und den bei vielen Pondern Treffern deaktivieren und aktiviert lassen wenn es zu wenigen Ponder Treffern kommt.

Finde eine solche Vorgehensweise eh besser als einen festen Wert das ganze Spiel mit sich rum tragen zu müssen.
Hatte das vor 2 Jahren mal in TalkChess vorgeschlagen aber leider kam keine Antwort.

Egal ...
Auch ohne Contempt ist SF sehr gut nur im Vergleich zu Komodo kommen mehr Remispartien gegen deutlich schlechterer dabei heraus wenn der Default Wert nicht verändert wurde.

Gruß
Frank

Und nochmal zu den Mittelspielideen ...
Braslawski wurde seinerzeit eher belächelt ... klar das war eine komplett neue Idee zu einem sehr komplexen Thema.
Er hatte die GMs um das auszuarbeiten aber diese Idee zu verfeinern ist gleich zu setzen mit einer Lebensaufgabe und einem finanziellen Aufwand der nicht tragbar ist / war.
Parent - - By Tom Paul Date 2016-02-23 13:14
Frank Quisinsky schrieb:

Wit Braslawski (Chess Academy) konnte das aber nicht nachweisen mit seinen Mittelspieltheorien.
Der Ansatz war durchaus beachtlich und auch die Arbeit die er hier investiert hat.

Aber noch ist das Schachspiel zu komplex dafür (meine Meinung).

Glaube nicht das Stockfish deswegen die Probleme hat.
Es steht ja jedem frei je nach gewählter Gegnerschaft bei Eng-Eng den Contempt bei SF einzuschalten.
Die Frage die ein wenig im Raum steht ... wie gut funktioniert der. Habe ja auch schon damit experimentiert.

Grundsätzlich denke ich das Stockfish das leicht bessere Programm ist. Ganz einfach weil Stockfish weniger Partien verliert als Komodo. Interessant wäre nach wie vor ein intelligenter Contempt.

Grundsätzlich zu Beginn des Spieles eingeschaltet kann die Engine selbst entscheiden ob dieser im weiteren Verlauf ausgeschaltet wird. Könnte z. b. dann so entschieden werden wenn es zu weniger Ponder Treffern kommt. Das ist ein Anzeichen dafür das wahrscheinlich eine schwächere Engine der Gegner ist. So könnte Stockfish mit einem Contempt starten und den bei vielen Pondern Treffern deaktivieren und aktiviert lassen wenn es zu wenigen Ponder Treffern kommt.

Finde eine solche Vorgehensweise eh besser als einen festen Wert das ganze Spiel mit sich rum tragen zu müssen.
Hatte das vor 2 Jahren mal in TalkChess vorgeschlagen aber leider kam keine Antwort.

Egal ...
Auch ohne Contempt ist SF sehr gut nur im Vergleich zu Komodo kommen mehr Remispartien gegen deutlich schlechterer dabei heraus wenn der Default Wert nicht verändert wurde.

Gruß
Frank

Und nochmal zu den Mittelspielideen ...
Braslawski wurde seinerzeit eher belächelt ... klar das war eine komplett neue Idee zu einem sehr komplexen Thema.
Er hatte die GMs um das auszuarbeiten aber diese Idee zu verfeinern ist gleich zu setzen mit einer Lebensaufgabe und einem finanziellen Aufwand der nicht tragbar ist / war.


Wozu brauchst du in Stockfish überhaupt einen Contempt?
Der greift nur wenn eine Stellung z.B. -0.10 schlechter für den Fish ist.
Wenn der Fish eine Eröffnungsphase hätte, dann würde er fast immer besser aus der Eröffnung herauskommen als seine Gegner und zwar mindestens +0.50 besser in den meisten Fällen.
Und somit wäre ein Contempt für lange Zeit fast total überflüssig.
Parent - - By Frank Quisinsky Date 2016-02-23 13:23
Du kannst nicht hingehen und eine Eröffnungsphase so gestalten das immer nur positives dabei herauskommt.
Bedenke auf der anderen Seite steht ein Gegner der eine Eröffnungsphase genauso versuchen kann zu dirigieren wie Du es wahrscheinlich versuchen wirst.

Grundsätzlich würde ich mal sagen das die Stellungsbewertung nach den Eröffnungszügen bei Stockfish aller erste Sahne ist.
Das sehe ich ja schon beim durchschauen der ganzen erzeugten Partien, wie wenig ich bei Stockfish Partien korrigieren muss.

Hinzukommt das diese Stellungsbewertung zu Recht direkt deutlich verändert wird wenn durch offene Linien die Figuren mehr Räume haben, es mehr Angriffspotential gibt. Würde gar so weit gehen das meines Erachtens Stockfish die beste Bewertungsfunktion nach der Eröffnungsphase hat. Das Problem ist aber das wenn die Eröffnung ausgeglichen verläuft die Engine zu schnell sich auf ein Remis einläßt. Stockfish hat ja bis auf Komodo nur schwächere Gegner und muss sich schon allein deswegen nicht auf ein Remis einlassen. Der Grundgedanke ist wahrscheinlich ... ein Remis ist besser als eine Niederlage. Mit einem hohem Contempt gerät das Programm durch Vermeidung von Remis auch in schlechtere Situationen und verliert gar. Das wird offenbar die Befürchtung sein, die das Stockfish Team mit sich rumträgt.

Contempt wird nicht verändert. Die Verlustpartien werden nach meinen Stats immer weniger. Die Remisquote bleibt in etwa. Wie gesagt, ich denke das kann durch einen intelligenten Contempt gelöst werden, siehe Vorposting.

Stockfish braucht keine Eröffnungsvorgaben. Dadurch wird das Problem nicht kleiner.
Alles gut wie es ist ... nur Vermeidung von Remis sollte nochmals aufgerollt werden.

Vielleicht sollte Stockfish beim Testen mal nur Engines erhalten die grundsätzlich schwächer sind und durch eine hohe Remisquote auffallen.
Dagegen optimieren ... gegen Murka oder Protector als Beispiel um einen intelligenten Contempt mal vernünftig auszutesten.
Parent - - By Tom Paul Date 2016-02-23 15:35
Frank Quisinsky schrieb:

Du kannst nicht hingehen und eine Eröffnungsphase so gestalten das immer nur positives dabei herauskommt.
Bedenke auf der anderen Seite steht ein Gegner der eine Eröffnungsphase genauso versuchen kann zu dirigieren wie Du es wahrscheinlich versuchen wirst.

Grundsätzlich würde ich mal sagen das die Stellungsbewertung nach den Eröffnungszügen bei Stockfish aller erste Sahne ist.
Das sehe ich ja schon beim durchschauen der ganzen erzeugten Partien, wie wenig ich bei Stockfish Partien korrigieren muss.

Hinzukommt das diese Stellungsbewertung zu Recht direkt deutlich verändert wird wenn durch offene Linien die Figuren mehr Räume haben, es mehr Angriffspotential gibt. Würde gar so weit gehen das meines Erachtens Stockfish die beste Bewertungsfunktion nach der Eröffnungsphase hat. Das Problem ist aber das wenn die Eröffnung ausgeglichen verläuft die Engine zu schnell sich auf ein Remis einläßt. Stockfish hat ja bis auf Komodo nur schwächere Gegner und muss sich schon allein deswegen nicht auf ein Remis einlassen. Der Grundgedanke ist wahrscheinlich ... ein Remis ist besser als eine Niederlage. Mit einem hohem Contempt gerät das Programm durch Vermeidung von Remis auch in schlechtere Situationen und verliert gar. Das wird offenbar die Befürchtung sein, die das Stockfish Team mit sich rumträgt.

Contempt wird nicht verändert. Die Verlustpartien werden nach meinen Stats immer weniger. Die Remisquote bleibt in etwa. Wie gesagt, ich denke das kann durch einen intelligenten Contempt gelöst werden, siehe Vorposting.

Stockfish braucht keine Eröffnungsvorgaben. Dadurch wird das Problem nicht kleiner.
Alles gut wie es ist ... nur Vermeidung von Remis sollte nochmals aufgerollt werden.

Vielleicht sollte Stockfish beim Testen mal nur Engines erhalten die grundsätzlich schwächer sind und durch eine hohe Remisquote auffallen.
Dagegen optimieren ... gegen Murka oder Protector als Beispiel um einen intelligenten Contempt mal vernünftig auszutesten.


-Du kannst nicht hingehen und eine Eröffnungsphase so gestalten das immer nur positives dabei herauskommt.
Das kannst du bei der Mittelspielphase und der Endpsielphase auch nicht, trotzdem hast du beides im Code weil es verdammt viele ELOs bringt.

-Bedenke auf der anderen Seite steht ein Gegner der eine Eröffnungsphase genauso versuchen kann zu dirigieren wie Du es wahrscheinlich versuchen wirst.
Nur hat sein Stockfish um genau zu sein eine Mischung aus Mittelspielphase und Eröffnungsphase in einem + Endspielphase, während mein Stockfish alle drei Phasen getrennt voneinander hat und somit spezialisierter ist. 1.Die Bewertungen für die Eröffnungsphase und die Mittelspielphase sind deutliche besser und 2.Hat man deutlich mehr Ideen im jeweiligen Codeabschnitt die niemals in einem Mix aus Mittelspielphase und Eröffnungsphase funktionieren würden und somit dort auch keinen ELO Zuwachs bringen können.

-Grundsätzlich würde ich mal sagen das die Stellungsbewertung nach den Eröffnungszügen bei Stockfish aller erste Sahne ist.
-Das sehe ich ja schon beim durchschauen der ganzen erzeugten Partien, wie wenig ich bei Stockfish Partien korrigieren muss.
Genau das gleich hat man auch damals bei den alten Engines gesagt, wie war das noch gleich, Fritz unbesiegbar, Rabka unbesiegbar, Houdini unbesiegbar, alles aller erste Sahne.
Und ich kann dir aus Erfahrung das da nicht alles erste Sahne ist, dass siehst du selbst ganz deutlich an den Engine Turnieren wo man als Mensch + Engine gegen Engine antretet und vor längerer Zeit auf Infinity da haben die reinen Engines nur halb so viele Punkte gegen die Kombo geholt und jetzt darfst du gerne raten in welcher Phase die Menschen überlegen waren.
Oder du lässt einfach mal Stockfish 4 oder 5 gegen Stockfish 7 antreten oder wartest bis Stockfish 9 erscheint und lässt diesen gegen Stockfish 7 antreten.
Und du musst genau deshalb so wenig bei Stockfish korrigieren, weil die Engine deutlich stärker ist als ihre Gegner. Würdest du eine 200 ELO stärkere Engine nehmen, dann hättest du ganz schön viel zum korrigieren.
Oder du lässt einfach mal Stockfish mit einem Kern gegen Stockfish mit 64 Kernen antreten, dann hast du sehr schnell was zum korrigieren.

-Würde gar so weit gehen das meines Erachtens Stockfish die beste Bewertungsfunktion nach der Eröffnungsphase hat.
Im Moment mag das durchaus der Fall sein.

-Das Problem ist aber das wenn die Eröffnung ausgeglichen verläuft die Engine zu schnell sich auf ein Remis einläßt.
Und das kann man wunderbar mit einer Eröffnungsphase beheben. Dann würde die Eröffnung nämlich aus Stockfishs Sicht nicht bzw. nur sehr selten ausgeglichen verlaufen, selbst wenn der Gegner 0.00 anzeigt. Bestes Beispiel sind die 0.00 Stellungen wo ganz deutlich auf ein Tor gespielt wird, soviel zum Thema die Stellung ist 0.00 bzw. ausgeglichen. Und dadurch würde die Engine auch besser im Mittelspiel werden.
Parent - - By Benno Hartwig Date 2016-02-24 07:15
Ich erwarte, dass jede Partiephase mit derselben Suchlogik (alpha-beta mit allen Erweiterungen) bearbeitet wird.
Falls du einen Entwurf für einen ganz anderen Ansatz hast, nur zu...
Insofern wird es wohl bei einer Logik bleiben.

Allerdings sind schon jetzt(!) die Bewertungen in den Phasen unterschiedlich, es mögen Module je nach Partiephase und Brettsituation zu(!)geschaltet sein oder auch nicht.
Die tatsächliche Sinnhaftigkeit eigener Programm(-Module) für Partiephasen solltest du wenigstens mal andeutungsweise konkretisieren.
Ich denke, dein Wunsch läuft inhaltlich ins Leere.

Benno
Parent - - By Tom Paul Date 2016-02-24 09:05
Benno Hartwig schrieb:

Allerdings sind schon jetzt(!) die Bewertungen in den Phasen unterschiedlich, es mögen Module je nach Partiephase und Brettsituation zu(!)geschaltet sein oder auch nicht.


Genau.
Und all das muss man halt auch für die Eröffnungsphase machen.
Z.B. erst einmal den Wert der Figuren anpassen, dass gibt auch ELOs.
Eine Dame hat in der Eröffnung einen ganz anderen Wert als im Mittelspiel.
Und dadurch das dieser füchterliche Mix aus Eröffnungsphase und Mittelspielphase in einem aufgehoben wird, kann man auch die Werte für die Mittelspielphase anpassen, dass gibt auch ELOs.
Außerdem wird durch eine Eröffnungsphase wahnsinnig viel Platz für neue Idee geschaffen, die in dem Mix nicht funktionieren könnten.
Parent - - By Benno Hartwig Date 2016-02-24 11:37

> Z.B. erst einmal den Wert der Figuren anpassen, dass gibt auch ELOs


Na, ob das wirklich soo viele Elos werden  :->

Nimm doch mal die etablierten Figurenwerte fürs Mittelspiel
und versuche mal für die Eröffnung andere zu finden, die tatsächlich eine Spielstärkesteigerung bewirken.
Ich denke, das wird schwierig!!
Konkret welche Mittelspiel-Figurenwerte sollten an der Anfangsphase noch anders gesetzt sein, und warum?

Außerdem:
Wer ein starkes Spiel haben will (also nicht Engine-Vergleiche), setzt vermutlich eh große Bücher ein.
Dem ist die Eröffnungsfähigkeit der Engine (ohne Buchunterstützung) dann wohl eher weniger wichtig.
Das schmälert die Lust der Entwickler, hierauf besonders viel Mühe zu verwenden.

Benno
Parent - - By Frank Quisinsky Date 2016-02-24 11:53
Hallo Benno,

hatte mal mit Dieter und Uli (Yace und Comet) eine solche Diskussion vor ca. 15 Jahren, glaube das war noch im alten / ersten ChessBits Forum. Ein Schachprogramm komplett auf Module aufzuteilen.

Ein Modul ist zuständig für das ganze technische Zeug wie Endspieldatenbanken, Zeiteinteilung, Hash-Tables, Protokollunterstützung, SMP etc..
Ein Modul dann für Taktik, eines für das Übergang zum Endspiel mit viel Wissen zu Bauernstrukturen etc..

Das hätte den Vorteil das User die Module selbst zusammenstellen könnten bzw. Programmierer diese Module stets verbessern könnten. Dieter war es glaube ich der erklärte warum die Idee einfach nicht gut ist. Nun gut, es ist viele Jahre her und vielleicht sehen heute die technischen Möglichkeiten anders aus.

Grundsätzlich ist das was Tom schreibt für mich auch gar nicht so abwegig. Wie es programmiertechnisch ausschaut ist dann wieder eine andere Frage.

Viele Grüße
Frank
Parent - - By Tom Paul Date 2016-02-24 13:51
Frank Quisinsky schrieb:

Grundsätzlich ist das was Tom schreibt für mich auch gar nicht so abwegig. Wie es programmiertechnisch ausschaut ist dann wieder eine andere Frage.


Warum sollte es denn programmiertechnisch nicht funktionieren?
Man hat es doch auch bei der Mittelspiel und Endspielphase geschafft und sich dann dort langsam vorgearbeitet.
Und den Übergang hat man auch geschafft zu definieren.
Mit der Grundstellung fängt man an und definiert als erstes ungefähr die Länge der Eröffnungsphase z.B. 5, 6, 7 oder 10 usw. Züge beiderseits.
Dann lässt man die Figurenwerte automatisch anpassen im Framework und kann danach gegen den Stockfish ohne Eröffnungsphase antreten.
Später kann man Tempos und Figurenentwicklung definieren usw.

Und sollte die Eröffnungsphase nicht ein weiteres neues Spielparadies für die Stockfish Entwickler sein?
Parent - By Frank Quisinsky Date 2016-02-24 14:09 Edited 2016-02-24 14:17
Hallo Tom,

wie gesagt, finde den Gedanken nicht abwegig.

Es macht z. B. auch Sinn aus verschiedenen Schwerpunkten nach Stellungstest eine Ratingliste zu starten.

Also mittels Vorgabestellungen zu verschiedenen Themenbereiche aus dem Mittelspiel und aus dem Endspiel.

Wobei wir wieder beim Thema sind ...
So abwegig ist es nicht einen vernünftigen Stellungstest aufzubauen.

Ich kann mich nicht mehr daran erinnern wie genau Dieter es begründet hat ... glaube es greifen zu viele Komponenten bei einem Programm ineinander.
Auch würde ein modulares System wahrscheinlich eine Engine in der Geschwindigkeit ausbremsen.

Wir haben ja heute die vielen offenen Sourcen die früher in der Form nicht vorhanden waren. Wir hatten immer den gute dokumentierten Crafty Code und einige andere Programme mit offenen Sourcen (Phanlanx, Pepito andere).

Was mir selbst tierisch auf den Keks geht, ist das es so viele Probleme mit heutigen Standards gibt.
Pondern, Zeiteinteilung, Endspieldatenbanken, unterschiedliche SMP Faktoren ...

Würde es viel besser finden wenn sich hier die Programmierer einer Quelle bedienen könnten und Standards für alle gleich wären.
Aber ich habe einfach zu wenig Ahnung davon weil ich mich damit auch nicht noch beschäftigen möchte.

Die Programmierer werden wissen was sie tun. Wir haben hier so viele Experten die enormes leisten.
Was hier Nicht-Programmierer zum Besten geben ist eher amateurhaft, wie unsere Diskussion darüber.

Kontaktiere doch mal einen der Programmierer und befrage die Person über Deine Ideen.
Lasse Dir erklären was geht und was nicht geht.
Schön ist, dass die meisten Programmierer sehr gerne versuchen etwas zu erklären.
Ich habe hier nur richtig gute Erfahrungen gesammelt und konnte mir ein kleines Basis-Wissen aufbauen zu Themen die mich interessieren.

Wie gesagt, ich wende lieber an ...
Wenn ich beginnen würde zu programmieren würde ich keine Ruhe finden.
Es reicht das ich über eine Zeit Pflichtenhefte lesen musste und mich schon allein deswegen unfreiwillig mit der Materie auseinander setzen musste ... wurde das aber schnell wieder los. Andere konnten das besser wenn gleich mir immer gesagt wurde, mag sein aber Deine Ideen in Verbindung mit der Umsetzung brauchen wir. Unfug ... die besten Ideen entstehen bei der Umsetzung, also bei der Programmierung. Das hat mir Martin ca. 1.000x bewiesen. Der brauchte nur den Ansatz und zauberte alles in bedeutend besserer Qualität als die Ursprungsidee.

Gruß
Frank
Parent - - By Tom Paul Date 2016-02-24 13:29
Benno Hartwig schrieb:

Na, ob das wirklich soo viele Elos werden  :->

Nimm doch mal die etablierten Figurenwerte fürs Mittelspiel
und versuche mal für die Eröffnung andere zu finden, die tatsächlich eine Spielstärkesteigerung bewirken.
Ich denke, das wird schwierig!!
Konkret welche Mittelspiel-Figurenwerte sollten an der Anfangsphase noch anders gesetzt sein, und warum?

Außerdem:
Wer ein starkes Spiel haben will (also nicht Engine-Vergleiche), setzt vermutlich eh große Bücher ein.
Dem ist die Eröffnungsfähigkeit der Engine (ohne Buchunterstützung) dann wohl eher weniger wichtig.
Das schmälert die Lust der Entwickler, hierauf besonders viel Mühe zu verwenden.

Benno


Klar werden es viele ELOs warum auch nicht?
Man hat ja auch nicht Grundlos darauf verzichtet einen Mix aus Mittelspielphase + Endspielphase zu machen, weil beide eben getrennt deutlich mehr ELOs bringen.
Neue Figurenwerte für die Eröffnung zu finden wird im Stockfish Framework kinderleicht und auf einem einzigen Hausrechner kann ich das nicht machen.
Alle Figurenwerte sowohl in der Eröffnungsphase als auch in der Mittelspielphase müssen anders gesetzt werden, weil sie einfach falsch sind.
Bestes Beispiel: Habe vor längerer Zeit eine Partie Stockfish vs Komodo spielen lassen. Erster Zug d3 +0.00, von mir festgelegt.
Stockfish hatte 2 weitere Bauern entwickelt und eine Leichtfigur und die Dame(Aus Stockfishs Sicht ist es ja die Mittelspielphase, Dame=Mittelspielwert) und gewann mit der Dame den a7 Bauern.
Komodo entwickelte 3 Bauern und 3 Leichtfiguren und Turm a8 und Dame und opferte den Bauern auf a7 freiwillig.
Das Ergebnis 0-1.

Außerdem:
Buch siehe Franks Varianten, da gibt es kaum Züge von Großmeistern, weil die Engines bereits alles neu geschrieben haben.
Und zwar ohne eine Eröffnungsphase im Code zu haben, du kannst dir selbst vorstellen wie viel es da noch zu verbessern geben wird.
Man sieht auch immer wieder Komodo +0.25, Stockfish -0.25, dass ist ein Unterschied von 0.50, wer hat jetzt recht?
Also wer nicht mindestens Franks Buch benutzt der braucht nicht wirklich ein Buch und kann bei Stockfish, Komodo Analysen bleiben.
Beim TCEC hat man auch recht deutlich gesehen was passiert wenn 1 und 2 Züge vorgegeben werden und die Engines alles andere selbst erfinden müssen ohne eine Eröffnungsphase im Code zu haben.
Und das war schon echt lustig.
Parent - By Frank Quisinsky Date 2016-02-24 13:56 Edited 2016-02-24 14:00
Hallo Tom,

kurz zu dem Buch:

Der Aufbau vom Buch war alt. Ich habe im weiteren Verlauf der Buchoptimierung vor ca. 2 Jahren die Züge verdoppelt und habe Correspondence und GM-Partien bis Zugtiefe 6 hingefügt ohne diese zu prüfen. Was ich vorher im Buch hatte war geprüft. Mir war schon bewusst auf was ich mich einlasse weil im Grunde habe ich dadurch mein Buch zunächst ruiniert.

Nach jedem Test-Run füge ich das was die Engines erspielt haben bis Zugtiefe 10 in das Buch ein. Das heißt, das die heute noch enthalten wenigen Varianten die nur bis Zugtiefe 6 gehen durch Züge der Engines auf Zugtiefe 10 erweitert werden. Das ist der Mix den ich immer wollte. Grundsätzlich ist die komplette Standardtheorie im Buch enthalten. Also alles was die ECO-Codes bildet. Bei Varianten die sehr kritisch sind habe ich diese ergänzt durch Züge aus dem Informator. Teils habe ich viele Varianten von Hand hinzugefügt aus geschriebenen Büchern meiner Sammlung.

Im Buch sind heute ca. 45.000 Varianten die ausgespielt werden aus allen Eröffnungssystemen. Durch das deaktivieren von unvorteilhaften Varianten (ca. um die 4.500 aus dem Kopf) sind natürlich zu heute ca. 99% Varianten im Buch die in ausgeglichene Stellungen enden. Natürlich durch die oben beschriebene Vorgehensweise auch viele die Engines beigesteuert haben.

-0.25 oder +0.25 ... das Buch ist optimiert auf alle Engines die in meiner Liste spielen.
Viele bewerten mit Vorteil ... wie Fizbo bei Weißpartien ... gibt durchschnittlich ca. 0.5 hinzu. Viele Engines wie Smarthink oder ICE sind sehr eigenwillig. Du kannst also nicht immer davon ausgehen das alles was höher als 0.25 schlecht ist weil die Engines unterschiedlich bei den Bewertungen vorgehen.

Aber es ist natürlich richtig spannend wenn Varianten im Buch sind die sonst nicht zu finden sind, klar das haben Engines errechnet.

Dieses Buch ist ein MIX von Engine Berechnungen und der "kompletten" Standard Theorie auf welche die ECO Codes sich bilden.

Bei kritischen Varianten, meist selten in der Theorie erweitere ich gar um weit über 10 Züge, teilweise um bis zu 20 Züge. Engines können damit nicht umgehen und verlassen das Buch mit deutlicher Minus oder Plus Bewertungen. Durch das deaktivieren von Zügen solch seltener Varianten fehlen mit dann teilweise die ECO Codes und werden gar nicht mehr ausgespielt. Daher erweitere ich hier um deutlich mehr als 10 Züge damit ich zu verschiedenen ECO Codes überhaupt noch etwas im Buch habe. Und wie gesagt, hier bediene ich mich meist beim Schach-Informator oder geschriebenen Büchern.

Die Vorgabe ... alle 500 ECO Codes sollen ausgespielt werden möchte ich nicht ändern bzw. lege darauf sehr viel Wert und prüfe das auch sehr oft.
Es ist schwierig zu manchen dieser seltenen ECO Codes überhaupt ausgeglichene Varianten zu finden.

Aber nach wie vor ...
Das Buchkonzept funktioniert prächtig.

Da jede Partie welche in meine Ratingliste eingeht geprüft wird sind auch keine Buchniederlagen zu finden. Bzw. ein paar solcher Partien habe ich drin werde ich bei Zeit auch mal nachspielen lassen. Zu Beginn meiner Ratingliste war ich nicht so eifrig beim prüfen wie in den letzten 2 Jahren. Habe ca. 20 Buchniederlagen in der Datenbank von älteren Engines die schon lange upgedatet sind. Dennoch, werde die noch wiederholen lassen. Einige Varianten sind kritisch beim Betrachten aber wer in der Datenbank sucht sieht schnell das andere Engines diese problemlos händeln.

Es ist oftmals nicht einfach zu entscheiden, nehme ich das raus oder lasse ich es drin.

Gruß
Frank

Buchoptimierung ... ein richtig gutes Buch für den Zweck einer Ratingliste ...
Die Spielstile ...
Die Daten selbst ...
Ist mir wichtiger als das was hinten raus kommt ... die Ratingliste!

Die Ratingliste ist nur Mittel zu Zweck, weil wenn ich mit der Buchoptimierung durch bin und die Statistiken habe die mir fehlen bzw. ich noch erstellen möchte werde ich eine neue Ratingliste mit höheren Bedingungen starten. Vielleicht 40 Züge in 20 Minuten und Ponder = on. Aber dafür ist es noch zu früh. Denke ich werde an der bestehenden Liste noch sicherlich bis Ende 2017 spielen lassen. Soweit der Plan ...

Und dann mit den ganzen "Neuen" gewonnen Erkenntnissen ...
Die neue Liste starten !!
Natürlich halte ich nicht an alte Daten fest wenn ich ein Ziel erreicht habe.
Aber wie gesagt, ich habe es noch nicht erreicht und brauche noch ca. gut 2 Jahre bis ich da bin wo ich hin will.
Parent - - By Benno Hartwig Date 2016-02-24 14:22

> weil beide eben getrennt deutlich mehr ELOs bringen.


Das entgegen gegenteiligen Vermutungen immer wieder so zu bahaupten, steigert die Überzeugungskraft nicht, Tom.

Selbst wenn du Figurenwerte für die Eröffnung optimal setzt, kommt da nur sehr wenig rüber, vermute ich.
Und wenn dann auch noch Bücher genutzt werden, die das Eröffnungskönnen der Engines weitgehend überdecken, dann wird gar nichts mehr wahrnehmbar sein.

Aber es ist auch nur eine Vermutung, eine Erwartung von mir.
Ich "weiß" es halt genau so wenig wie du.

Benno
Parent - - By Tom Paul Date 2016-03-05 12:03
Habe mir gerade zufällig in einem Codeabschnitt die unterschiedlichen Figurenwerte für die Mittelspielphase und Endspielphase angeschaut und die Unterschiede sind schon sehr stark.
Wäre es nicht so, dann würde die Engine vielleicht 300 ELO schwächer spielen, dass lässt sich sogar im Framework testen indem man einfach in der Endspielphase die gleichen Figurenwerte wie für die Mittelspielphase benutzt.
=Im schlimmsten Fall würde die Eröffnungsphase vielleicht nur ein Drittel an ELOs bringen, weil sie kürzer ist. Andererseits ist sie komplizierter und wertvoller weil sie den weiteren Spielverlauf bestimmt. Und das nur auf die Figurenwerte bezogen! Neue Ideen = ELOs habe ich nicht mit rein gerechnet.

Wegen der Bücher mache ich mir 0 Sorgen, mein IDeA Buch schlägt jedes normale Buch um längen!
Und du sagst ja auch nicht, die Endspielphase im Code kann weg weil wir TB haben.
Parent - - By Benno Hartwig Date 2016-03-05 13:28

> ...dann würde die Engine vielleicht 300 ELO schwächer spielen, dass lässt sich sogar im Framework testen...


Dass sich das dort rein technisch testen ließe, will ich gern glauben,
davon, dass das mal jemand dort getestet hätte, habe ich aber noch nie gehört. Du auch nicht, richtig?
Benno
Parent - - By Tom Paul Date 2016-03-05 13:43
Benno Hartwig schrieb:

Dass sich das dort rein technisch testen ließe, will ich gern glauben,
davon, dass das mal jemand dort getestet hätte, habe ich aber noch nie gehört. Du auch nicht, richtig?
Benno


Was glaubst du denn viel viele ELOs dabei verloren gehen, wenn man für die Endspielphase die gleichen Figurenwerte wie für die Mittelspilphase verwendet?
Nur 30 ELO?
Parent - By Benno Hartwig Date 2016-03-05 14:00 Edited 2016-03-05 14:02

> Nur 30 ELO?


Naja, vielleicht auch ein paar mehr.
Am heimischen PC ließe sich das auch wirklich testen, wenn es denn soo brennend interessiert.
Du nanntest aber forsch 300 ELO, und dies originellerweise in einem Atemzug mit der Testbarkeit im Framework. (Wolltest du ggf. sogar den Eindruck erwecken, es sei derart getestet worden?? Nein, für so böse halte ich dich nicht.)
Die Jungs dort würden sich wohl hübsch bedanken, wenn du mit einem derart verhuddelten SF ankämst um Rechenzeit zu bekommen,
um damit die PCs der SF-Framework-Unterstützer zu blockieren.

Benno
Up Topic Hauptforen / CSS-Forum / Wie genau ist ein Rating bei 20 Gegnern ... es wird einfacher!

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill