Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / 3 tolle Tools für LittleBlitzerGUI
- - By Stefan Pohl Date 2019-05-30 08:44 Edited 2019-05-30 08:46 Upvotes 2
Thomas Zipproth hat 3 Tools geschrieben, die 2 Bugs und einen Schwachpunkt der LittleBlitzerGUI korrigeren. Ich liebe sie! Und möchte auch hier nochmal meinen Dank an Thomas aussprechen. Die Tools sind so cool!!!
Aus Zeitgründen kopiere ich mal die englische Anleitung, die ich geschrieben habe, hier rein, die sich natürlich auch im Download befindet. Das alles nochmal auf Deutsch zu schreiben ist mir echt zuviel Aufwand. Das ganz wesentliche sieht man aber hier, wenn man sich die zwei PGN ansieht (vorher, nachher), man beachte den Anfang...:

[Event "?"]
[Site "?"]
[Date "????.??.??"]
[Round "?"]
[White "Lc0 0.21.1 BT40(40x256)24"]
[Black "Stockfish 190504 bmi2"]
[Result "1-0"]
[SetUp "1"]
[FEN "r1bqkbnr/pp1p1p1p/2n1p1p1/2p5/4P3/5NP1/PPPPQP1P/RNB1KB1R w KQkq - 0 1"]
[PlyCount "130"]

1. Bg2 Bg7 2. O-O Nge7 3. e5 d6 4. exd6 Qxd6 5. d3 O-O 6. Nbd2 Qc7 7. Re1 e5 8.
Nc4 Bg4 9. Qe3 Nb4 10. Qe2 Rae8 11. c3 Nbc6 12. a4 b6 13. Bd2 Nd5 14. h3 Bc8
15. a5 b5 16. Ne3 Nde7 17. a6 Rd8 18. Ng4 f6 19. Be3 Qd6 20. Rad1 Nf5 21. Bc1
Be6 22. Ne3 Nfe7 23. d4 cxd4 24. cxd4 e4 25. d5 Nxd5 26. Qxb5 exf3 27. Bxf3 Ne5
28. Bxd5 Bxd5 29. Rxd5 Nf3+ 30. Kf1 Qe6 31. Red1 Rb8 32. Qa5 Rbe8 33. Ke2 Ng5
34. Rd8 Qc4+ 35. R8d3 Qc8 36. h4 Qg4+ 37. Ke1 Nf3+ 38. Kf1 Qh3+ 39. Ke2 Nh2 40.
Kd2 Ng4 41. Nxg4 Qxg4 42. Kc2 h5 43. Kb1 Re7 44. Bf4 Rff7 45. f3 Qh3 46. Qd5
Kh7 47. Qc4 Qf5 48. Bd6 Re3 49. Qd5 Rxd3 50. Rxd3 Qxd5 51. Rxd5 Rd7 52. Rd2 g5
53. Bb4 Rc7 54. Rc2 Rf7 55. Bd6 Rd7 56. Rc6 Kh6 57. Kc2 Kg6 58. b4 gxh4 59.
gxh4 Bh6 60. Bc5 Bf4 61. Rc8 Be5 62. Kb3 Kf5 63. Ra8 Rd3+ 64. Ka4 Rxf3 65. Rxa7
Rh3 1-0

[Event "?"]
[Site "?"]
[Date "????.??.??"]
[Round "?"]
[White "Lc0 0.21.1 BT40(40x256)24"]
[Black "Stockfish 190504 bmi2"]
[Result "1-0"]
[SetUp "0"]
[PlyCount "138"]

