Page 11 of 16

Re: Sapeli 1.0 - New chess engine

Posted: Tue Jan 14, 2020 11:05 am
by Roland Chastain
Hello! I updated my "all versions" package (for Windows), after I found a way to build without dependency to cygwin1.dll. The package include 32 bits binaries, so maybe it can be useful to someone, in addition to the binaries offered by Günther.

I started from v1.17, since I couldn't compile the previous versions.

Regards.

Roland

Re: Sapeli 1.0 - New chess engine

Posted: Thu Jan 16, 2020 7:21 pm
by JohnWoe
Thanks for the builds!
Added them here: https://github.com/SamuraiDangyo/Sapeli ... naries/bin

I think 1.0 -> 1.17 were a bit messy code.

The latest version 1.69 is a lot easier to read. Made mgen much simpler. Much easier to read its code. Not published it yet. It's gonna be a little bit faster.

Edit:
Released: https://github.com/SamuraiDangyo/Sapeli ... /tag/v1.69
Source code: https://github.com/SamuraiDangyo/Sapeli

+ Slightly faster
+ Easier to read source code

Re: Sapeli 1.0 - New chess engine

Posted: Thu Jan 16, 2020 8:19 pm
by Ras
The UCI spec says that "isready" must also be answered during search - but only "stop" is evaluated. This might make GUIs kill Sapeli because they may assume it is hanging.

Re: Sapeli 1.0 - New chess engine

Posted: Thu Jan 16, 2020 8:34 pm
by Roland Chastain
JohnWoe wrote: Thu Jan 16, 2020 7:21 pm Thanks for the builds!
Added them here: https://github.com/SamuraiDangyo/Sapeli ... naries/bin
You're welcome. Maybe you could make some cleaning in your bin directory (that is, delete the previous versions of my package)? And by the way, it isn't really important, but my first name is Roland, and not Ronald. :)

I will update the package tonight, to include v1.69. The link will be the same.[edit] Done.[/edit]

Re: Sapeli 1.0 - New chess engine

Posted: Fri Jan 17, 2020 10:18 am
by Guenther
JohnWoe wrote: Thu Jan 16, 2020 7:21 pm ...
The latest version 1.69 is a lot easier to read. Made mgen much simpler. Much easier to read its code. Not published it yet. It's gonna be a little bit faster.

Edit:
Released: https://github.com/SamuraiDangyo/Sapeli ... /tag/v1.69
Source code: https://github.com/SamuraiDangyo/Sapeli

+ Slightly faster
+ Easier to read source code
Updated my compilations too.
http://rwbc-chess.de/download.htm

Re: Sapeli 1.0 - New chess engine

Posted: Fri Jan 17, 2020 12:21 pm
by JohnWoe
Ras wrote: Thu Jan 16, 2020 8:19 pm The UCI spec says that "isready" must also be answered during search - but only "stop" is evaluated. This might make GUIs kill Sapeli because they may assume it is hanging.
Thanks! I didn't know that. Fixed.
Roland Chastain wrote: Thu Jan 16, 2020 8:34 pm
JohnWoe wrote: Thu Jan 16, 2020 7:21 pm Thanks for the builds!
Added them here: https://github.com/SamuraiDangyo/Sapeli ... naries/bin
You're welcome. Maybe you could make some cleaning in your bin directory (that is, delete the previous versions of my package)? And by the way, it isn't really important, but my first name is Roland, and not Ronald. :)

I will update the package tonight, to include v1.69. The link will be the same.[edit] Done.[/edit]
My bad. :oops: Fixed.

Been testing against Stockfish that there's no illegal activity in 40/1s Chess960 games. Sometimes Sapeli even scores a win against the latest Stockfish.
[pgn][Event "?"]
[Site "?"]
[Date "2020.01.17"]
[Round "88"]
[White "Stockfish 160120 64"]
[Black "Sapeli 1.70"]
[Result "0-1"]
[TimeControl "40/1"]
[Variant "fischerandom"]
[PlyCount "150"]
[FEN "rkbqrbnn/pppppppp/8/8/8/8/PPPPPPPP/RKBQRBNN w EAea - 0 1"]
[SetUp "1"]

