Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / Schachprogrammierung / Engine Test Tools
- - By Lothar Jung Date 2021-08-29 16:09
Hier ein flexibles Testingtool für Schachengines:

https://github.com/fsmosca/chess-artist
Parent - - By Benno Hartwig Date 2021-08-29 20:40
Was kann es denn, was tut es denn, wozu braucht man es denn???
Das herauszufinden, indem man sich lediglich die Sourcen ansieht, ist nicht so ganz einfach.
Parent - By Lothar Jung Date 2021-08-29 20:44
Es kann alles, was eine gute GUI auch kann, aber per Befehlszeile. Und ohne Overhead, Windows usw.
Ist halt was für Minimalisten und Leute, die den Pythoncode in die eigene GUI oder CLI einbauen wollen.
Und es ist Opensource!!

Lothar
Parent - - By Peter Martan Date 2021-09-06 09:48
Hab mir das letzte Release runtergeladen, mit Doppelklick lässt sich die .exe aber nicht starten in Windows10, Konsolenfenster geht gleich wieder zu.
Hab die Readme nur überflogen, weil mir scheint nichts drin steht, dass man vor dem Starten noch irgendwas machen müsste.
Hast du dir's schon angeschaut, Lothar?
Parent - - By Lothar Jung Date 2021-09-06 09:53
Hallo Peter,

ich glaube, Du musst Python installieren:

2. Use python source and modules

Install python >= 3.8

Install python-chess

new:

pip install python-chess
upgrade:

pip install --force-reinstall chess
or

pip install -r requirements.txt
B. Help

Use the command line: python chess_artist.py -h or see here.

C. Command lines

1. Analyze games in pgn file

a) Basic command line

python chess_artist.py --infile ./PGN/sample.pgn --outfile out_sample.pgn --enginefile ./Engine/stockfish/stockfish_12_x64_modern.exe --eval search --job analyze --movetime 1000

b) Add options to engine, use --engineoptions

python chess_artist.py --infile sample.pgn --outfile out_sample.pgn --enginefile Stockfish.exe --engineoptions "Hash value 128, Threads value 1" --eval search --job analyze --movetime 2000

Will analyze games inside sample.pgn and output the analyzed games in out_sample.pgn. It uses engine Stockfish.exe with Hash 128MB and Threads 1 at 2000 millisec or 2 sec analysis time per position. chess_artist.py and Stockfish.exe engine must be in same directory.

Lothar
Parent - - By Peter Martan Date 2021-09-06 10:05
Ja, ich hätt's halt doch ein bisschen genauer lesen sollen, damit ist das Projekt aber hinter einigen anderen, die mir momentan auch zu zeitaufwändig scheinen, auf meiner to do list ziemlich weit unten gelandet.

Aber danke für die prompte Antwort, dankt
Parent - - By Lothar Jung Date 2021-09-06 10:07
Früher oder später mußt Du aber doch Python installieren. Nicht nur wegen dem Tool.

Lothar
Parent - - By Peter Martan Date 2021-09-06 10:21
Lothar Jung schrieb:

Früher oder später mußt Du aber doch Python installieren.

Genau, später.

Dass ich es "einmal" installieren muss, hat bewirkt, dass es überhaupt auf meine to do list gekommen ist.
Parent - By Lothar Jung Date 2021-09-06 13:23 Upvotes 1
Das wären denn „Sieben auf einen Streich.“

Danach hast Du die besten Voraussetzungen, Dich im Python Schachprojekt  einzubringen.



Lothar
Parent - - By Peter Martan Date 2021-09-06 14:33
Lothar Jung schrieb:

ich glaube, Du musst Python installieren:

2. Use python source and modules

Übrigens hast du den Punkt 1 unterschagen:

Zitat:
Either use the windows exe file or use the python source and required modules.

1. Download the windows exe file
https://github.com/fsmosca/chess-artist/releases

2. Use python source and modules

Ich hatte das halt so verstanden, dass man mit der Windows exe file Python nicht brauchen würde.
Wusste doch, da war noch was...
Parent - - By Lothar Jung Date 2021-09-06 17:26
Ich habe bei Punkt 1. leider nicht weitergelesen. Unglaublich.

Hast Du jetzt Chess Artist über Windows.exe und Python laufen.

Oder hast Du jetzt nur eine große Schlange im PC?

Lothar
Parent - By Peter Martan Date 2021-09-06 17:40
Ich hab eine lange to do list als Schlange, ganz am Ende kommt Python.
- - By Peter Martan Date 2021-09-08 19:24 Edited 2021-09-08 19:31
ELOStatTS ist eine Sonderform von Frank Schuberts Programm zur Eloberechnung aus Turnieren, der Zusatz TS heißt Test Suite und dient zur automatischen (genaueren) Auswertung von Stellungsteststammlungen.

Walter Eigenmann hat hier

https://forum.computerschach.de/cgi-bin/mwf/topic_show.pl?pid=107336#pid107336

einen Download- Link dazu gesetzt,

http://www.glarean-verlag.ch/schach/EloStatTS104/ELOStatTS%20104.7z

der auch noch funktioniert. Laut seiner (Walters) Beschreibung und der Liesmich des Autors, ist eine Offset.pgn essentiell, Frank Schubert schreibt, es sollte im "Lieferumfang" eine Offset.cbh enthalten sein, ist sie aber nicht beim Download über Walters Link von anno dazumal.
Kann jemand helfen? Grüßt hilfesuchend
Parent - - By Klaus S. Date 2021-09-08 20:08 Edited 2021-09-08 20:12
Aber bei mir ist eine offset.cbh enthalten.
Laut liesmich.txt  soll diese vorher in offset.pgn umgewandelt werden.

(seltsam, warum nicht gleich .pgn Format??)

Auszug aus liesmich.txt:

Die Datei ‚Offset.pgn’

Die in den aktuellen ChessBase-GUIs eingebaute Funktion ‚Testsuite lösen’ erlaubt eine sehr bequeme und zeitsparende Durchführung von Stellungstests, die im CBH-Format vorliegen.
Leider macht die GUI bei der Ermittlung der Lösezeit einen systematischen Fehler. Die komplette Initialisierungszeit eines Programms beim Testen einer neuen Stellung (hauptsächlich verursacht durch Initialisierung der Hashtabellen) wird mit zur Lösezeit hinzugerechnet. Dadurch werden einzelne Programme, die besonders lange für diesen Vorgang benötigen (teilweise länger als 2 Sekunden !), systematisch benachteiligt, insbesondere bei sehr kurzen Lösezeiten. Der Effekt tritt in der Regel nur beim Lösen von Teststellungen auf, nicht aber im praktischen Spiel.
Aus den oben beschriebenen Gründen muss die Initialisierungszeit, der sogenannte ‚TimeOffset’, herausgerechnet werden, d.h. die von Fritz ermittelten Lösezeiten müssen um TimeOffset nach unten korrigiert werden.

Im Lieferumfang des Programms EloStatTS befindet sich eine Datenbank mit dem Namen ’Offset.cbh’.

Sie besteht aus einer Anzahl von Trivialstellungen, in denen eine Seite gerade eine Figur eingestellt hat und die andere Seite durch einen Schlagzug die Figur gewinnen kann. Der entsprechende Zug ist mit großem Abstand der beste in der jeweiligen Stellung. Dies bedeutet, dass jedes gängige Schachprogramm, das zumindest über eine rudimentäre Bewertungsfunktion verfügt, den Lösezug auf Rechentiefe 1 oder 2, also praktisch sofort finden und beibehalten sollte. Gibt die Fritzoberfläche dennoch eine Lösezeit größer als 0 sec heraus, so handelt es sich um die erwähnte Initialisierungszeit des Programms. Diese Zeit kann von Stellung zu Stellung und von Durchgang zu Durchgang schwanken. Daher befinden sich in der Offset-Datenbank mehrere verschiedene Stellungen, die in einer bestimmten Reihenfolge wiederholt werden. Der ermittelte Offset-Wert entspricht dem Mittelwert über alle Stellungen.

Bevor Sie also ein neues Programm über Ihren bevorzugten Stellungstest schicken, nehmen Sie sich einige Minuten Zeit, und lassen das Programm zunächst die Stellungen der Offset-Datenbank abarbeiten (das Umwandeln ins PGN-Format nicht vergessen !).

Beim Auswerten der regulären Stellungsdatenbank liest EloStatTS automatisch die Datei ‚Offset.pgn’ ein und korrigiert die Lösezeiten gemäß den dortigen Ergebnissen. Liegen für ein bestimmtes Programm keine Offset-Werte vor, so werden die ursprünglich ermittelten unkorrigierten Lösezeiten zur Auswertung herangezogen.
Parent - - By Peter Martan Date 2021-09-08 20:24 Edited 2021-09-08 20:38
Sowas Blödes!
Ich hab's jetzt einfach nochmal runtergeladen, und jetzt ist sie dabei, die .cbh.
Danke, Klaus, du hast mich schon wieder blamiert, so wie bei deiner veränderten Studien- Stellung

Dass es als .cbh kommt und in .pgn umgewandelt werden soll, verstehe ich so, dass die Einträge, die das cb- GUI beim Abarbeiten der Suite macht, dazu gehören, damit sie mit denen anderer Sammlungen verglichen werden können, und .pgn ist halt offenbar das Format, mit dem ELOStat arbeitet und ELOStatTS wohl deshalb auch, um nicht mehr am Programm (Tool) ändern zu müssen.
Das mit den Elo ist eh nur eine Spielerei, aber die Lösungszeiten der einzelnen Stellungen sind halt eine Information, die man so auch automatisch bewerten lassen könnte.
Danke nochmals grüßt dankbar
Parent - - By Peter Martan Date 2021-09-10 11:39 Edited 2021-09-10 11:59
Also, ganz so, wie es sollte, funktioniert's nicht, aber wahrscheinlich hab' ich's einfach überfordert das Tool mit 466 Stellungen, mehr als 452 will's nicht gelten lassen.
Dafür zählt's um 4 Programme mehr, als ich habe laufen lassen.

Database  :   crystal.pgn
Programs  :     11
Positions :    452 (tested: 452)

MST1      :      2.1 s (solved positions only)
MST2      :      5.3 s (including unsolved positions)
iMST      :     34.7 s (estimated values for unsolved positions)

Matches

invalid   :   1255/9569 ->  13.12 %
evaluated :   8314/9569 ->  86.88 %
among them
complete  :   5886/8314 ->  70.80 %
uncomplete:   2428/8314 ->  29.20 %

