I updated the link in my signature to Nemeton 1.7.
Bugfix to stop it being unintentionally blind in simpler endings.
More aggressive pruning. Tried this before but with other changes it now actually kinda works.
More compact bits of code.
In Nemeton3D the queen and knight are improved as well as some usual uninteresting changes.
Three versions included. Single core Nemeton with source code. 2, 3 or 4 core NemetonSMP and Nemeton3D.
Nemeton 1.7
Moderators: hgm, Rebel, chrisw
-
- Posts: 179
- Joined: Fri Feb 14, 2014 10:53 pm
- Location: the Netherlands
-
- Posts: 41455
- Joined: Sun Feb 26, 2006 10:52 am
- Location: Auckland, NZ
-
- Posts: 919
- Joined: Tue Nov 24, 2015 9:11 pm
- Location: upstate
Re: Nemeton 1.7
Nemeton doesn't seem to be compliant with the CECP move format spec. Thus as soon as it moves a pawn to the last rank the game is terminated due to an illegal move.
[pgn][Event "test"] [Site "test"] [Date "2018.07.08"] [Round "1"] [White "Nemeton 1.7"] [Black "Embla 1.0.3 64-bit"] [Result "0-1"] [ECO "A05"] [GameDuration "00:04:32"] [GameEndTime "2018-07-08T23:59:43.063 Eastern Daylight Time"] [GameStartTime "2018-07-08T23:55:10.505 Eastern Daylight Time"] [Opening "Reti Opening"] [PlyCount "104"] [Termination "illegal move"] [TimeControl "40/120"] 1. Nf3 {book} Nf6 {book} 2. d4 {book} g6 {book} 3. Bg5 {book} Bg7 {book} 4. c3 {book} b6 {book} 5. Bxf6 {-0.14/12 3.2s} exf6 {-0.31/11 1.9s} 6. e4 {+0.11/13 3.6s} Qe7 {+0.08/11 2.1s} 7. Bd3 {+0.36/12 2.0s} f5 {-0.31/11 3.4s} 8. O-O {+0.90/13 3.0s} f4 {-0.50/12 2.9s} 9. Qd2 {+0.90/13 4.5s} g5 {-0.51/12 3.3s} 10. Na3 {+0.93/12 4.8s} g4 {-0.18/13 2.5s} 11. Ne1 {+0.94/12 3.0s} Bh6 {-0.41/12 3.4s} 12. f3 {+1.00/11 2.9s} d6 {-0.38/12 2.4s} 13. fxg4 {+0.91/11 2.4s} Bxg4 {-0.43/12 3.3s} 14. Qc2 {+0.97/11 3.0s} a5 {-0.20/10 3.1s} 15. Kh1 {+1.18/11 3.9s} Nd7 {-0.38/10 3.1s} 16. Nf3 {+1.09/11 3.5s} c6 {-0.58/11 5.4s} 17. d5 {+1.22/12 4.3s} Bxf3 {-0.53/12 8.4s} 18. Rxf3 {+1.28/12 2.4s} Ne5 {-1.07/13 7.1s} 19. Rh3 {+1.38/12 2.4s} Qg5 {-1.06/12 6.8s} 20. dxc6 {+1.99/11 2.9s} Nxc6 {-1.06/10 6.1s} 21. Bb5 {+3.44/12 2.2s} Kd7 {-2.00/10 0.74s} 22. Qa4 {+3.78/11 1.9s} Rac8 {-2.84/10 1.2s} 23. Nc4 {+4.41/12 4.8s} Rhg8 {-3.10/9 1.1s} 24. Rg1 {+4.84/12 2.9s} Ke7 {-3.48/9 0.79s} 25. Bxc6 {+4.91/12 2.7s} Qc5 {-3.63/10 0.90s} 26. Rxh6 {+5.08/12 4.4s} Qxc6 {-3.78/9 1.3s} 27. Qxc6 {+5.45/14 3.3s} Rxc6 {-4.17/11 0.61s} 28. Ne5 {+5.78/14 1.9s} Rcc8 {-5.32/10 0.82s} 29. Nd3 {+5.52/14 2.2s} Rg4 {-5.35/11 1.7s} 30. Rxh7 {+6.46/13 2.0s} a4 {-5.55/10 0.62s} 31. h3 {+6.98/13 2.3s} Rg3 {-6.53/9 0.53s} 32. Nxf4 {+7.68/14 3.7s} a3 {-6.98/9 0.77s} 33. Rf1 {+8.47/13 2.5s} Rf8 {-7.79/7 0.51s} 34. bxa3 {+8.71/13 3.1s} Kd7 {-8.57/10 0.83s} 35. Nd5 {+9.77/15 3.8s} Ke8 {-8.97/9 0.56s} 36. Rb1 {+9.95/15 3.9s} Kd7 {-10.17/11 0.71s} 37. Rxb6 {+10.21/14 2.6s} Rg5 {-10.03/10 0.66s} 38. Ra6 {+10.92/14 3.2s} Re5 {-9.85/10 0.57s} 39. c4 {+12.74/14 3.9s} Ree8 {-11.58/9 0.55s} 40. Rh6 {+13.66/17 8.0s} Re6 {-11.95/10 0.57s} 41. Rh5 {+15.47/15 4.4s} Rfe8 {-11.42/11 2.1s} 42. Ra7+ {+19.67/15 2.5s} Kd8 {-16.40/11 2.8s} 43. Rh7 {+19.79/15 1.7s} R8e7 {-18.02/13 1.9s} 44. Nxe7 {+20.43/16 2.4s} Rxe7 {-19.33/15 2.6s} 45. Rh8+ {+22.73/16 4.0s} Re8 {0.012s} 46. Ra8+ {+26.20/15 4.1s} Ke7 {-19.39/13 3.0s} 47. Rhxe8+ {+28.09/14 6.1s} Kd7 {-19.48/13 1.8s} 48. h4 {+28.89/13 3.3s} Kc6 {-19.42/13 1.9s} 49. Rac8+ {+31.57/13 7.5s} Kd7 {-19.71/12 4.9s} 50. h5 {+M12/13 2.4s} d5 {-99.79/12 1.7s} 51. h6 {+M10/13 4.9s} f6 {-99.91/10 1.4s} 52. h7 {+M8/12 3.0s} f5 {-99.93/9 1.5s, White makes an illegal move: h7h8} 0-1 [/pgn]
Eng-to-GUI comm from the end of the game:
It shows a promotion to Queen in the PV, yet the actual move sent to the GUI seems to be missing the Queen suffix.
[pgn][Event "test"] [Site "test"] [Date "2018.07.08"] [Round "1"] [White "Nemeton 1.7"] [Black "Embla 1.0.3 64-bit"] [Result "0-1"] [ECO "A05"] [GameDuration "00:04:32"] [GameEndTime "2018-07-08T23:59:43.063 Eastern Daylight Time"] [GameStartTime "2018-07-08T23:55:10.505 Eastern Daylight Time"] [Opening "Reti Opening"] [PlyCount "104"] [Termination "illegal move"] [TimeControl "40/120"] 1. Nf3 {book} Nf6 {book} 2. d4 {book} g6 {book} 3. Bg5 {book} Bg7 {book} 4. c3 {book} b6 {book} 5. Bxf6 {-0.14/12 3.2s} exf6 {-0.31/11 1.9s} 6. e4 {+0.11/13 3.6s} Qe7 {+0.08/11 2.1s} 7. Bd3 {+0.36/12 2.0s} f5 {-0.31/11 3.4s} 8. O-O {+0.90/13 3.0s} f4 {-0.50/12 2.9s} 9. Qd2 {+0.90/13 4.5s} g5 {-0.51/12 3.3s} 10. Na3 {+0.93/12 4.8s} g4 {-0.18/13 2.5s} 11. Ne1 {+0.94/12 3.0s} Bh6 {-0.41/12 3.4s} 12. f3 {+1.00/11 2.9s} d6 {-0.38/12 2.4s} 13. fxg4 {+0.91/11 2.4s} Bxg4 {-0.43/12 3.3s} 14. Qc2 {+0.97/11 3.0s} a5 {-0.20/10 3.1s} 15. Kh1 {+1.18/11 3.9s} Nd7 {-0.38/10 3.1s} 16. Nf3 {+1.09/11 3.5s} c6 {-0.58/11 5.4s} 17. d5 {+1.22/12 4.3s} Bxf3 {-0.53/12 8.4s} 18. Rxf3 {+1.28/12 2.4s} Ne5 {-1.07/13 7.1s} 19. Rh3 {+1.38/12 2.4s} Qg5 {-1.06/12 6.8s} 20. dxc6 {+1.99/11 2.9s} Nxc6 {-1.06/10 6.1s} 21. Bb5 {+3.44/12 2.2s} Kd7 {-2.00/10 0.74s} 22. Qa4 {+3.78/11 1.9s} Rac8 {-2.84/10 1.2s} 23. Nc4 {+4.41/12 4.8s} Rhg8 {-3.10/9 1.1s} 24. Rg1 {+4.84/12 2.9s} Ke7 {-3.48/9 0.79s} 25. Bxc6 {+4.91/12 2.7s} Qc5 {-3.63/10 0.90s} 26. Rxh6 {+5.08/12 4.4s} Qxc6 {-3.78/9 1.3s} 27. Qxc6 {+5.45/14 3.3s} Rxc6 {-4.17/11 0.61s} 28. Ne5 {+5.78/14 1.9s} Rcc8 {-5.32/10 0.82s} 29. Nd3 {+5.52/14 2.2s} Rg4 {-5.35/11 1.7s} 30. Rxh7 {+6.46/13 2.0s} a4 {-5.55/10 0.62s} 31. h3 {+6.98/13 2.3s} Rg3 {-6.53/9 0.53s} 32. Nxf4 {+7.68/14 3.7s} a3 {-6.98/9 0.77s} 33. Rf1 {+8.47/13 2.5s} Rf8 {-7.79/7 0.51s} 34. bxa3 {+8.71/13 3.1s} Kd7 {-8.57/10 0.83s} 35. Nd5 {+9.77/15 3.8s} Ke8 {-8.97/9 0.56s} 36. Rb1 {+9.95/15 3.9s} Kd7 {-10.17/11 0.71s} 37. Rxb6 {+10.21/14 2.6s} Rg5 {-10.03/10 0.66s} 38. Ra6 {+10.92/14 3.2s} Re5 {-9.85/10 0.57s} 39. c4 {+12.74/14 3.9s} Ree8 {-11.58/9 0.55s} 40. Rh6 {+13.66/17 8.0s} Re6 {-11.95/10 0.57s} 41. Rh5 {+15.47/15 4.4s} Rfe8 {-11.42/11 2.1s} 42. Ra7+ {+19.67/15 2.5s} Kd8 {-16.40/11 2.8s} 43. Rh7 {+19.79/15 1.7s} R8e7 {-18.02/13 1.9s} 44. Nxe7 {+20.43/16 2.4s} Rxe7 {-19.33/15 2.6s} 45. Rh8+ {+22.73/16 4.0s} Re8 {0.012s} 46. Ra8+ {+26.20/15 4.1s} Ke7 {-19.39/13 3.0s} 47. Rhxe8+ {+28.09/14 6.1s} Kd7 {-19.48/13 1.8s} 48. h4 {+28.89/13 3.3s} Kc6 {-19.42/13 1.9s} 49. Rac8+ {+31.57/13 7.5s} Kd7 {-19.71/12 4.9s} 50. h5 {+M12/13 2.4s} d5 {-99.79/12 1.7s} 51. h6 {+M10/13 4.9s} f6 {-99.91/10 1.4s} 52. h7 {+M8/12 3.0s} f5 {-99.93/9 1.5s, White makes an illegal move: h7h8} 0-1 [/pgn]
Eng-to-GUI comm from the end of the game:
Code: Select all
271.207: > time 7643
271.207: > otim 13335
271.207: > f6f5
271.239: < 2 2868 0 76 h8=Q fxe4 Qf6 dxc4 Qe7+
271.239: < 2 3025 0 123 exd5 Kd6 c5+ Kxd5 Rh8 Kxc5
271.239: < 2 3156 0 158 cxd5 fxe4 h8=Q e3 Rxe3
271.239: < 3 3016 0 276 cxd5 Kd6 h8=Q fxe4 Qd4 Kxd5
271.239: < 3 29992 0 353 h8=Q fxe4 Rxe4 dxe4 Qe8+ Kd6 Rc6+ M4#
271.239: < 4 29994 0 599 h8=Q fxe4 Qg7+ Kd6 c5+ M3#
271.239: < 5 29994 0 1125 h8=Q fxe4 Qg7+ Kd6 c5+ M3#
271.239: < 6 29994 0 2710 h8=Q fxe4 Qg7+ Kd6 c5+ M3#
271.254: < 7 29994 1 7154 h8=Q fxe4 Qg7+ Kd6 c5+ M3#
271.254: < 8 29994 2 17158 h8=Q fxe4 Qg7+ Kd6 c5+ M3#
271.285: < 9 29994 4 40919 h8=Q fxe4 Qg7+ Kd6 c5+ M3#
271.348: < 10 29994 11 115233 h8=Q fxe4 Qg7+ Kd6 c5+ M3#
271.551: < 11 29994 31 335556 h8=Q fxe4 Qg7+ Kd6 c5+ M3#
272.034: < 12 29994 79 921463 h8=Q fxe4 Qg7+ Kd6 c5+ M3#
273.173: < nodes:2154275 nps:1116200 time:193
273.173: < move h7h8
273.173: > force
273.173: > result 0-1 {White makes an illegal move: h7h8}
Tirsa Poppins
CCRL
CCRL
-
- Posts: 179
- Joined: Fri Feb 14, 2014 10:53 pm
- Location: the Netherlands
Re: Nemeton 1.7
What GUI is that? Every GUI I ever tried got this right ofcourse and promoted to queen when unspecified.
Nemeton only sent a suffix with underpromotion. I remember doing that for a reason but who knows what that reason was. So I updated the archive to something that sends a "q" on queen promotion and maybe I'll find out.
Regardless I'm done with this.
Nemeton only sent a suffix with underpromotion. I remember doing that for a reason but who knows what that reason was. So I updated the archive to something that sends a "q" on queen promotion and maybe I'll find out.
Regardless I'm done with this.
-
- Posts: 182
- Joined: Sun Jun 12, 2016 5:44 pm
- Location: London
- Full name: Vincent
Re: Nemeton 1.7
http://wbec-ridderkerk.nl/html/UCIProtocol.htmlStan Arts wrote: ↑Mon Jul 09, 2018 9:21 pm What GUI is that? Every GUI I ever tried got this right ofcourse and promoted to queen when unspecified.
Nemeton only sent a suffix with underpromotion. I remember doing that for a reason but who knows what that reason was. So I updated the archive to something that sends a "q" on queen promotion and maybe I'll find out.
Regardless I'm done with this.
The UCI spec does seem to require a character denoting the desired piece, even when not underpromoting. It gives the example "e7e8q", showing that 'q' must be specified for 'queen', so the GUI does not have to assume queen promotion.
-
- Posts: 1296
- Joined: Sun Mar 12, 2006 6:46 pm
- Location: Kelowna
- Full name: Tony Mokonen
Re: Nemeton 1.7
The crapware known as Windows Defender seems to think that Nemeton 1.7 contains a trojan named Trojan:Win32/Fuery.B!cl (non-SMP version, the SMP version seems OK). I am sure this is a false positive, since the latest 32 bit version of Booot is also detected as containing this very same trojan. I notice that both of these programs are written in Pascal, so maybe there is something that the compiler (you are using Delphi?) places in the executables that is causing these false positives.
-
- Posts: 919
- Joined: Tue Nov 24, 2015 9:11 pm
- Location: upstate
Re: Nemeton 1.7
Cute Chess 1.1.0.
Problem solved, thank you.
Nemeton is an Xboard engine, however Xboard protocol also requires the suffix:konsolas wrote: ↑Mon Jul 09, 2018 9:36 pm http://wbec-ridderkerk.nl/html/UCIProtocol.html
The UCI spec does seem to require a character denoting the desired piece, even when not underpromoting. It gives the example "e7e8q", showing that 'q' must be specified for 'queen', so the GUI does not have to assume queen promotion.
APPENDIX A: MOVE FORMAT
Moves should be specified in coordinate notation, e.g. e2e4 or g8f6.
For promotions the chosen piece should be indicated by a lower-case suffix, e.g.a7a8q or e2e1n.
Tirsa Poppins
CCRL
CCRL
-
- Posts: 179
- Joined: Fri Feb 14, 2014 10:53 pm
- Location: the Netherlands
Re: Nemeton 1.7
Had a Heisenbug. That disappeared when I tried to find it in debug mode or when changing compiler version. Noticed my node counts were different in certain positions in debug mode but nothing breaks. Then I compiled some ancient versions of Nemeton and the problem has always been there. Yikes the stuff of nightmares.
So by elimination I isolated the problem to my evaluation. Then to my pawn stuff and finally to my kinginreachc function.
Apparently this:
breaks in old Free Pascal versions (like 2.6.4 which used to give me the fastest raw speed compiles) but hopping the 3 over like so fixes it. Whatever.
Newer versions of Free Pascal get it right so I should read release notes.
While I was at it I've redone the PV collection and now the Winboard version comes in at a hefty 116 kB which is over 20 Elo per kilobyte and that's WAY stronger than Stockfish.
So by elimination I isolated the problem to my evaluation. Then to my pawn stuff and finally to my kinginreachc function.
Apparently this:
Code: Select all
if 3+tboard[2] and 15-kirp and 15 <= kirp shr 4+tdepth and 1 then kinginreachc:=1;
Code: Select all
if tboard[2] and 15-kirp and 15 <= kirp shr 4+tdepth and 1-3 then kinginreachc:=1;
While I was at it I've redone the PV collection and now the Winboard version comes in at a hefty 116 kB which is over 20 Elo per kilobyte and that's WAY stronger than Stockfish.