{--------------
r k b q r b n n
p p p p p p p p
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
P P P P P P P P
R K B Q R B N N
white to play
--------------}
1. e4 {+0,72/8 1,1}
{s}
1... d5 {-0,04/6 3}
{s}
2. Qh5 {+1,51/8 1,1}
{s}
2... Nf6 {+0,81/6 3}
{s}
3. Qd1 {-1,27/9 1,0}
{s}
3... dxe4 {+0,90/6 3}
{s}
4. Ng3 {-0,75/10 1,1}
{s}
4... Qd4 {+1,05/6 2,9}
{s}
5. d3 {-0,53/9 1,2}
{s}
5... exd3 {+0,99/5 2,8}
{s}
6. Nf3 {-0,19/8 1,1}
{s}
6... Qxf2 {+1,20/5 2,8}
{s}
7. Qxd3 {-0,36/9 1,2}
{s}
7... Qb6 {+0,90/5 2,6}
{s}
8. Be3 {-0,30/8 1,1}
{s}
8... Qd6 {+0,90/5 2,6}
{s}
9. Ne4 {-0,44/7 1,1}
{s}
9... Nxe4 {+1,07/5 2,5}
{s}
10. Qxe4 {+0,11/9 1,1}
{s}
10... g6 {+0,97/5 2,4}
{s}
11. Bf4 {+3,40/9 1,2}
{s}
11... Qc5 {+1,02/5 2,2}
{s}
12. Re3 {+3,57/8 1,1}
{s}
12... Bf5 {+1,41/4 2,2}
{s}
13. Rc3 {-2,07/8 1,2}
{s}
13... Qxc3 {+3,38/6 2,2}
{s}
14. Qa4 {-4,65/11 1,2}
{s}
14... Qc6 {+5,94/6 2,1}
{s}
15. Bb5 {-2,45/10 1,2}
{s}
15... Qxc2+ {+3,42/6 2,2}
{s}
16. Qxc2 {-1,80/1 0,1}
{s}
16... Bxc2+ {+3,42/6 2,2}
{s}
17. Kxc2 {-3,94/11 2,3}
{s}
17... Rd8 {+3,56/6 2,2}
{s}
18. Nd2 {-4,19/11 2,4}
{s}
18... a6 {+3,79/5 2,2}
{s}
19. Bc4 {-4,86/11 2,6}
{s}
19... b5 {+3,81/5 2,2}
{s}
20. Be2 {-4,26/10 2,7}
{s}
20... Rd5 {+3,88/5 2,1}
{s}
21. Nb3 {-2,99/10 2,1}
{s}
21... O-O-O {+3,97/5 2,1}
{s}
22. a4 {-2,61/11 3}
{s}
22... g5 {+4,11/5 2,2}
{s}
23. Bg3 {-2,40/11 2,5}
{s}
23... Ng6 {+4,11/5 2,1}
{s}
24. axb5 {-1,27/11 1,9}
{s}
24... axb5 {+3,89/6 2,2}
{s}
25. Bf3 {-2,44/11 3}
{s}
25... e6 {+2,89/6 2,2}
{s}
26. Ra8+ {-2,58/13 4}
{s}
26... Kd7 {+2,93/7 2,3}
{s}
27. Bxd5 {-3,00/11 1,8}
{s}
27... exd5 {+2,69/7 2,2}
{s}
28. Ra6 {-3,38/12 4}
{s}
28... f5 {+3,05/6 2,3}
{s}
29. Nd4 {-3,70/12 4}
{s}
29... f4 {+3,12/6 2,2}
{s}
30. Bf2 {-4,23/10 2,1}
{s}
30... Bc5 {+3,17/6 2,3}
{s}
31. Bg1 {-4,54/11 4}
{s}
31... Re8 {+3,39/6 2,3}
{s}
32. Ra5 {-5,54/11 4}
{s}
32... c6 {+3,47/5 2,2}
{s}
33. b4 {-5,26/13 3}
{s}
33... Bxd4 {+3,98/6 2,3}
{s}
34. Bxd4 {-5,42/12 1,9}
{s}
34... Re2+ {+3,12/5 2,3}
{s}
35. Kd3 {-5,65/12 4}
{s}
35... Rxg2 {+3,42/6 2,3}
{s}
36. Ra7+ {-4,30/11 1,7}
{s}
36... Ke6 {+3,37/7 2,3}
{s}
37. Rc7 {-6,37/12 5}
{s}
37... Rxh2 {+4,12/6 2,2}
{s}
38. Rxc6+ {-7,31/11 4}
{s}
38... Kf5 {+4,07/6 2,3}
{s}
39. Rf6+ {-6,93/11 4}
{s}
39... Kg4 40. Rd6 {-7,39/12 5}
{s}
40... f3 {+4,30/7 3}
{s}
41. Be3 {-7,87/10 1,1}
{s}
41... Ne7 {+4,32/6 3}
{s}
42. Rd7 {-6,84/9 1,1}
{s}
42... Nc6 {+4,46/7 3}
{s}
43. Kc3 {-7,45/9 1,0}
{s}
43... f2 {+5,19/7 3}
{s}
44. Bxf2 {-6,92/10 1,2}
{s}
44... Rxf2 {+5,28/7 3}
{s}
45. Rxh7 {-7,54/8 1,1}
{s}
45... d4+ {+6,53/7 3}
{s}
46. Kd3 {-7,20/9 1,1}
{s}
46... Rf4 {+6,55/7 3}
{s}
47. Rb7 {-6,69/9 1,2}
{s}
47... Nxb4+ {+6,69/7 2,9}
{s}
48. Ke2 {-7,66/9 1,2}
{s}
48... d3+ {+6,75/7 2,7}
{s}
49. Ke3 {-7,42/9 1,1}
{s}
49... Rf3+ {+6,77/7 2,6}
{s}
50. Kd2 {-6,69/11 1,1}
{s}
50... Rf2+ {+6,95/7 2,6}
{s}
51. Kc3 {-7,35/11 1,3}
{s}
51... Rf1 {+5,74/6 2,5}
{s}
52. Kxb4 {-4,61/9 1,7}
{s}
52... d2 {+6,18/7 2,4}
{s}
53. Rd7 {-54,54/12 2,2}
{s}
53... d1=R {+6,29/7 2,2}
{s}
54. Re7 {-7,54/10 2,4}
{s}
54... Rb1+ {+7,46/6 2,2}
{s}
55. Kc3 {-7,66/10 2,7}
{s}
55... b4+ {+7,70/6 2,4}
{s}
56. Kc4 {-7,61/10 2,6}
{s}
56... Rf4+ {+7,75/6 2,4}
{s}
57. Kd3 {-7,71/12 2,9}
{s}
57... b3 {+7,80/6 2,3}
{s}
58. Kc3 {-7,94/10 2,9}
{s}
58... Rf3+ {+7,83/6 2,3}
{s}
59. Kb4 {-7,75/9 1,4}
{s}
59... b2 {+7,88/6 2,3}
{s}
60. Re2 {-47,96/12 3}
{s}
60... Kf5 {+8,03/6 2,3}
{s}
61. Rd2 {-16,94/13 3}
{s}
61... g4 {+8,31/6 2,4}
{s}
62. Rd5+ {-19,61/12 3}
{s}
62... Ke6 {+8,32/7 2,3}
{s}
63. Rd2 {-18,87/13 2,8}
{s}
63... g3 {+8,36/6 2,3}
{s}
64. Re2+ {-10,10/15 3}
{s}
64... Kd5 {+8,37/7 2,4}
{s}
65. Rd2+ {-18,45/20 3}
{s}
65... Ke4 {+8,39/7 2,4}
{s}
66. Re2+ {-18,62/16 3}
{s}
66... Re3 {+8,47/7 2,4}
{s}
67. Rc2 {-65,55/13 3}
{s}
67... Kf3 {+11,90/7 2,4}
{s}
68. Kb5 {-72,40/13 3}
{s}
68... g2 {+11,91/6 2,3}
{s}
69. Kb4 {-83,32/11 3}
{s}
69... g1=Q {+16,75/6 2,4}
{s}
70. Kb5
{-M22/10 0.031s}
70... Rb3+ {+19,78/5 2,3}
{s}
71. Kc4
{-M8/16 0.015s}
71... Qg8+ {+24,31/5 2,4}
{s}
72. Kd4
{-M8/20 0.014s}
72... Rd1+ {+24,78/5 2,3}
{s}
73. Rd2
{-M6/24 0.013s}
73... Rxd2+ {+30,10/4 2,5}
{s}
74. Ke5
{-M4/245 0.014s}
74... Rb6 {+104,85/4 1,5}
{s}
75. Kf5
{-M2/1 0s}
75... Qd5#
{+104.85/3 0.001s, Black mates} 0-1
[/pgn]

Of course Stockfish kills Sapeli in the long run :P

Code: Select all

Score of Sapeli 1.70 vs Stockfish 160120 64: 4 - 523 - 3  [0.010] 530
Elo difference: -791.75 +/- 179.03
Finished match

Re: Sapeli 1.0 - New chess engine

Posted: Sat Jan 18, 2020 7:01 am
by Roland Chastain
JohnWoe wrote: Fri Jan 17, 2020 12:21 pm My bad. :oops: Fixed.
My main preoccupation wasn't relative to the spelling of my name, but to the many packages including the same files. As I provide to you an updated ZIP archive with all the versions, it doesn't seem useful to keep the previous versions of the package. But, of course, it's up to you. :wink:

Re: Sapeli 1.0 - New chess engine

Posted: Fri Jan 24, 2020 10:14 am
by JohnWoe
I decided to publish Sapeli 1.70

Release: https://github.com/SamuraiDangyo/Sapeli ... /tag/v1.70
Master: https://github.com/SamuraiDangyo/Sapeli

Changes:
Removed dev branch.
Some bug fixes + cleanups + speedups.
data.h -> Can be modified by users.
consts.h -> Can't be. Sapeli will crash if you do.
Improved code so it's easier to read.

1+0.01 960. Against SF 11. No time losses / illegal moves / crashes. Score is pretty bad tho :P
Summary: https://github.com/SamuraiDangyo/bins/b ... _11_64.txt

Code: Select all

Score of Sapeli 1.70 vs Stockfish 11 64: 14 - 980 - 6  [0.017] 1000
Elo difference: -704.84 +/- 85.33
Finished match
I wanted to add ponder to this version. But the UCI spec is so awful I decided not to implement it here. The only pondering Sapeli (source code) is found here: https://github.com/SamuraiDangyo/Sapeli ... ponder.zip

Re: Sapeli 1.0 - New chess engine

Posted: Fri Jan 31, 2020 6:09 pm
by Guenther
I have omitted 1.70 by accident and already uploaded 1.71 (though not released by yourself).
BTW I have created a single download now, which contains all my compilations.

Due to server migration it might take some time until it is reachable from the new server.
(still directing to the old IP here, despite request was sent 6 hours ago and TTL was announced as 4 hours...)

Edit:
While writing this it finally worked ;-)

Re: Sapeli 1.0 - New chess engine

Posted: Sat Feb 01, 2020 8:44 pm
by JohnWoe
Thanks for the builds!
Added them here: https://github.com/SamuraiDangyo/Sapeli ... ersions.7z

Yes, I never released 1.71. But it is pretty much the same as 1.70. I added a few const modifiers and documented the code. So it is pretty the same as 1.70. I'll move to 1.72 in the future.

I'm pretty happy with 1.71 atm. On my laptop I got bench 6.6M NPS. I have never seen so high numbers. Seems to have no problems converting KNBK and KQKR into wins. This increased speed seems to help as Sapeli can complete higher depths. Especially in endgames.

I also uploaded some .epd here if anybody finds them useful. I sometimes run these through Sapeli:

WAC: https://github.com/SamuraiDangyo/bins/b ... er/wac.epd
Silver 201 test suite: https://github.com/SamuraiDangyo/bins/b ... er_wac.epd
Bratko-Kopec test suite: https://github.com/SamuraiDangyo/bins/b ... -suite.epd
Colditz-test suite: https://github.com/SamuraiDangyo/bins/b ... -suite.epd
Hard-Talkchess-2020-set: https://github.com/SamuraiDangyo/bins/b ... 20-set.epd