Start Elo :   3500


    Program                                    Elo   +/-  Matches  Score   Av.Op.   S.Pos.   MST1    MST2   RIndex

  1 %mdl40960]                                        : 3828   10    121    87.4 %   3492    20/ 20    1.0s    1.0s   1.00
  2 %mdl32768]                                        : 3680   11    697    74.8 %   3491   116/116    1.0s    1.0s   1.00
  3 Crystal280821-2048MB/DESKTOP-9QB5AU4              : 3536    5   2490    56.4 %   3491   394/452    1.8s    3.5s   0.84
  4 Stockfish070921-2048MB/DESKTOP-9QB5AU4            : 3517    5   2381    53.0 %   3496   363/452    2.1s    4.7s   0.81
  5 DragonbyKomodoChess264-bit-2048MB/DESKTOP-9QB5AU4 : 3497    5   2306    49.5 %   3500   333/452    2.1s    5.5s   0.73
  6 Ceres0.93N-2048MB/DESKTOP-9QB5AU4                 : 3495    6   2329    49.2 %   3501   324/452    1.9s    5.2s   0.75
  7 Arasan23.0-2048MB/DESKTOP-9QB5AU4                 : 3475    6   2301    45.8 %   3504   309/452    2.5s    6.4s   0.64
  8 %evp0                                             : 3473  121     12    47.9 %   3488     1/  2    2.6s    8.8s   0.40
  9 Lc0v0.28.0-2048MB/DESKTOP-9QB5AU4                 : 3465    6   1761    46.2 %   3491   249/317    1.9s    4.7s   0.74