1. e4 {book} c5 {book} 2. Nf3 {book} e6 {book} 3. Qe2 {book} Nc6 {book} 4. g3 {book} g6 {book} 5. Bg2 Bg7 6. O-O Nge7 7. e5 d6 8. exd6 Qxd6 9. d3 O-O 10. Nbd2 Qc7 11. Re1 e5 12. Nc4 Bg4 13. Qe3 Nb4 14. Qe2 Rae8 15. c3 Nbc6 16. a4 b6 17. Bd2 Nd5 18. h3 Bc8 19. a5 b5 20. Ne3 Nde7 21. a6 Rd8 22. Ng4 f6 23. Be3 Qd6 24. Rad1 Nf5 25. Bc1 Be6 26. Ne3 Nfe7 27. d4 cxd4 28. cxd4 e4 29. d5 Nxd5 30. Qxb5 exf3 31. Bxf3 Ne5 32. Bxd5 Bxd5 33. Rxd5 Nf3+ 34. Kf1 Qe6 35. Red1 Rb8 36. Qa5 Rbe8 37. Ke2 Ng5 38. Rd8 Qc4+ 39. R8d3 Qc8 40. h4 Qg4+ 41. Ke1 Nf3+ 42. Kf1 Qh3+ 43. Ke2 Nh2 44. Kd2 Ng4 45. Nxg4 Qxg4 46. Kc2 h5 47. Kb1 Re7 48. Bf4 Rff7 49. f3 Qh3 50. Qd5 Kh7 51. Qc4 Qf5 52. Bd6 Re3 53. Qd5 Rxd3 54. Rxd3 Qxd5 55. Rxd5 Rd7 56. Rd2 g5 57. Bb4 Rc7 58. Rc2 Rf7 59. Bd6 Rd7 60. Rc6 Kh6 61. Kc2 Kg6 62. b4 gxh4 63. gxh4 Bh6 64. Bc5 Bf4 65. Rc8 Be5 66. Kb3 Kf5 67. Ra8 Rd3+ 68. Ka4 Rxf3 69. Rxa7 Rh3 1-0

Download der Tools auf meiner Website, oder direkt hier:

https://www.sp-cc.de/files/zipproth_lbg_tools.zip

Ich habe meine Stockfish-gamesbase, die NeuralNetz-testing gamebase und die Archive mit allen Partien, die ich mit dem HERT-Eröffnungsset gespielt habe (2 große files) bereits konvertiert und neu hochgeladen.

Hier nun das englische ReadMe von mir:

The LittleBlitzerGUI (=LBG in the following text) is a fantastic GUI for engine-tests, because it is easy to use, can handle up to 16 games in parallel (in V2.75) and (most important) is running extremly stable. I use the LBG since 2013 and played millions of games with it on different PCs and had 0 (in words: ZERO) crashes in that time. No other GUI is running that stable, I believe.
But, sadly, the LBG is no longer in development and there are 2 bugs and 1 weak point in it. But for all 3 problems, Thomas Zipproth has written small tools, which solve them.

The first bug of the LBG is the en-passant bug: If an ep-move is in an opening-line, which is given as a PGN-file to the LBG, the captured pawn is not removed from the chessboard! The solution is, to give an EPD-file, containing the endpositions of the opening-lines, to the LBG instead. Thomas wrote the pgn2epd tool, to build an EPD-file containing all endpositions of the opening-lines in a PGN-file in just a second. Use the EPD-file as opening-file in the LBG and the bug is gone.

The weak point of the LBG is, that in the output PGN-file (results.pgn), which contains the played games, the first move is always the first calculated move by the engine and a FEN-Code is written in front of the moves, which contains the starting-position of thinking (= the endposition of the opening-line) – this happens even when a PGN-file is used as opening-file. And, of course, when an EPD-file is used, because of the en-passant bug (see above). Thomas wrote the pgnConvert tool: This tool requires the opening-lines as PGN and EPD and the results.pgn-file with the played games and it builds a new results.pgn-file, whith all games starting with move 1 at the chess starting-position and without FEN-code – awesome. And with the option „book“, the tools writes „book“ as comment behind each ply, which was part of the opening-lines and not played by the engines. Very cool!

The second bug of the LBG is the 50-move-draw bug: The LBG ends games as 50-move-draw not after 100 plies without pawn-move or capture-move, but when 101 plies are played. And some engines (not all, but Stockfish for example) are sometimes playing silly moves, when the bad consequences are behind the 50-move-draw frontier. In rare cases (around 0.4% of all played games), this can lead to losses in a clearly drawn positon. Some years ago, I looked into some hundredthousand games of my former Lightspeed-ratinglist for those games and found, that the engine-ratings were only affected around 1-2 Elo. So, it is meaningless for testing engines, but a bug is a bug...
Thomas wrote the pgn50moves tool, which checks all played games for more than 100 plies without capture- or pawnmove and cuts the game at that point and change the result to 1/2-1/2 if it was a 1-0 or 0-1. So, that bug is gone, too. Awesome!

All 3 tools can be started in the MS-DOS-Window, manually or with a batch-file (.bat-file). Here is the syntax:

pgn2epd openings.pgn
You give the name of your opening.pgn-file to the tool (example here: openings.pgn). A new file is built, called openings.epd. Use that file for your engine-testing in the LBG, instead of your openings.pgn file. The epd-file contains all endpositions of the pgn-file opening-lines...

pgnConvert games.pgn openings.pgn openings.epd games_corrected.pgn [book]
You give the name of the pgn-file, which contains the played games by the LBG to the tool (example here: games.pgn, normally the LBG names it results.pgn) and the filenames of your openings as pgn and epd (the epd-file was built by the pgn2epd-too (see above)). And behind that, the filename of the new PGN-file, where the tool writes into (example here: games_corrected.pgn). And finally, you can write book, if you want, then the tool adds „book“ as a comment to each ply, which is part of your openings.pgn-file, so you can see, where the engines started thinking. The tool writes the corrected games, which start now from the normal chess starting position, not from the point, when the engines started thinking, into the new games_corrected.pgn-file.

pgn50moves games.pgn games_corrected.pgn [0/1] [Cut]
You give the name of the pgn-file, which contains the played games by the LBG to the tool (example here: games.pgn, normally the LBG names it results.pgn). And behind that, the filename of the new PGN-file, where the tool writes into (example here: games_corrected.pgn). Then you can choose 0 or 1:
0 means, only games, which were a 50move-draw and the result was wrong (1-0 or 0-1) are cut after exactly 100 plies without pawn- or capturemove and are corrected to the 1/2-1/2-result.
1 means, all games, which were a 50move-draw are cut after exactly 100 plies without pawn- or capturemove.
Finally you can write a string (example here „Cut“). The tool adds this string to the comment of the last ply of all cutted games, so you can find them with the search-function of an editor or the FritzGUI, when you copy the games out of the pgn in a Fritz-database (a .cbh file).
The tool then writes all games into the new games_corrected.pgn-file.

Complicated? NO! I wrote 2 little batch-files, to make the using of these fantastic tools as easy as possible, you just start them with double-clicking:

Here the Step-by-step manual:

Before you play an engine-tournament using the LBG, you start convert_pgn_to_epd.bat with double-click:
(The folder, which contains convert_pgn_to_epd.bat must also contain pgn2epd.exe and your openings in a pgn-file)
You will see on screen: „Enter the name of your pgn opening-file (without .pgn ending!) The file must be in the working folder !!“
You type the name of your opening.pgn-file without .pgn. Example: Your openings are stored in my_openings.pgn. Then you type just „my_openings“ and press Return. Done... you will find a new file in the folder, called my_openings.epd and you use that epd-file for the LBG engine-tournament.

After the LBG has finished the engine-tournament, you start correct_LBG_games.bat with double-click.
(The folder, which contains correct_LBG_games.bat must also contain pgnConvert.exe, pgn50Moves.exe, your openings in a pgn-file and in an epd-file and the output pgn-file of the LBG engine-tournament (normally it is results.pgn))
You will see on screen: „Enter the name of your opening-files (without .pgn and .epd ending!). Both files (.pgn and .epd) must be in the working folder !!“
You type the name of your opening.pgn and opening.epd file without .pgn or .epd. If your openings are stored in my_openings.pgn and my_openings.epd (example from above), then you type just „my_openings“ and press return.
Then you will see on screen: „Enter the name of the pgn games-file, you want to convert (without .pgn ending!) The file must be in the working folder !!“
You type the name of games-file, the LBG gave you back, after finishing the engine-tournament, without .pgn-ending and press return (normally „results“, because the LBG writes the played games in a file called results.pgn).
Done...
The Batch-file starts pgnConvert first (with [book]-parameter) and after that, pgn50moves, with [0] and [Cut] (see syntax above) and writes the converted and corrected games into a new file, called results_corrected.pgn (if „results“ was your input file).

I believe, that this is really easy...you have to do only one step before playing the engine-tournament with the LBG and one step, after the LBG finished the tournament.

All Kudos are going to Thomas Zipproth. He wrote all 3 tools, which are just awesome...

Copyright for the tools: Thomas Zipproth, 2019
Parent - By Benno Hartwig Date 2019-05-30 10:34
Deepl übersetzt diesen Text folgendermaßen ins Deutsche:

Das LittleBlitzerGUI (=LBG im folgenden Text) ist eine fantastische GUI für Engine-Tests, weil es einfach zu bedienen ist, bis zu 16 Spiele parallel (in V2.75) handhaben kann und (am wichtigsten) extrem stabil läuft. Ich benutze die LBG seit 2013 und habe damit Millionen von Spielen auf verschiedenen PCs gespielt und hatte in dieser Zeit 0 (in Worten: Null) Abstürze. Keine andere GUI läuft so stabil, glaube ich.
Aber leider ist das LBG nicht mehr in der Entwicklung und es gibt 2 Bugs und 1 Schwachstelle darin. Aber für alle 3 Probleme hat Thomas Zipproth kleine Werkzeuge geschrieben, die sie lösen.

Der erste Fehler des LBG ist der en-passant Bug: Befindet sich ein ep-Zug in einer Eröffnungslinie, die als PGN-Datei an die LBG übergeben wird, wird der gefangene Bauer nicht aus dem Schachbrett entfernt! Die Lösung besteht darin, eine EPD-Datei mit den Endpositionen der Eröffnungszeilen an den LBG zu übergeben. Thomas schrieb das Tool pgn2epd, um in nur einer Sekunde eine EPD-Datei zu erstellen, die alle Endpositionen der Öffnungszeilen in einer PGN-Datei enthält. Verwenden Sie die EPD-Datei als Öffnungsdatei im LBG und der Fehler ist behoben.

Der Schwachpunkt des LBG ist, dass in der Ausgabe PGN-Datei (results.pgn), die die gespielten Spiele enthält, der erste Zug immer der erste berechnete Zug der Maschine ist und vor den Zügen ein FEN-Code geschrieben wird, der die Ausgangsposition des Denkens (= die Endposition der Öffnungslinie) enthält - dies geschieht auch dann, wenn eine PGN-Datei als Öffnungsdatei verwendet wird. Und natürlich, wenn eine EPD-Datei verwendet wird, wegen des en-passant Bug (siehe oben). Thomas schrieb das Tool pgnConvert: Dieses Tool benötigt die Eröffnungszeilen als PGN und EPD und die results.pgn-Datei mit den gespielten Partien und es erstellt eine neue results.pgn-Datei, mit allen Partien, die mit Zug 1 an der Schachstartposition und ohne FEN-Code beginnen - fantastisch. Und mit der Option "book" schreiben die Tools "book" als Kommentar hinter jeder Lage, die Teil der Eröffnungszeilen war und nicht von den Motoren gespielt wird.

Der zweite Fehler des LBG ist der 50-Züge-Zug-Bug: Die LBG beendet die Spiele als 50-Züge-Zug nicht nach 100 Lagen ohne Bauernzug oder Capture-Zug, sondern wenn 101 Lagen gespielt werden. Und einige Motoren (nicht alle, aber Stockfish zum Beispiel) spielen manchmal dumme Bewegungen, wenn die schlechten Folgen hinter der 50-Züge-Zug-Grenze liegen. In seltenen Fällen (ca. 0,4% aller gespielten Spiele) kann dies zu Verlusten in einer deutlich gezogenen Position führen. Vor einigen Jahren habe ich mir einige hunderttausend Spiele meiner ehemaligen Lightspeed-Ratingliste für diese Spiele angesehen und festgestellt, dass die Motorbewertungen nur um 1-2 Elo herum beeinflusst wurden. Also, es ist sinnlos für das Testen von Engines, aber ein Bug ist ein Bug.....
Thomas schrieb das pgn50moves-Tool, das alle gespielten Spiele auf mehr als 100 Lagen ohne Capture- oder Bauernzug überprüft und das Spiel an dieser Stelle schneidet und das Ergebnis auf 1/2-1/2 ändert, wenn es ein 1-0 oder 0-1 war. Also, dieser Fehler ist auch weg. Fantastisch!

Alle 3 Tools können im MS-DOS-Fenster gestartet werden, manuell oder mit einer Batch-Datei (.bat-Datei). Hier ist die Syntax:

pgn2epd öffnungen.pgn
Sie geben dem Tool den Namen Ihrer opening.pgn-Datei (Beispiel hier: openings.pgn). Eine neue Datei wird erstellt, genannt openings.epd. Verwenden Sie diese Datei für Ihre Motorprüfung im LBG, anstelle Ihrer Datei openings.pgn. Die epd-datei enthält alle Endpositionen der pgn-Dateiöffnungslinien.....

pgnConvert games.pgn openings.pgn openings.pgn openings.epd games_corrected.pgn[book]
Du gibst dem Tool den Namen der pgn-Datei, die die gespielten Spiele der LBG enthält (Beispiel hier: games.pgn, normalerweise benennt die LBG sie results.pgn) und die Dateinamen deiner Eröffnungen als pgn und epd (die epd-datei wurde von der pgn2epd-too erstellt (siehe oben)). Und dahinter der Dateiname der neuen PGN-Datei, in die das Tool schreibt (Beispiel hier: games_corrected.pgn). Und schließlich kannst du ein Buch schreiben, wenn du willst, dann fügt das Tool "book" als Kommentar zu jeder Lage hinzu, die Teil deiner openings.pgn-Datei ist, damit du sehen kannst, wo die Motoren angefangen haben zu denken. Das Tool schreibt die korrigierten Partien, die nun von der normalen Schachstartposition aus beginnen, nicht von dem Punkt, an dem die Engines mit dem Denken begonnen haben, in die neue games_corrected.pgn-Datei.

pgn50moves games.pgn games_corrected.pgn[0/1] [Schnitt]
Sie geben dem Tool den Namen der pgn-Datei, die die vom LBG gespielten Spiele enthält (Beispiel hier: games.pgn, normalerweise benennt der LBG sie results.pgn). Und dahinter der Dateiname der neuen PGN-Datei, in die das Tool schreibt (Beispiel hier: games_corrected.pgn). Dann kannst du 0 oder 1 wählen:
0 bedeutet, dass nur Spiele, die ein 50-Züge-Zug waren und das Ergebnis falsch war (1-0 oder 0-1), nach genau 100 Lagen ohne Bauern- oder Capturemove geschnitten und auf das 1/2-1/2-Ergebnis korrigiert werden.
1 bedeutet, dass alle Spiele, die ein 50-Züge-Zug waren, nach genau 100 Lagen ohne Bauern- oder Capturemove geschnitten werden.
Schließlich können Sie eine Zeichenkette schreiben (Beispiel hier "Cut"). Das Tool fügt diese Zeichenkette dem Kommentar der letzten Lage aller geschnittenen Spiele hinzu, so dass Sie sie mit der Suchfunktion eines Editors oder des FritzGUI finden können, wenn Sie die Spiele aus dem pgn in eine Fritz-Datenbank (eine.cbh-Datei) kopieren.
Das Tool schreibt dann alle Spiele in die neue games_corrected.pgn-Datei.

Kompliziert? NEIN! Ich habe 2 kleine Batch-Dateien geschrieben, um die Bedienung dieser fantastischen Tools so einfach wie möglich zu gestalten, man startet sie einfach mit einem Doppelklick:

Hier die Schritt-für-Schritt-Anleitung:

Bevor Sie ein Motorenturnier mit dem LBG spielen, starten Sie convert_pgn_to_epd.bat mit einem Doppelklick:
(Der Ordner, der convert_pgn_to_epd.bat enthält, muss auch pgn2epd.exe und Ihre Öffnungen in einer pgn-Datei enthalten.)
Du wirst es auf dem Bildschirm sehen: "Geben Sie den Namen Ihrer pgn-Öffnungsdatei ein (ohne .pgn-Endung!) Die Datei muss sich im Arbeitsordner !!!" befinden.
Du gibst den Namen deiner opening.pgn-Datei ohne .pgn ein. Beispiel: Deine Öffnungen werden in my_openings.pgn gespeichert. Dann geben Sie einfach "my_openings" ein und drücken die Eingabetaste. Fertig.... Sie finden eine neue Datei im Ordner my_openings.epd und verwenden diese epd-datei für das LBG-Motorenturnier.

Nachdem das LBG das Motorenturnier beendet hat, starten Sie correct_LBG_games.bat mit einem Doppelklick.
(Der Ordner, der correct_LBG_games.bat enthält, muss auch pgnConvert.exe, pgn50Moves.exe, Ihre Öffnungen in einer pgn-Datei und in einer epd-datei und die ausgegebene pgn-Datei des LBG-Motor-Turniers enthalten (normalerweise ist es results.pgn)).
Du wirst es auf dem Bildschirm sehen: "Geben Sie den Namen Ihrer Eröffnungsdateien ein (ohne.pgn und.epd Endung!). Beide Dateien (.pgn und.epd) müssen sich im Arbeitsordner !!" befinden.
Sie geben den Namen Ihrer opening.pgn- und opening.epd-Datei ohne .pgn oder.epd ein. Wenn deine Öffnungen in my_openings.pgn und my_openings.epd gespeichert sind (Beispiel von oben), dann gibst du einfach "my_openings" ein und drückst Return.
Dann werden Sie auf dem Bildschirm sehen: "Geben Sie den Namen der pgn-Spieldatei ein, die Sie konvertieren möchten (ohne.pgn-Endung!) Die Datei muss sich im Arbeitsordner !!!" befinden.
Sie geben den Namen der Spieldatei ein, die Ihnen die LBG nach Beendigung des Motorenturniers zurückgegeben hat, ohne .pgn-Ende und drücken die Eingabetaste (normalerweise "Ergebnisse", da die LBG die gespielten Spiele in eine Datei namens results.pgn schreibt).
Erledigt.....
Die Batch-Datei startet pgnConvert zuerst (mit[book]-Parameter) und danach pgn50moves, mit[0] und[Cut] (siehe Syntax oben) und schreibt die konvertierten und korrigierten Spiele in eine neue Datei namens results_corrected.pgn (wenn "results" Ihre Eingabedatei war).

Ich glaube, dass das wirklich einfach ist.... man muss nur einen Schritt machen, bevor man das Motor-Turnier mit der LBG spielt und einen Schritt, nachdem die LBG das Turnier beendet hat.

Alle Anerkennung gehen an Thomas Zipproth. Er hat alle 3 Tools geschrieben, die einfach fantastisch sind.....

Copyright für die Tools: Thomas Zipproth, 2019
Up Topic Hauptforen / CSS-Forum / 3 tolle Tools für LittleBlitzerGUI

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill