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.zipIch 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