10 Ethereal13.25(NNUE)-2048MB/DESKTOP-9QB5AU4         : 3430    6   2212    38.6 %   3511   258/452    3.0s    8.1s   0.48
11 %mdl32768][%evp0                                   : 3387   91     18    33.5 %   3506     1/  8   14.2s   14.9s   0.07

MST1  : Mean solution time (solved positions only)
MST2  : Mean solution time (solved and unsolved positions)
RIndex: Score according to solution time ranking for each position


Das komplette programs.dat mit den Individual Statistics ist zu groß für hier, daraus nur der Abschnitt des (realen) Besten (es gibt ja noch 2 von den 3 Geisterprogramme, die weiter oben als Crystal gelistet sind):

3 Crystal280821-2048MB/DESKTOP-9QB5AU4     (3536.3 Elo) Trend:  -40.6  < +6.6  < +45.4

Solved positions:  394/452  (87.17 %)
TimeOffset      :    0.04 s
MST1            :    1.84 s
MST2            :    3.52 s
iMST            :   18.24 s
RankIndex       :    0.84

Match results:
Total                                   :  2490 (+ 928,=1186,- 376), 56.4 %


Meine Hoffnung, die Geisterprogramme würden verschwinden, wenn's mehr echte werden (dass sie sozusagen nur Platzhalter wären), dem war aber nicht so.
Eigentlich glaube ich, dass ELOStatTS von Frank Schubert in der Version, die ich über Walter Eigenmanns Link (siehe Eingangsposting, Version 104) runtergeladen habe, nicht mehr ganz kompatibel ist mit dem, was die neueren Fritz- GUIs machen. Ich hab' zwar eh meine älteste installierte Version (F14) verwendet, aber jetzt lasse ich die Sache erstmal wieder auf sich beruhen, bis sich echte Fachleute dazu melden.
Einer wäre schon mal Horst Wandersleben, er hat mir dankenswerter Weise privat schon Tipps dazu gegeben, leider schreibt er hier ja nicht mehr.

Am interessantesten wäre natürlich, was Frank Schubert dazu sagt, von dem habe ich aber auch keine Kontaktdaten, wohl eine hp

https://prabook.com/web/frank.schubert/453151

aber die Contacts davon sind auch eine Prabook- Adresse, und mich auf der Site zu registrieren, ändert daran wahrscheinlich auch nichts, mag ich daher auch nicht eigens machen.
Übrigens, für meine Zwecke reicht das, was funktioniert, ohnehin auch so schon mehr als.

Wozu das alles: um (vielleicht) den Bias, den man durch Abarbeiten von verschiedenen Testsets unter einer gemeinsamen TC (das wichtigste an einer Suite ist ja ansonsten eine zum möglichst gemeinsam definierten Schweregrad passende Hardware-TC) bekommt, dadurch zu verkleinern, dass die Lösezeiten der gelösten Stellungen in der Bewertung diesen Bias wieder teilweise ausgleichen könnten.

Natürlich auch nur, wenn die Sets wenigstens irgendwie zusammenpassen und man sich in der TC nach der schwierigsten Suite richtete.
Auf die Art könnte ich mir (woraus jetzt mal dieser Probeballon hauptsächlich zusammengestoppelt war) Arasan-, Eret- und HTC144 in einer gemeinsamen Wurst vorstellen, dafür war aber bei meinen ersten Runs die TC zu kurz, ich wollte ja nur mal sehen, ob's überhaupt klappt, 15" würde für Arasan auf moderner Hardware gerade noch (eher mehr als) passen, für Eret sowieso weil von Walter Eigenmann so definiert, für HTC sollteb es aber mindestens 30" sein, um den Bias möglichst klein zu halten, der, wenn man die Lösezeiten mitrechnet, mit der Zahl der ungelösten steigen wird. Daher sollten es vermutlich eher 60" sein, weil's ja weniger macht, wenn die leichteren Stellung von fast allen Engines gelöst werden, aber dafür die Lösezeiten auch übers Ranking mitentscheiden.

Just my two cents regards
Parent - - By Peter Martan Date 2021-09-10 21:01 Edited 2021-09-10 21:39
Na bitte, geht doch


    Program                                             Elo   +/-  Matches  Score   Av.Op.   S.Pos.   MST1    MST2   RIndex

  1 Crystal280821-2048MB/DESKTOP-9QB5AU4              : 3545    5   2456    57.7 %   3491   394/452    1.8s    3.5s   0.86
  2 Stockfish070921-2048MB/DESKTOP-9QB5AU4            : 3525    5   2330    54.3 %   3496   363/452    2.1s    4.7s   0.84
  3 DragonbyKomodoChess264-bit-2048MB/DESKTOP-9QB5AU4 : 3505    5   2249    50.8 %   3500   333/452    2.1s    5.5s   0.76
  4 Ceres0.93N-2048MB/DESKTOP-9QB5AU4                 : 3503    6   2267    50.5 %   3500   324/452    1.9s    5.2s   0.78
  5 Lc0v0.28.0-2048MB/DESKTOP-9QB5AU4                 : 3494    6   2257    48.9 %   3501   317/452    2.1s    5.9s   0.72
  6 Arasan23.0-2048MB/DESKTOP-9QB5AU4                 : 3482    6   2230    46.9 %   3504   309/452    2.5s    6.4s   0.66
  7 Ethereal13.25(NNUE)-2048MB/DESKTOP-9QB5AU4        : 3437    6   2141    39.5 %   3511   258/452    3.0s    8.1s   0.50

MST1  : Mean solution time (solved positions only)
MST2  : Mean solution time (solved and unsolved positions)
RIndex: Score according to solution time ranking for each position


Danke an Horst Wandersleben für seine Tipps, dankt
Parent - - By Lothar Jung Date 2021-09-10 23:27 Upvotes 1
Hallo Peter,

Deine zusammengesetzte Suite besteht aus ERET, HTC114 und „Arasan“.

Welche Testsuite ist Arasan?

Danke für den Test!

Lothar
Parent - - By Peter Martan Date 2021-09-11 01:37 Edited 2021-09-11 01:51 Upvotes 1
Im Wesentlichen die 3 Sammlungen waren jetzt einmal ein Probeballon, um Frank Schuberts Programm kennen zu lernen und zu sehen, was es mit den jetzigen Teststellungen und Engines alles kann.
Dazu sind noch 50 Stellungen dabei, von Horst Sikorsky gesammelt, auf dem Schwierigkeitsniveau von HTC114, also auch wirklich schwer.
Die Arasan- Sammlung (auch schon ein Projekt mit Geschichte und vielen Updates) gibt's (mit der neuen Arasan-NNUE- Version 23.0) hier:

https://www.arasanchess.org/testsuite.shtml

Diese 200 sind die in Summe leichtesten, würde ich sagen, Eret ist höher im Schwierigkeitsgrad, HTC114 noch ein bisschen mehr, aber auch der wird ja von den Spitzen- Taktikern mittlerweile zu 90% und mehr gelöst bei einer Rechenzeit von 60" und 16 Kernen. Nun müsste man Arasan mit 10", Eret mit 15 und HTC mit 30" laufen lassen, um die selektivsten Ergebnisse jeder einzelne Suite zu bekommen, aber das alles gilt ganz so wieder nur für die besten Engines und natürlich für starke Hardware, hängt also wieder stark vom Teilnehmerfeld und der Hardware- TC ab.

Um dieses alte Problem von taktischen Stellungstest zu minimieren, scheint mir Frank Schuberts Tool ein sehr gutes, genauere und besser übertragbare Ergebnisse über breitere Teilnehmerfelder und weniger Hardware- TC abhängig zu bekommen, außerdem war halt meine Idee, dass dann das Ablaufen Lassen mehrerer Suiten mit einer gemeinsamen TC, wenn die lang genug ist, auch eher funktionieren könnte, und mit mehr Stellungen bekommt man natürlich auch mehr Selektivität und Sensitivität auf die Art, die stärkeren Engines profitieren ja zusätzlich, wenn sie auch schon den Großteil der Stellungen nur einmal lösen können pro Test, von den kürzeren Lösezeiten. Die Methode, nach der ELOStatTS da vorgeht, ist wirklich raffiniert, finde ich, lies dir mal die Beschreibung durch, die im Download dabei ist, wenn du Zeit und Lust hast.

Das Ganze als Projekt von mir, mit den vielen Stellungen gemeinsam, ist noch sehr unausgegoren, jetzt gehe ich sie mal alle wieder daraufhin durch, dass es nicht zu viele zu schwere (das ist allerdings mittlerweile schon das geringere Problem, mal von eigens Engine- feindlich komponierten Studien abgesehen) und nicht zu viele zu leichte für eine gemeinsame Hardware- TC gibt, und es trotzdem so 500 werden. Und dann wird, auch wenn die Rechenzeit/Stellung vielleicht mit 30" reichen wird, eine Engine je nachdem, wie viele Stellungen sie löst, zwischen 3 und 8 Stunden brauchen, aber das macht ja eigentlich gar nicht mehr den großen Unterschied, wenn man ohnehin schon immer erst abends startet, um über Nacht ein Ergebnis zu bekommen.
Und das beste wäre ja, dass sich die Ergebnisse neuer Engines, Versionen und Netze immer ins schon vorhandene Ranking einfügen würden, so lange die Bedingungen gleich bleiben und man die Lösungs- .pgn immer nur aktualisiert.

Die Zeitaufwände von Vincent Lejeune z.B. sind noch um einiges größer, weil er nur single core und dafür mit 30 Minuten/Stellung testet.
Dazu kommt momentan noch händisches Nachbearbeiten der Lösungs- .pgns, da gibt's zwischen dem, was chessbase schreibt und ELOStatTS problemlos verarbeitet, schon auch noch (für mich) momentan ein paar Hürden.

Kann sein, es wird mir doch wieder zuviel Aufwand, ich muss ja dann mit den Testruns auch wieder von vorn anfangen, wenn die Sammlung steht, Walter Eigenmann, Vincent Lejeune und Jon Dart um Erlaubnis fragen, bevor ich eine zumindest teilweise aus diesen ihren Suiten zusammengebaute veröffentlichen kann, und dann müssen sich die Ergebnisse auch wirklich sehen lassen können, da gibt's also noch einige Fragezeichen und viel Arbeit, mal sehen, ob überhaupt und wann das was wird, zweifelt noch ziemlich
Parent - - By Lothar Jung Date 2021-09-11 14:04 Edited 2021-09-11 14:17
Danke Peter,

wie immer sind Deine Beiträge sehr weiterführend.

Ich teste für den Entwickler von Ceres.

Die Lc0-Entwickler testen anhand der vielen lichess Puzzles, bei sehr kurzer Lösungszeit.

Suites haben aber den Vorteil der Verbreitung, Vergleichbarkeit und der Qualität.

Die ERET Testsuite ist zudem mit thematischen Stellungsangaben versehen: Endspiel, Königsangriff, Unterverwandlung, Zugzwang, Läuferpaar etc..

Was hältst Du davon, die Suites schachthematisch zu gliedern. Dann wäre auch eine stellungsbezogene Auswertung möglich.
Dies wäre für die Entwickler im Hinblick auf Probleme bei Suche und Bewertung als auch für Analysten von Vorteil.

500 Teststellungen sind auch statistisch relevant. Man könnte auch die Stellungen aussortieren, die zu leicht sind. Dann wäre die Aussagekraft noch größer. Die Stellungen, die von allen Engines in sehr kurzer Zeit gelöst werden, verringern die erforderliche Spreizung und Differenzierung.

A bientôt!

Lothar
Parent - - By Peter Martan Date 2021-09-11 16:36 Edited 2021-09-11 16:47 Upvotes 2
Lothar Jung schrieb:

500 Teststellungen sind auch statistisch relevant. Man könnte auch die Stellungen aussortieren, die zu leicht sind. Dann wäre die Aussagekraft noch größer. Die Stellungen, die von allen Engines in sehr kurzer Zeit gelöst werden, verringern die erforderliche Spreizung und Differenzierung.

Zu leicht (wenn nicht ganz leicht) ist nicht leicht zu beurteilen, zu schwer ist leichter.

Gerade seit LC0 haben sich manche Stellungen, die für A-B nur mit sehr viel Zeitaufwand wenn überhaupt lösbar waren, als leicht für diese neue Art von Engines erwiesen, noch bevor NNUE dann wieder die meisten davon auch konnte. Hingegen gibt es gerade auch bei den NN- Engines noch immer Löcher in den taktischen Aufgaben, die für SF et al leicht sind.
Wenn man auschließlich Stellungen nimmt, die nur mit viel Rechenzeit und nur für wenige Engines in dieser Zeit lösbar sind, ist unter diesen Engine Crackers, wie sie Walter Eigenmann auch mal in einer seiner Glarean- Reihen nannte, immer so viel Schwund bei der einen und bei der anderen Engine, dass die gelösten pro einzelner verhältnismäßig mehr zählen als einzelne unter vielen gelösten.
Meine momentane Absicht zielt daher darauf ab, aus ein paar an sich schon mehr oder weniger kompletten Sammlungen in Summe dadurch noch mehr Aussage zu bekommen, dass nicht nur die Zahl der gelösten, sondern unter denen auch die Lösungszeiten mitberechnet werden.

Natürlich würde für diesen Zweck auch eine einzelne Suite wie Eret, HTC14, das komplette Hard Talkchess erst recht, aber auch Arasan schon reichen, um Vergleiche zwischen verschiedenen Engines sehr genau zu messen, ELOStatTS war ja ursprünglich auch nur für einzelne solche Sets gedacht, um eben aus einer begrenzten Stellungzahl ein Maximum an Vergleich- und Reproduzierbarkeit zu gewinnen.

Aber je rarer die Stellungen werden, die für die heutigen Engines nicht leicht sind, umso mehr fände ich halt zum Vergleich nicht nur die gut, die nur einzelne lösen, sondern auch die Frage, wie leicht ist leicht für welche Engine, sprich, wie schnell findet sie, was es zu finden gilt.
Die Spreizung, von der du schreibst, bekommst du natürlich durch wenige schwere Stellungen mit mehr Rechenzeit, besonders, wenn die Lösungszeit auch zählt. Was aber die Rechnung verdirbt und die Spreizung, sagen wir die Selektivität, auf Kosten der Sensitivität gehen lässt, sind Engines, die für den Schweregrad von Sammlung und Zeit zu wenige Lösungen haben. Du musst dich dann auf die Spitzenreiter beschränken, eventuell auf die Versionen und Netze einer einzelnen Engine, aber auch das hast du von zu wenigen gefundenen Lösungen die "Spreizung" hauptsächlich in der Errorbar. Hast du gesehen, dass ELOStatTS bei den 7 Engines meines Versuches, die doch durchaus recht stark gestreut waren, 5-6 Elo Schwankung im 95%-Intervall hatte?

Und dabei war für (LC0 auf 3070- GPU), Arasan und Ethereal die Rechenzeit von 15"/Stellung eher schon zu kurz, zumindest bei den HTC- Stellungen. Insgesamt knapp über oder unter 300/452, die in Wirklichkeit 465 waren, das ist schon grenzwertig. Das Programm funktioniert auf der Basis, dass es die Lösungszeiten der "Matches" in Beziehung setzt, diejenigen Stellungen, die von 2 Engines gemeinsam gelöst werden, wie bei einem richtigen Match anhand der einzelnen Stellung. Wo die fehlen, die Matches, wird die Berechnung um das ungenauer, daher ist das Prinzip, nur Stellungen, die fast unlösbar sind, statistisch weniger brauchbar, es ist vor allem weniger dehnbar in Hinblick auf Teilnehmer, Zahl der Stellungen und Hardware- Zeit.

Wenn du meinst, für die Entwickler wär's gut, Schwächen und Stärken von ihren Engines anhand von Themen zu sehen, ja natürlich (das Billa- Schwein, das Billa- Schwein, es mischt sich endlich wieder ein ), aber irgendwie sind halt leider oder Gott sei Dank schon alle einzelnen Stellungen ein Thema für sich.
Wenn ein Königsangriff einmal durch Bauernsturm funktioniert und einmal über Figurenumgruppierung, Räumung von Feldern, Überlastung von gegnerischen und all diesen schön verbal beschreibbaren Motiven, was bleibt bei all den Stellungen, die man dazu passend finden kann, am Ende aber übrig, außer einer Line, die die beste ist, einzelnen Zügen, die in bestimmter Reihenfolge berechnet werden müssen?
Kurzum, ich würde als Entwickler viele Stellungen hernehmen, die nicht ganz leicht sind, die muss man dann aber auch bewerten, die einzelnen, die nicht annähnernd so schnell gelöst werden wie von anderen Engines, also die echten Löcher in der Suche, bei denen müsste man, wenn man weiß wie und wo, an der (an der Suche) etwas ändern und vielleicht nicht "nur" an der Eval, und was die angeht, heutzutage halt solche Stellungen vielleicht auch vermehrt zum Training der Netze verwenden.

Hier breche ich jetzt mal ab, das führt alles immer gleich so vom Hundertsten ins Tausendste, hatte schon noch einmal soviel wie bis hierher getippt, das hebe ich mir jetzt erstmal noch auf, die wirklich schwierigen Kapitel wären ja die single best moves als solche. Die Stellungen, in denen man sie kennt, sind allesamt leichter als diejenigen, bei denen man eine Anzahl von Abspielen hat, bei denen sich erst durch Vergleich von langzügigen Varianten an deren "Enden" zeigt, welche wie gut sind.
Ein Punktesystem für die best moves ähnlich dem bei der Strategic Test Suite von Swaminathan und Corbit, mit dem man nicht mehr auf single game changing best moves fixiert wäre, das würde die Sache noch ein paar Nummern prickelnder machen
Parent - - By Lothar Jung Date 2021-09-11 21:18
Ja, mein geschätzter Peter,

vielleicht ist es zu vermessen, die Stärken und Schwächen von A/B einerseits und MCTS anderseits zu erkunden.

Ich träume weiter.

Beste Grüße

Lothar
Parent - - By Peter Martan Date 2021-09-12 08:19 Edited 2021-09-12 08:33
Lothar Jung schrieb:

vielleicht ist es zu vermessen, die Stärken und Schwächen von A/B einerseits und MCTS anderseits zu erkunden.

Warum?

Ich hab' jetzt mal 500 Stellungen eines halbwegs gemeinsamen Schweregrades beisammen, veröffentlichen werde ich das aber nicht, da müsste ich bei jeder Stellung die Quellen hineinschreiben, bei den meisten steht irgendwas drin, aber nur für mich verständlich, und die Lines, die teilweise noch von anno Schnee sind, müsste ich auch alle nochmal durchgehen und oder löschen, das ist mir viel zu viel Arbeit für etwas, was ich wahrscheinlich doch noch x-mal ändern werde.

Aber das ist jetzt für 15"/Stellung gut geeignet, um die 80% bei den guten Taktikern zu haben, so wie's z.B. auch für den Eret immer noch passt, besonders, wenn man ihn zusätzlich mit ELOStatTS auswertet, weil dann eben die Lösezeiten auch mitbewertet werden, mitbewertet
Parent - - By Peter Martan Date 2021-09-13 10:13 Edited 2021-09-13 10:44 Upvotes 1
Das muss jetzt noch sein:
Um herauszufinden, was sich mit Verkürzung der Rechenzeiten ändert, bin ich mit der auf 500 Stellungen aufgestockten Sammlung über die ursprünglichen 30 auf 15 und dann noch auf 10"/Stellung runter gegangen, es ist erstaunlich, wie wenig das an den von EloStat berechneten Ergebnissen ändert.

Das war, wie oben gepostet, mit 30" und 465 Stellungen, von denen 452 gewertet wurden, weil sie von mehr als einer Engine gelöst wurden (es also zumindest 1 Match zu berechnen gab):


    Program                                             Elo   +/-  Matches  Score   Av.Op.   S.Pos.   MST1    MST2   RIndex

  1 Crystal280821-2048MB/DESKTOP-9QB5AU4              : 3545    5   2456    57.7 %   3491   394/452    1.8s    3.5s   0.86
  2 Stockfish070921-2048MB/DESKTOP-9QB5AU4            : 3525    5   2330    54.3 %   3496   363/452    2.1s    4.7s   0.84
  3 DragonbyKomodoChess264-bit-2048MB/DESKTOP-9QB5AU4 : 3505    5   2249    50.8 %   3500   333/452    2.1s    5.5s   0.76
  4 Ceres0.93N-2048MB/DESKTOP-9QB5AU4                 : 3503    6   2267    50.5 %   3500   324/452    1.9s    5.2s   0.78
  5 Lc0v0.28.0-2048MB/DESKTOP-9QB5AU4                 : 3494    6   2257    48.9 %   3501   317/452    2.1s    5.9s   0.72
  6 Arasan23.0-2048MB/DESKTOP-9QB5AU4                 : 3482    6   2230    46.9 %   3504   309/452    2.5s    6.4s   0.66
  7 Ethereal13.25(NNUE)-2048MB/DESKTOP-9QB5AU4        : 3437    6   2141    39.5 %   3511   258/452    3.0s    8.1s   0.50

MST1  : Mean solution time (solved positions only)
MST2  : Mean solution time (solved and unsolved positions)
RIndex: Score according to solution time ranking for each position


Und das ist die Auswertung mit denselben Engines und Settings auf derselben Hardware, aber mit 10"/Stellung statt 30 und mit 35 Stellungen mehr:


    Program                                    Elo   +/-  Matches  Score   Av.Op.   S.Pos.   MST1    MST2   RIndex

  1 Crystal280821-nn67...65                  : 3546    5   2529    57.9 %   3491   405/487    1.8s    3.2s   0.85
  2 Stockfish070921-67...65                  : 3521    5   2358    53.5 %   3497   358/487    1.9s    4.0s   0.81
  3 DragonbyKomodoChess264-bit               : 3504    5   2283    50.5 %   3500   332/487    1.9s    4.5s   0.74
  4 Ceres0.93N-609985                        : 3503    6   2331    50.5 %   3500   334/487    1.9s    4.5s   0.70
  5 Lc0v0.28.0-609985                        : 3501    6   2313    50.1 %   3500   328/487    1.9s    4.5s   0.72
  6 Arasan23.0                               : 3482    6   2245    46.8 %   3504   297/487    1.9s    5.0s   0.67
  7 Ethereal13.25(NNUE)                      : 3433    6   2135    39.0 %   3511   247/487    2.5s    6.2s   0.50

MST1  : Mean solution time (solved positions only)
MST2  : Mean solution time (solved and unsolved positions)
RIndex: Score according to solution time ranking for each position


Schon erstaunlich, oder? Das einzige, was sich im Verhältnis der Engines zueinander verändernd auswirkt, wenn man es überhaupt so nennen will, ist das minimale Aufrücken von LC0 zu Ceres. Sogar die absoluten Zahlenwerte selbst ändern sich kaum, das allerdings wieder weniger verwunderlich, wenn man bedenkt, dass ich in beiden Fällen von 3500 Start- Elo ausgegangen bin.

Aber dass das Aufstocken um weitere 35 Stellungen (von denen wieder 13 nur von einer oder keiner Engine gelöst wurden, ein paar sind dabei auch ausgetauscht worden) und die Verkürzung der Rechenzeit auf ein Drittel bei ohnehin schon kurzer TC am Gesamtergebnis so wenig ändert, das motiviert mich schon, mit dieser Art des taktischen Stellungstestens weitere Versuche zu machen.

Man könnte überlegen, die praktisch ungelösten Stellungen rauszunehmen, mach ich aber nicht, weil es lauter solche sind, die zumindest mit Forward- Backward und genug Rechenzeit sehr wohl mit Engines lösbar sind, und es soll die Sammlung ja auch noch in etwas längerer Zukunft gleichermaßen verwendbar sein. Bin neugierig, wie's Anfang nächsten Jahres ausschaut. Mit 2 Extra- Halbzügen in den Lösungsvorschriften (empfiehlt Frank Schubert in seiner Programmbeschreibung) und 10"/Stellung hat ein Durchlauf dieser Engines praktisch immer nur eine gute Stunde gedauert auf meiner Hardware (30 der 32 Threads, um den Rechner verwendungsfähig für Anderes zu halten) die 7 Runs waren gestern leicht über den Tag verteilt unterzubringen.

Dass das Feld der teilnehmenden Engines ruhig auch zumindest so weit gestreut sein darf wie bei den ersten 7 ausprobierten, macht erst recht Spaß
Parent - - By Lothar Jung Date 2021-09-13 11:26 Edited 2021-09-13 11:43
Hallo Peter,

wieder sehr aufschlussreich. Danke!

Die Zeiten von 10/30 sec. eignen sich wegen der Skalierung sehr gut.

Du hast deine RTX 3070 und Threadripper 5950 eingesetzt.
Wie ist die Ratio zwischen der GPU und CPU?
Ich hatte für die Berechnung kürzlich einen Thread eingestellt.

Die geringen Unterschiede zwischen Dragon, Ceres und Lc0 sind für mich etwas überraschend.
Besonders das Abschneiden von Ceres wundert mich ein bisschen.
Du läßt alle Engines auf default laufen?!
Welchen Wert hat die minibatchsize bei Lc0?

Hier zwei Tuniere auf Discord:

**Hardware:** AMD Ryzen 9 5900X CPU @ 3.70GHz, 12 cores, 32GB, gpu RTX 3080, 10GB
**Gauntlet:** SF-dev vs. LC0 384x30b nets
**Network IDs:** 609722, vf2, vf20, 609953, 609958, 610034, 610044
**LC0-version:** v0.27.0
**LC0-options:** minibatch-size=90
**SF-version:** SF-dev 20120516
**SF-options:** 4 Threads, 512MB Hash
**Software:** Cutechess-CLI
**Time control:** LC0: 1,500 nodes/move, SF-dev: 500,000 nodes/move
**Book:** book-ply8-unifen-Q-0.25-0.40.pgn, order=sequential
**Tablebases:** 6-men
**Adjudication:** -draw movenumber=50 movecount=5 score=8 -resign movecount=5 score=1000
**Ordo:** -a 0  -A "Stockfish.dev" -W -D -U "0,1,2,3,4,5,6,7,8,9,10" -s 2000 -n 1
**Comment:** New book

```diff
   # PLAYER               :  RATING  ERROR   POINTS  PLAYED   (%)  CFS(%)      W      D      L  D(%)
   1 lc0.net.609958       :    59.0    3.7  11447.5   20000    57      95   7282   8331   4387    42
+  2 lc0.net.610044       :    54.7    3.7  11343.0   20000    57      59   7118   8450   4432    42
   3 lc0.net.610034       :    54.1    3.8  11328.0   20000    57      54   7159   8338   4503    42
   4 lc0.net.609953       :    53.8    3.7  11321.5   20000    57      55   7161   8321   4518    42
   5 lc0.net.69722vf2     :    53.5    3.8  11313.0   20000    57      55   7177   8272   4551    41
   6 lc0.net.69722        :    53.2    3.7  11305.0   20000    57      60   7258   8094   4648    40
   7 lc0.net.69722vf20    :    52.5    3.8  11289.0   20000    56     100   7164   8250   4586    41
-  8 Stockfish.dev        :     0.0   ----  60653.0  140000    43     ---  31625  58056  50319    41

White advantage = 135.39 +/- 0.70
Draw rate (equal opponents) = 48.46 % +/- 0.15
```

**Gauntlet:** Lc0 T60 vs SF (3|2, TCEC20 book)
**Hardware:** Ryzen 9 5900X + GeForce RTX 3080 Ti
**Software:** BanksiaGUI
**LC0 version:** v0.28.0
**SF version:** 31082021
**SF options:** Threads=20, Hash=4096
**Time control:** 3m + 2s
**Book:** TCEC20 superfinal
**Tablebases:** 3-4-5
```
   # PLAYER                :  RATING  ERROR  POINTS  PLAYED   (%)  CFS(%)    W    D    L  D(%)
   1 Stockfish 31082021    :     0.0   ----    56.5     100    57      99   24   65   11    65
   2 Lc0 v0.28.0 609958    :   -49.5   39.0    43.5     100    44     ---   11   65   24    65
```

Beste Grüße

Lothar
Parent - By Peter Martan Date 2021-09-13 12:09 Edited 2021-09-13 12:48
Lothar Jung schrieb:

Die Zeiten von 10/30 sec. eignen sich wegen der Skalierung sehr gut.

Du hast deine RTX 3070 und Threadripper 5950 eingesetzt.
Wie ist die Ratio zwischen der GPU und CPU?

Wie du in der Elo- Auswertung siehst.

Eine sogenannte Leela- Ratio, wie sie in LC0- Anfängen im Vergleich zum A0- SF8- Match postuliert wurde, war damals schon eine für mich sehr fragwürdige Sache, seither hat sich soviel bei der Software und der Hardware getan, dass ich derlei Rechnungen von anno dazumal gar nicht mehr anstellen würde. Aber schon damals war es eine reine Frage der Performance- Vergleiche bestimmter Engines (-Versionen) und der verwendeten LC0- Netze, ob auch noch andere Engines außer LC0 und SF mitgespielt haben, mit welchen Eröffnungsstellungen und auf welcher Hardware mit welcher TC, also die Hardware- Frage allein war schon nicht mehr abgekoppelt von den anderen Bedingungen beantwortbar, anders als durch 1000er- Matches an Partien bestimmter Begegnungen.

Spätestens seit NNUE kommen auch noch diese Netze als zusätzliches wesentliches Kriterium dazu und ich kann wirklich nicht mehr als diesen einen Vergleich zwischen SF dev., Crystal (mit dem jeweils gerade grünen NNUE), LC0 und Ceres anbieten, aber genauer als du da zahlenmäßig Vergleichbares bekommst, wirst du schon wieder ein paar 1000er Matches ausspielen lassen müssen, um das dann mit anderen Eng-Eng-Gameplaying- Ergebnissen vergleichen zu können.
Sorry, ist aber halt einfach so.

Zitat:
Die geringen Unterschiede zwischen Dragon, Ceres und Lc0 sind für mich etwas überraschend.
Besonders das Abschneiden von Ceres wundert mich ein bisschen.
Du läßt alle Engines auf default laufen?!

Die Unterschiede zwischen Dragon, Ceres und LC0 sind, wenn man's mit dem vergleicht, was bei Eng-Eng-Matches rauskommt, ein bisschen klein, richtig, aber auch schon wieder anders sind sie bei solchen Einzelmatches, wie du sie von Discord zitierst, an denen eben jeweils nur 2, 3 Engines teilnehmen, und einer Rangliste wie der von Andreas Strangmüller

http://www.fastgm.de/16-60-0.6.html

und wieder anders, wenn du das reine NN vs SF- Testing von Stefan Pohl hernimmst:

https://www.sp-cc.de/nn-vs-sf-testing.htm

Und nun habe ich ja ein reines Taktik- Stellungstestset zum Testen, ich finde eigentlich, dass das doch etwas ziemlich Anderes von den Teststellungen im Vergleich zu den Eröffnungsteststellungen der Matches ist und vom praktischen Vorgehen her erst recht.

Dass die Elo im einen und im anderen Fall rein numerisch nicht vergleichbar sind, ist klar, dass die Abstände gerade bei den 3 in Frage stehenden taktisch kleiner sind als im Eng- Eng- Match überrascht eigentlich dann nicht, wenn man sich vor Augen hält, dass ein Teilaspekt, so man sich denn wirklich auf den beschränkt, eigentlich immer kleiner sein müsste als ein "Ganzes", aus dem er heraus gegriffen wird.

Nun könnte man auch noch weiter (vermutlich ziemlich voreilig aber jedenfalls stark vereinfachend) folgern, die "taktische" Stärke habe an der "overall playing strength" (die es natürlich bekanntlich auch nur als Wille und Vorstellung, als sogenannte Elosion, nicht aber in der überprüfbaren Realität gibt) einen geringeren Anteil, als man vielleicht angeonmmen hätte.
Ja, wenn's nicht doch an den Testbedingungen (aber sicher auch an denen) liegt (vor allem aber auch, vergleich mal die Partiezahlen auf den Ranglisten mit den 500 Stellungen und deren Abarbeitung mit 10"/Stellung rein quantitativ), dann wird's vermutlich hauptsächlich daran liegen, dass du dir mehr Wunder der Taktik erwartet hast, als es mir gelang, in Zahlen "nachzuweisen".

Im Ernst, der Sinn der Elostat- Auswertung wäre eben für mich, eine kleinste überpüfbare und reproduzierbare "Wahrheit" zu messen und nicht irgenwelche Wunder der Technik, die ja heutzutage im Computerschach schon länger darin bestehen, dass man Unterschiede zwischen Engines überhaupt noch messen und reproduzieren kann über mehr als ein einzelnes bestimmtes Match hinaus, sei es noch so Partien- reich und noch so clever anhand von Eröffnungsteststellungen zur Remisvermeidung und ultrakurzen TCs aufgesetzt.
Einfacher ausgedrückt: so klein die Eng-Eng-Elo-Unterschiede an der Spitze auch schon sein mögen in den verlässlichen Ranglisten, so sehr sind sie durch STC (um überhaupt auf ausreichend Datenmaterial zu kommen) und raffinierte Eröffnungsvorgaben vielleicht doch auch etwas "aufgebläht", (man spricht in dem Zusammenhang auch immer gern von "Elo- Spreizung", damit sie überhaupt nachweisbar und halbwegs reproduzierbar und in einem vernünftigen Verhältnis zur Errorbar sind.

Noch einfacher ausgedrückt: ja, man könnte enttäuscht sein, aber vielleicht sind ja diese meinen kleinen Elo- Unterschiede einfach die wahreren im Vergleich zu anderen größeren, wer weiß?

Genau das will ich aber bei aller gebotenen Heiterkeit (ernst ist das Leben und heiter die Kunst, nass sind die Pflastersteine, wenn man drauf br...unnenwasser gießt), natürlich mit dem neuerlichen Hinweis auf reine "Taktik- Elo" (nach Martan) zum Unterschied von was auch immer für anderen "Elo- Elo" vermeiden, einen Wettstreit um die "Vergleichbarkeit von Elo- Werten".
Der hat sich spätestens mit A0 vollends aufgehört, finde ich halt, seit sogar Herr Prof. Althöfer seine Einschränkungen im Hinblick auf die Omnipotenz der Aussagekraft der Computerschach- Elo angemeldet hat, befinde ich mich ja (nicht erst seither, aber seither erst recht) in durchaus guter Gesellschaft.
BTW gerade diese von Prof. Althöfer bemängelte Beschränkung auf den einen Parameter Partieergebnis in halben und ganzen Punkte, wäre die Parameter- Vielfalt, die eine Elo- Auswertung wie die von Frank Schubert von Teststellungen mit seinem Programm direkt erfrischend reichlicher. Wieder kann ich nur auf die Liesmich im ELOStatTS- Download verweisen, was da alles an Parametern in die Messung eingeht.

Elo wem Elo gebührt, wer da meint, es handle sich um eine heilige Kuh, deren Namen nicht eitel genannt werden darf, liest meine Postings sowieso schon lange nicht mehr. Für mich ist das einfach eine Maßzahl, die (bestenfalls) innerhalb ihres jeweiligen eng umschriebenen und genau definierten Meßsystems gilt, ich würde ja die vom Fußball auch nicht mit der vom Schach vergleichen, und mache mir trotzdem und erst recht überhaupt nichts draus, dass das nicht viel Sinn hätte.

Just my two cents mal wieder, wiederholt sich...

Edit, edit, edit, die Minbatch- Size, nach der du noch bei LC0 gefragt hattest, war (die default- Einstellung von) 256. Falls du das auch noch fragen hättest wollen und nur vergessen hast, Backend- Options wurden auch nicht geändert, also kein multi_stream, das war ja in der Readme von 28.0 als GPU- abhängig beschrieben ,zu setzen oder eben nicht (default).
Parent - - By Peter Martan Date 2021-09-13 14:16 Edited 2021-09-13 14:50
Lothar Jung schrieb:

Du läßt alle Engines auf default laufen?!

Entschuldige, diese Frage habe ich eigentlich auch nicht direkt beantwortet, höchstens aus dem Kontext.
Aber, ja, die 7 Beispielsengines waren alle default eingestellt, wenn man davon absieht, dass Crystal beim Kompilieren noch eine anderes Netz default hatte.

Jetzt erst werde ich mit Settings anfangen, weil das für mich immer schon ein besonders interessantes Thema war, und man Unterschiede von einzelnen Parameter- Veränderungen ja mit Eng-Eng kaum anders als in einem Framework wie dem von SF beurteilen kann, und auch da das Selfplay etwas ganz anderes ist, als das Match gegen einen oder mehrere Gegner.

Ich habe gerade SugaR ICCF 2.40 mit Materialistic Evaluation Strategy -12, Positional E.S. +12 laufen lassen, 426/500 bei 10" ist wie erwartet ein neuer Rekord an Lösungszahl (auch das letzte grüne SF- Netz)
Mit MultiPV-Search fange ich vorläufig lieber gar nicht erst an, ob's bei nur 10" auch schon was brächte, bezweifle ich ohnehin, aber zumindest den Gegenversuch mit diesen beiden Parametern default (0 und 0) muss ich schon noch machen, da kommt dann also auch noch ein Run.

Sowas lässt sich übrigens anhand der einzelnen gelösten Stellungen (wie auch bei LC0, Ceres und komodo) leichter unterscheiden, da hängt das aber eben wieder viel mehr von der Zahl und Art der Stellungen ab, von der Hardware- TC und vom Zufall, daher wären gerade hier die Elostat- berechneten Unterschiede eben die genaueren.

Schluss jetzt, schließt (vorübergehend)...

Edit, edit, edit: Dass man von der chessbase- Lösungsdatei eine .pgn- Kopie anfertigen muss für den ElostatTS, fand ich eine Weile etwas lästig, jetzt bin ich direkt froh, dass es so ist, sonst hätte ich jetzt wieder von vorn anfangen müssen mit den ersten 7 default- Versionen, in die ich das SugaR- Setting hineingemischt habe. So konnte ich jetzt durch Zurückkopieren der ersten .pgn eine .cbh wieder herstellen, in der SugaR ICCF (an sich ja schon als Engine ein Branch eines Branches bzw. ein Setting per se) noch nicht mitbewertet war.

Eine Rangliste mit default- Engines muss ich natürlich auf die Dauer schon von zumindest einer anderen zweiten, in der auch Settings mitspielen, trennen.
Eigentlich müsste es eine mit Settings sein, von denen man noch nicht weiß, welche die besten welcher Engine sind, und eine weitere Settings- Rangliste mit best settings.


Das Ganze ufert, wie zu erwarten war, relativ schnell aus, man sollte es vielleicht auch nicht übertreiben damit, übertreibt es gleich mal wieder,
Parent - - By Lothar Jung Date 2021-09-13 14:54 Edited 2021-09-13 15:01
„ Edit, edit, edit, die Minbatch- Size, nach der du noch bei LC0 gefragt hattest, war (die default- Einstellung von) 256. Falls du das auch noch fragen hättest wollen und nur vergessen hast, Backend- Options wurden auch nicht geändert, also kein multi_stream, das war ja in der Readme von 28.0 als GPU- abhängig beschrieben ,zu setzen oder eben nicht (default).“

Für Lc0 würde ich minibatchsize auf 90 setzen und auf multi_stream=true ändern.

Lothar
Parent - - By Peter Martan Date 2021-09-13 15:35
Ich würde das auch beides probieren, hätte ich nicht bereits noch und noch andere Engines bzw. Settings von Engines auf der to do list, die ich noch vorher probieren würde wollen.

Und dann musst du dir im Klaren sein, dass es zwei weitere Läufe bräuchte, um die minibatchsize und das multi_stream getrennt voneinander zu testen, weil man sonst nicht wüsste, was wieviel ausmacht, und ganz genau genommen noch einen dritten, in dem beides verändert wäre, weil man sonst nicht (genau) wüsste, wieviel es, gemeinsam verändert, veränderte.
Das multi_stream hab' ich ein bisschen anhand einiger weniger Stellungen ausprobiert, hat bei meiner 3070ti nicht wirklich was gebracht, wohlgemerkt: es waren wieder nur taktische single best move positions.

Wir sind da, wo's weh tut: Parameter- Schrauben in einzelnen Umdrehungs- Auswirkungen zu testen, ist mühsam, in meinem momentanen Sonderfall umso mehr, als ich ja dann auch noch bei jedem neuen Ergebnis abwägen muss, inwieweit die Änderungen auch von Relevanz fürs game playing sein könnten. Dass taktische Overperformance in der Eröffnung auch schaden kann, sieht man allein schon, wenn man sich die time to depth- und die time to best line und time to eval- Verläufe von Eröffnungsstellungen anschaut.

Aber: es geht auf diese Art wenigstens überhaupt mit absehbarem Zeitaufwand relativ zu dem, was dabei raus kommt, und man kann sich daher auch leichter und früher mit der einen oder anderen Antwort zufrieden geben in Hinblick auf viel verschiedene Parameter (und halt auch Engines), vor allem auch immer wieder mal mit der einen unsportlichen und unschönen aber sehr wichtigen Antwort:
Just wurscht, es spielt dies und das einfach keine wirkliche Rolle.

Dementsprechend müsste man halt auch bei aller Fortschritts- Gier im Computerschach ein bisschen anfangen damit leben zu können, dass nicht alles, was sich irgendwie in Zahlen ausdrücken lässt, noch in irgendeinem praktisch relevanten Zusammenhang ein "echter" Fortschritt sein muss.

Oder wieder einmal einfacher ausgedrückt: dies und das wird halt einfach nicht mehr wirklich so schnell so viel besser, wie man gerne hätte und sich selbst vielleicht halt auch einfach weismacht. Positiv gesehen, wohl überwiegend deshalb, weil's schon so gut ist, negativ, weil das, was immer noch nicht optimal ist, immer schwerer zu optimieren geht, und diese blind spots doch so ziemlich allen Engines ziemlich gleich blind sind oder sich in großen Teilen überschneidend, sodass die Fortschritte, die sie alle gemeinsam machen, in Hinblick auf diese blind spots noch einmal deutlich kleiner sind, als in allen möglichen anderen Bereichen, in denen mehr Unterschiede sind.

Vielleicht sollte man sich, um wirklich genaue Aussagen zu Spielstärken- Unterschieden verschiedener Engines und Settings zu bekommen, wirklich immer wieder mal auf die absolute Abhängigkeit des Begriffes der Spielstärke von der einzelnen Stellung besinnen, an der er (der Begriff) sich beweisen muss.

Jede menschliche und jede Engine- Spielstärke im Schach ist immer streng stellungsabhängig zu beurteilen (es geht einfach nicht anders) und so sehr etwas Schwammiges wie "overall playing strength" genau genommen den Test anhand aller Stellungen, die im Schach aufs Brett kommen können, definieren müsste, so sehr sieht man die kleinen und die großen Unterschiede halt immer noch und jetzt erst recht genau und reproduzierbar und auf verschiedene Hardware- Zeiten übertragbar, nur anhand jeweils einer einzelnen Stellung und dem Vergleich dessen, was da im zeitlichen Verlauf von welcher Engine an Output kommt, im Vergleich zu dem, was interaktiv als best lines dieser einen Stellung durch-analylsiert und bekannt ist.
Period.
Parent - - By Lothar Jung Date 2021-09-13 16:19
Hier mein Thread zu der Ratio und minibatchsize:

Best method is to first run lc0 backendbench to set best minibatchsize
Then run lc0 benchmark 34 positions and determine nps>
Example
```.\lc0.exe benchmark --threads= --minibatch-size=136 --nncache=20000000 --max-collision-events=917 --backend=multiplexing --backend-opts="(backend=cuda-fp16,gpu=0)”  --max-prefetch=32 --max-collision-visits=1000 --max-out-of-order-evals-factor=2.4 --multi-gather=true --num-positions=34```

Then run SF bench
Example
```bench 16384 36 10000 current movetime```
Try different ram and number of threads depending on your setup
Determine SF NPS

Ideally  SF NPS  / Lc0 NPS should be in the ratio  1  :  700 - 1000 (With a T60 net)

You can achieve this ratio by increasing / decreasing the  number of threads for SF

Quelle: Discord

Im November kann ich mit meiner Hardware auch testen.
Ist jedenfalls halbes TCEC- Niveau.

Lothar
Parent - - By Peter Martan Date 2021-09-13 21:08 Edited 2021-09-13 21:53
Danke für die Infos, Lothar, aber was habe ich eigentlich davon, wenn ich eine SF- LC0- Hardware-Ratio anhand bestimmter benchmarks kenne?
Ist die performance des Systems, wie auch immer ich die dann messe, dann nicht doch wieder primär von der Engine- Version und den Netzen abhängig?
Und ändert sich die Auswirkung der Ratio pro Version, Setting und Netz in einem irgendwie vorhersagbaren Verhältnis, oder muss ich sie für jedes neue Match mit anderen Teilnehmern und neuen Netzen nicht doch wieder neu bestimmen, die Änderung nämlich?
Und wenn das nicht so wäre, wieso hätte man dann so lange immer wieder auf das ja auch schon irgendwie fragwürdige Match zwischen A0 und SF zurückgegriffen zum Definition der "Leela- Ratio"?

Meine Hoffnung wäre eben, bei performance- tests auf verschiedener Hardware mit verschiedenen TCs vergleichbare, wenn nicht sogar übertragbare Ergebnisse zu bekommen. Richtig ist natürlich trotzdem, dass ich den Hardware- Anteil der Unterschiede wenigstens kennen müsste, aber bei aller Freude an allen möglichen benchmarks bezweifle ich sie bei LC0- artigen Engines halt schon noch etwas mehr als bei A-B, besonders, wenn ich mir allein schon die n/s auf meiner Hardware mit verschieden großen Netzen anschaue, bei NNUE ja auch, aber hast du dir mal die Unterschiede zwischen dem angeschaut, was die weights- files, die im Download von LC0 27 und 28 dabei sind und dem, was an gerade aktuellen Netzen zum Download steht?

Wie auch immer, was ich inzwischen noch herausgefunden habe ist, dass die 6Steiner Syzygys bei SugaR und SugaR ICCF bei der großen Sammlung und 10"/Stellung mehr bremsen als nützen. Bei non-ICCF ist der Unterschied im Zufalls- Bereich (274 mit, 275 ohne), bei ICCF aber nicht, 419 mit, 426 ohne, das gibt Anlass, bei den weiteren best setting- best version- runs die Starken mit ProbeLimit 0 laufen zu lassen, bei der Default- Liste sollte es auf 6 bleiben, weil man das außer bei Ultrakurz- TC ja auch machen wird.

Von LC0 werde ich noch einen Run mit einem neueren Netz und multi stream on starten und der von dir empfohlenen minibatch size, Ceres mit demselben neueren Netz.
Welches Netz interessiert dich momentan am meisten (bei beiden), und welches Setting bei Ceres?
Parent - - By Lothar Jung Date 2021-09-14 09:14
Hallo Peter,

ich würde folgendes zur Diskussion stellen:

1. minibatchsize von 90 könnte durch eine ermittelte MBS ersetzt werden.

2. Eine Ratio ist nur für das Lösungs-Verhältnis A/B : MCTS relevant. Aber dennoch zu vernachlässigen, da sich selbst eine dreifache Steigerung (10:30 sec.) auf die Anzahl der Lösungen kaum auswirkt.

3. Move Over Head habe ich bei allen Engines auf Null gesetzt.

4. CPUCT wird bei Lc0 durch ein Tool getunt. Ich habe dje gefragt, wie man für Ceres, beim 609985 Netz, ein Tuning vornimmt.

5. Syzygys verfälschen die (Endspiel-)Lösungsergebnisse. Lc0/Ceres ist hier, wegen der geringeren Suchtiefe, im Nachteil.

6. Backend: Es sollte nur mit einer GPU getestet werden. Bei Ceres ist es bei 2 oder 3 GPUs nicht trivial das „richtige“ Verhältnis festzulegen. Eine Ausnahme bilden 2 identische GPUs, da man da für Lc0  Demux festlegt oder bei Ceres 50/50 vorgibt.

7. multi stream würde ich mit true und false testen.

8. Netz: das auf Discord am besten getestete Netz.

Grüße

Lothar
Parent - By Peter Martan Date 2021-09-14 09:52 Edited 2021-09-14 10:20
Was LC0 angeht, hab' ich so ziemlich alle deine Vorschläge schon umgesetzt und als Netz das 610021 genommen, weil es Horst interessiert hat.
Minibatch 90 (ich glaub' nicht, dass der benchmark mit dem einen Netz auch fürs andere gilt, sorry,
Zitat:
Ideally  SF NPS  / Lc0 NPS should be in the ratio  1  :  700 - 1000 (With a T60 net)

, wenn ich im Kopf die n/s mit denen von SF vergleiche, komme ich ohnehin so auf 1:1000, allerdings einen wirklichen Unterschied sehe ich aber in der n/s- Zahl bei minibatch 90 zu default 256 auch nicht so, dass es mich veranlassen würde, für jedes neue Netz eine neue Ratio zu erstellen. Mit 90 ist's eher niedriger, bis zu einem Drittel je nach Stellung.
Multi stream on, Syzygy mit 6STeinern (ich mag auch nicht alle default- Engines noch einmal mit anderen als den 6Steinern laufen lassen, keine Engine hat als default- Einstellung die tbs abgedreht, wenn LC0 schlechter damit kann, sorry for LC0, beim extra- Run fürs LC0 Setting mit dem anderen Netz hab' ich halt jetzt mal das Smart Syzygy ausprobiert).
Move overhead wird bei 10" TC zwischen 0 und 200msec, was default ist, auch nicht viel ändern.
All das ist schon durchgelaufen, es war eine Lösung weniger als mit dem 609985- Netz.

Jetzt lass ich Ceres noch einen Run mit Horsts Netz absolvieren, einfach um auch von dieser Engine zu schauen, ob sich bei der Nutzung wieder desselben Netzes (gibt's eigentlich schon eigene von und für Ceres?) etwas von Auswirkung getan hat. Bei Ceres könnte ich die Syzygys nur so abdrehen, dass ich sie aus den GUI- Optionen rausnehme, das steht sich wohl auch nicht dafür.
Wenn ich das jetzt dann noch erledigt habe, kommt wieder eine Rangliste, diesmal mit den Settings drin, verheißt Kleines
Parent - - By Lothar Jung Date 2021-09-13 16:43
Für Ceres sind besonders die MCTS Parameter wichtig.

Hier der Entwickler:

„ I do think MCTS search may have to be tuned  (parameters like CPUCT) for each different net and its characteristics“

Lothar
Parent - By Peter Martan Date 2021-09-14 09:58
Genau, einfach immer ein bisschen rumschrauben an jeder der 6 UCI- Optionen, 100 Testläufe mit dem einen Netz und hundert mit dem anderen, dann sieht man schon, wo's lang geht.
Parent - - By Walter Eigenmann Date 2021-09-12 08:41 Upvotes 1
Gute Zusammenfassung der Stärken und Schwächen von Stellungstests bzw. deren Auswertung, Peter!

"Einfach oder schwierig" - Im Moment arbeite ich mit der Definition:

Wenn 17 von 20 "unterschiedlichen" Test-Engines mit Default-Einstellungen für die Lösung einer Aufgabe
auf handelsüblicher Hardware länger als 30 Sekunden benötigen, ist es eine schwierige Aufgabe.

Gruss: Walter

.
Parent - - By Peter Martan Date 2021-09-12 08:51 Edited 2021-09-12 08:54
Hallo Walter!
Fein, dass du dich auch zur Sache meldest und danke bei der Gelegenheit mal wieder für die viele tolle Arbeit, die du dir im Lauf der Zeit dafür gemacht hast. ELOStatTS war mir lange ziemlich entgangen, das Programm bietet schon noch einiges Zusätzliches, was die Auswertung jeder guten Suite wesentlich verfeinert, findet
Parent - - By Walter Eigenmann Date 2021-09-12 09:07 Upvotes 1
Peter Martan schrieb:
ELOStatTS war mir lange ziemlich entgangen, das Programm bietet schon noch einiges Zusätzliches, was die Auswertung jeder guten Suite wesentlich verfeinert

ELOSTATTS: Ja, ich habe mich seinerzeit länger mit Frank Schubert darüber ausgetauscht; später schob er eine verbesserte Version nach, die weniger Restriktionen enthält bezüglich Anzahl Test-Engines und -Stellungen.
Download hier: https://glarean-magazin.ch/2017/03/05/computerschach-testaufgaben-engines-eigenmann-rapid-engine-test-eret/

Gruss: Walter

.
Parent - By Peter Martan Date 2021-09-12 09:15 Edited 2021-09-12 09:20
Danke, ja, ich hab auch die 104er- Version und ich habe sie natürlich auch über den Link von dir bekommen
- - By Peter Martan Date 2021-09-14 17:34 Edited 2021-09-14 17:42 Upvotes 1
Muss neu anfangen, weil als Antwort passt mit der Seiten- Einrückung des Postings die Tabelle nicht in ihrer ordentlichen Form, da kommen Zeilenumbrüche, wo sie nicht hingehören. Es würde sinngemäß im Anschluss hier folgen:

https://forum.computerschach.de/cgi-bin/mwf/topic_show.pl?pid=147813#pid147813

Zitat:

Wenn ich das jetzt dann noch erledigt habe, kommt wieder eine Rangliste, diesmal mit den Settings drin, verheißt Kleines


    Program                                    Elo   +/-  Matches  Score   Av.Op.   S.Pos.   MST1    MST2   RIndex

  1 SugaRAIICCF2.40avx2-12+12                : 3538    3   6531    55.9 %   3497   417/487    1.7s    2.9s   0.84
  2 SugaRAIICCF2.40avx2-12+12S6              : 3537    3   6470    55.8 %   3497   407/487    1.5s    2.9s   0.85
  3 Crystal280821-nn67...65                  : 3529    3   6383    54.6 %   3497   405/487    1.8s    3.2s   0.81
  4 ShashChess18.1-Tal-nn67...65             : 3518    3   6179    52.9 %   3498   383/487    1.7s    3.5s   0.80
  5 ShashChess18.1-67...65                   : 3518    3   6197    52.9 %   3498   385/487    1.9s    3.6s   0.79
  6 SugaRAI2.40avx2-12+12Syz0                : 3512    3   6101    51.9 %   3499   370/487    1.8s    3.7s   0.80
  7 SugaRAI2.40avx2-12+12                    : 3512    3   6055    51.8 %   3499   369/487    1.7s    3.7s   0.80
  8 CorChess2060921-nn67...65                : 3511    3   6088    51.6 %   3499   371/487    1.9s    3.8s   0.79
  9 Stockfish070921-67...65                  : 3502    3   5994    50.3 %   3500   358/487    1.9s    4.0s   0.77
10 Ceres0.93N-610021                         : 3486    3   6013    47.8 %   3502   331/487    1.8s    4.4s   0.64
11 Ceres0.93N-609985                         : 3486    3   6005    47.8 %   3502   334/487    1.9s    4.5s   0.64
12 DragonbyKomodoChess264-bit                : 3485    3   5889    47.6 %   3502   332/487    1.9s    4.5s   0.68
13 Lc0v0.28.0-609985                         : 3484    3   5967    47.5 %   3502   328/487    1.9s    4.5s   0.68
14 Lc0v0.28.0-60221-minib90-m_s-NNc1mb       : 3483    3   5963    47.2 %   3502   323/487    1.8s    4.6s   0.67
15 Arasan23.0                                : 3463    4   5826    44.3 %   3503   297/487    1.9s    5.0s   0.60
16 Ethereal13.25(NNUE)                       : 3417    4   5585    37.5 %   3506   247/487    2.5s    6.2s   0.43

MST1  : Mean solution time (solved positions only)
MST2  : Mean solution time (solved and unsolved positions)
RIndex: Score according to solution time ranking for each position
Parent - By Lothar Jung Date 2021-09-15 08:34 Edited 2021-09-15 08:41
Guten Morgen Peter,

nachstehend ein High-End Tunier auf Discord.
Es ging ziemlich knapp aus. Ceres und Lc0 auf gleicher Höhe.
Interessant sind auch die jeweils verwendeten Parameter.

**Hardware:** Ryzen 3990X CPU 124 threads; GPU 4 x RTX 3080; 128Gib
**Gauntlet:** SF-050821 vs. LC0 T69722 vf2 & Ceres T69722 vf2
**LC0-version:** v0.28.0
**Lc0 settings:**"Threads": 2,"Backend":"demux","BackendOptions": "multi_stream=true,(backend=cuda-fp16,gpu=0),(backend=cuda-fp16,gpu=1),(backend=cuda-fp16,gpu=2),(backend=cuda-fp16,gpu=3)","MovesLeftMaxEffect": 0.02,"MovesLeftSlope": 0.002,
"RootHasOwnCpuctParams": "false","NNCacheSize": 98304,"RamLimitMb": 96 Gib,"MinibatchSize": 816,"MaxPrefetch": 160,"SmartPruningQEffect": 0.2,
"SmartPruningMinimumBatches": 300,"StrictTiming": "true","TimeManager": "smooth",
"VerboseMoveStats": "true","SyzygyPath": "C:/syzygy","LogFile": "Top 3.txt",
"Ponder": "false""MoveOverheadMs": 200,
**Stockfish settings:** "Threads": 124,"hash": 98304,"Contempt": 24,"AnalysisContempt": "both","Skill Level": 20,
"Move Overhead": 200,"ponder": false,"Slow Mover": 100,"nodestime": 0,"SyzygyProbeDepth": 1,
"Syzygy50MoveRule": true,"SyzygyProbeLimit": 7,"SyzygyPath": "C:/syzygy"  
**Ceres:** v0.93
**Software:** Octagon GUI
**Time control:** 60 minutes plus 60 second increments
**Book:** SuFi 21
**Tablebases:** 6-men
**Adjudication:** Draw after 35 moves, evals <=0.15 for 10 moves; Win evals >10 for 10 moves; 6 piece TBS adj.
**Comments:** There is no discernable difference in strength between Lc0 and Ceres
```   # PLAYER                :  RATING  ERROR  POINTS  PLAYED   (%)  CFS(%)    W    D    L  D(%)
   1 Stockfish 050821       :       0   ----   104.5     200  52.3       81   30  149   21  74.5
   2 Lc0 69722 vf2           :     -15     32    48.0     100  48.0       56   10   76   14  76.0
   3 Ceres-T69722 vf2      :     -18     33    47.5     100  47.5       ---   11   73   16  73.0

White advantage = 76.72 +/- 11.30
Draw rate (equal opponents) = 84.77 % +/- 3.81```
**Median Speeds**
```Name                      Games     Depth       NPS       Nodes per move
-------------------------------------------------------------------------------------
Lc0 69722 vf2         :      100     23           170597     28482503
Stockfish 050821      :      200     50        108303957   9171536725
Ceres-T69722 vf2      :      100     13           186688     37282479```
- - By Peter Martan Date 2021-09-16 10:55 Edited 2021-09-16 11:01
Dieses hier von der STS- site

https://sites.google.com/site/strategictestsuite/sts-stat

runterladbare Tool von Philippe Gailhac funktioniert leider (bei mir) nicht (mehr).

Weiß jemand etwas Neueres (Anderes) zum automatischen Auswerten eines Arena- , Shredder, -Fritz- Ergebnisses einer Testuite, das nicht nur gelöst und ungelöst und die Zeiten speichert, sondern auch Punkte, die für verschieden viele solcher (Punkte) zählenden multiplen Lösungszüge einer dafür gedachten Stellungssammlung?

Für Python- Kundige wär's ja wahrscheinlich auch kein Problem, sowas selbst zu schreiben.


Von Mathias Gemuh gibt's auch noch ein Tool dazu,

https://sites.google.com/site/strategictestsuite/sts-elo-estimate

das die STS- Auswertung in Elo umrechnet, das baut aber auf selbiger (Auswertung der Punkte, die man zuerst haben muss) auf, denkt
Parent - - By Lothar Jung Date 2021-09-16 11:36 Edited 2021-09-16 11:43
Hallo Peter,

Du hast sicher die letzte Version 3.2 runtergeladen. Tool ist von 2010. Vielleicht ist es auf 32 Bit geschrieben und läuft nur im Kompatibilitätsmodus auf Windows 10.

Ansonsten suche ich bei GitHub nach einem ähnlichen Tool.

Nach einer ersten Suche habe ich das gefunden:

https://github.com/fsmosca/chess-artist.  , hatten wir schon mal….

Lothar
Parent - - By Peter Martan Date 2021-09-16 12:16 Edited 2021-09-16 13:04 Upvotes 1
Haha, ja danke, ich wusste, dass du damit kommen würdest, damit ich endlich Python lerne.
Leider ist der Link, den du gerade gesetzt hast, mittlerweile auch nicht mehr aktiv.

Hab' eh schon was von Ed Schröder gefunden, von hier

http://talkchess.com/forum3/viewtopic.php?p=833147#p833147

der dirkte Download- Link daraus:

http://rebel13.nl/dl/mea.7z

Das könnte vermutlich alles und mehr, als was ich brauche, leider lässt sich die mea.exe auch schon mal nicht einfach mit Doppelcklick starten, bzw. das Konsolen- Fenster geht gleich wieder zu, bevor man noch was eingeben kann, bedauert...

Edit, edit, edit, vermutlich bin ich erstmal nur wieder zu dumm dafür, startet man mit Doppelcklick die run_sts.bat
, fängt er gleich zu rechnen an, er bringt die 1500 Stellungen eines sts.2020, den ich noch gar nicht hatte (bei mir waren's noch 1400) und ein paar Beispiel- Engines.
Mit jeder neuen Engine, scheint mir, kommt eine neue Spalte dazu :


    EPD  : sts-sf11.epd
    Time : 1000ms
                                    Top         Top   Max   Total   Time   Hash   
    Engine           Score Rating  Hits  Pos   Rate  Score   Rate    ms     Mb  Cpu
  1  lc0              12410  3307  1066  1500  0.711  15000  0.827   1000    64    1
  2  Komodo 10        12210  3255  1032  1500  0.688  15000  0.814   1000    64    1
  3  Ethereal 12      11991  3196  1011  1500  0.674  15000  0.799   1000    64    1
  4  Xiphos 0.6       11903  3176  1008  1500  0.672  15000  0.794   1000    64    1
  5  Laser 1.7        11859  3164  1001  1500  0.667  15000  0.791   1000    64    1
  6  Andscacs 0.95    11850  3160   991  1500  0.661  15000  0.790   1000    64    1
  7  rofChade 2.2     11780  3140   986  1500  0.657  15000  0.785   1000    64    1
  8  Wasp 3.75        11417  3044   949  1500  0.633  15000  0.761   1000    64    1
  9  Arasan 21.3      11083  2955   910  1500  0.607  15000  0.739   1000    64    1
10  Fire 7.1          11032  2939   903  1500  0.602  15000  0.735   1000    64    1
11  RubiChess 1.4     10762  2867   891  1500  0.594  15000  0.717   1000    64    1

                                    Created with MEA
                                          by
                                       Ferdinand
                                         Mosca
Parent - - By Lothar Jung Date 2021-09-16 12:39
Der Link funktioniert bei mir.

https://github.com/fsmosca/chess-artist
Parent - - By Peter Martan Date 2021-09-16 12:44 Edited 2021-09-16 13:21
Das ist schön für ich, aber wie du oben siehst, brauch ich ihn momentan eh wieder nicht (mehr so dringend).


Das oben war übrigens eine mitgelieferte Datei, scheint's, die, die neu entstehen, kommen der Reihe nach als .html- Files, was den Nachteil hat, dass sie nicht so schön ins tt- Script der Forensoftware passen:
...
aber edit, edit, edit, zum Schluss wird's eh eine schöne .txt- Datei:

    EPD  : epd\sts.epd
    Time : 100ms
                                    Top         Top   Max   Total   Time   Hash   
    Engine           Score Rating  Hits  Pos   Rate  Score   Rate    ms     Mb  Cpu
1  Stockfish 11     13266  3536  1203  1500  0.802  15000  0.884   1000    64    1
2  Komodo 10        13089  3491  1193  1500  0.795  15000  0.873   1000    64    1
3  Ethereal 12      12876  3431  1171  1500  0.781  15000  0.858   1000    64    1
4  Laser 1.7        12868  3431  1164  1500  0.776  15000  0.858   1000    64    1
5  Xiphos 0.6       12815  3415  1149  1500  0.766  15000  0.854   1000    64    1
6  Andscacs 0.95    12774  3407  1161  1500  0.774  15000  0.852   1000    64    1
7  rofChade 2.2     12608  3363  1121  1500  0.747  15000  0.841   1000    64    1
8  lc0              12595  3359  1123  1500  0.749  15000  0.840   1000    64    1
9  Wasp 3.75        12417  3311  1099  1500  0.733  15000  0.828   1000    64    1
10 Arasan 21.3      12033  3208  1052  1500  0.701  15000  0.802   1000    64    1
11 Stockfish 11     11894  3172  1025  1500  0.683  15000  0.793    100    64    1
12 Fire 7.1         11892  3172  1023  1500  0.682  15000  0.793   1000    64    1
13 RubiChess 1.4    11863  3164  1030  1500  0.687  15000  0.791   1000    64    1
14 Komodo 10        11568  3084  1014  1500  0.676  15000  0.771    100    64    1
15 Ethereal 12      11519  3072   988  1500  0.659  15000  0.768    100    64    1
16 Laser 1.7        11006  2935   939  1500  0.626  15000  0.734    100    64    1
17 rofChade 2.2     10961  2923   927  1500  0.618  15000  0.731    100    64    1
18 Wasp 3.75        10940  2915   926  1500  0.617  15000  0.729    100    64    1
19 Andscacs 0.95    10802  2879   913  1500  0.609  15000  0.720    100    64    1
20 Arasan 21.3      10128  2700   832  1500  0.555  15000  0.675    100    64    1
21 RubiChess 1.4     9684  2584   768  1500  0.512  15000  0.646    100    64    1
22 Fire 7.1          9667  2576   768  1500  0.512  15000  0.644    100    64    1
23 Xiphos 0.6        6679  1780   468  1500  0.312  15000  0.445    100    64    1

                                    Created with MEA
                                          by
                                       Ferdinand
                                         Mosca
Parent - By Peter Martan Date 2021-09-16 13:39 Edited 2021-09-16 13:48
Eine der vorhandenen Batch- Dateien so umzubauen, dass die rebel.epd (eine Sammlung von best move- Stellungen mit Punktevergabe für mehrere Lösungen wie bei STS) damit abgearbeitet wird, ist mir leider nur für SF gelungen vorläufig, Ceres und LC0 hätten mit abgearbeitet werden sollen, aber da habe ich beim Auskommentieren der Befehlszeilen für die beiden Engines offenbar was falsch gemacht, oder es fehlten den beiden Engines nur die notwendigen .dll- Files, da muss ich noch ein bisschen weiter probieren, aber 657 Stellungen auf single core mit 1sec. pro Stellung schaut praktisch aus, immerhin hat SF dabei dann immer noch  über die Hälfte an möglichen Punkten erreicht.

   
EPD  : epd\rebel.epd
Time : 100ms
                                                          
    Engine               Score Rating Top  Hits  Pos  Top Rate  Max Score   Total Rate        Time ms    Hash Mb  Cpu
1  Stockfish 21090719   3372  2708        361   657  0.549      4981         0.677            100        64       1

                                    Created with MEA
                                          by
                                       Ferdinand
                                         Mosca

- - By Peter Martan Date 2021-09-18 09:20
Mit ShashChess 18.2 habe ich eine neue Liste gestartet, weil je mehr es werden in einer Lösungs- .cbh, desto mehr Einträge kommen dazu, die man aus der geklonten .pgn wieder händisch herauslöschen muss. Die Einträge sind Hash- Angaben, keine Ahnung, warum die bei manchen Stellungen vor die Kommentare kommen zu den Engines, die teilnehmen, ElostatTS wertet sie dann aber als eigene Engines (das sind die "Geisterengines", von denen ich am Anfang schrieb), das manuelle Löschen mit einem Editor wird immer mühsamer und irgendwann ist das Progamm dann nicht mehr imstande, vernünftige Resultate zu schreiben.

Ich hoffe ein Workaround gefunden zu haben, um das zu vermeiden, auch dieser Tipp kam von Horst Wandersleben.
Die von Fritz geschriebene .pgn mit Aquarium öffnen (gleich die .cbh, die Aqua ja auch sollte lesen können, bringt das GUI regelmäßig zum Absturz, schade) und damit noch einmal ins .pgn- Format (das ja von verschiedenen GUIs verschieden interpretiert wird) von Aquarium (beim mir 2020) exportieren, das hat bei dem einen ersten Versuch, den ich so gemacht habe, die Hash- Einträge nicht übernommen.

http://talkchess.com/forum3/viewtopic.php?p=905971#p905971

Nur, um das Interesse an dem feinen Tool von Frank Schubert weiter zu wecken, weckt weiter
Parent - - By Peter Martan Date 2021-09-18 11:37
Peter Martan schrieb:

Ich hoffe ein Workaround gefunden zu haben

Und möglicher Weise mittlerweile noch eine Nummer einfacher:
Beim Kopieren der chessbase- Lösungsdatenbank über das Menü Datenbank- Textdatei- PGN- Format "Alternativ" statt "Standard" wählen, das hat beim ersten Versuch (mal sehen, wie's weitergehen wird, wenn's wieder mehr Engines werden) keine unnötigen Einträge in den Kommentarzeilen der gewerteten Engines gebracht, ohne, das ich die .pgn noch in ein anderes .pgn- Format eines anderen GUIs konvertieren musste.

    Program                                    Elo   +/-  Matches  Score   Av.Op.   S.Pos.   MST1    MST2   RIndex

  1 SugaRAIICCF2.40avx2-nn-13406b1dcbe0.nnue : 3516    7    871    53.6 %   3492   410/487    1.5s    2.9s   0.89
  2 ShashChess18.2-nn13406b1dcbe0.nnue       : 3504    7    843    50.7 %   3499   399/487    2.0s    3.4s   0.86
  3 Stockfish170921                          : 3479    7    838    45.6 %   3510   354/487    1.8s    4.0s   0.79

MST1  : Mean solution time (solved positions only)
MST2  : Mean solution time (solved and unsolved positions)
RIndex: Score according to solution time ranking for each position


Hier war jetzt übrigens bei allen 3 Engines das Syzygy Probe Limit auf 5 gesetzt, was bei so kurzen TCs vielleicht der beste Kompromiss zwischen 0 und 6 sein könnte.
Ansosnten wieder die üblichen 30 Threads der 16x3.5GHz avx2- CPU und 1G Hash regards
Parent - By Peter Martan Date 2021-09-18 23:37 Edited 2021-09-19 00:10
Peter Martan schrieb:

Beim Kopieren der chessbase- Lösungsdatenbank über das Menü Datenbank- Textdatei- PGN- Format "Alternativ" statt "Standard" wählen

Eine wesentliche Erkenntnis das. Nach einigen weiteren Durchläufen wäre ich jetzt schon ziemlich sicher, dass das das Problem mit den Geisterengines löst.
Bei Ceres und Ethereal die Syzygys aus den GUI- Optionen heraus genommen, weil die keine UCI- Möglichkeit haben, ein Probe Limit zu setzen, aus demselben Grund bei Arasan Tbs Use unchecked, bei LC0 Syzygy Fast Play, bei Dragon Probe Limit 5 Smart Syzygy.


    Program                                    Elo   +/-  Matches  Score   Av.Op.   S.Pos.   MST1    MST2   RIndex

  1 SugaRAIICCF2.40avx2-nn-13406b1dcbe0.nnue : 3549    4   3879    58.0 %   3493   410/487    1.5s    2.9s   0.86
  2 ShashChess18.2-nn13406b1dcbe0.nnue       : 3537    4   3737    56.1 %   3495   399/487    2.0s    3.4s   0.85
  3 BrainLearn13.1-nn-13406b1dcbe0.nnue      : 3521    4   3517    53.5 %   3497   363/487    1.8s    3.9s   0.83
  4 Stockfish170921                          : 3515    4   3508    52.4 %   3498   354/487    1.8s    4.0s   0.80
  5 Ceres0.93N-Syz0                          : 3499    5   3556    49.7 %   3501   332/487    1.9s    4.5s   0.68
  6 DragonbyKomodoChess264-bit-SmartSyz.     : 3496    4   3404    49.3 %   3501   327/487    1.9s    4.5s   0.73
  7 Lc0v0.28.0-NN610021-2T-SyzFP             : 3494    5   3507    49.0 %   3501   323/487    1.9s    4.6s   0.68
  8 Arasan23.0-Syz0                          : 3477    5   3384    46.3 %   3503   304/487    2.1s    5.1s   0.64
  9 RubiChess2.2NN-fb50f(avx2)               : 3462    4   3295    43.9 %   3505   284/487    2.1s    5.4s   0.60
10  Ethereal13.25-Syz0                       : 3433    5   3241    39.3 %   3508   255/487    2.6s    6.1s   0.46

MST1  : Mean solution time (solved positions only)
MST2  : Mean solution time (solved and unsolved positions)
RIndex: Score according to solution time ranking for each position
Up Topic Hauptforen / Schachprogrammierung / Engine Test Tools

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill