Sapeli 1.0 - New chess engine

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

User avatar
Roland Chastain
Posts: 640
Joined: Sat Jun 08, 2013 10:07 am
Location: France
Full name: Roland Chastain

Re: Sapeli 1.0 - New chess engine

Post by Roland Chastain »

JohnWoe wrote: Mon Jul 29, 2019 12:03 pmThis was actually a bad bug. I wrote this tactical loop for simplicity not for speed. Still it got out of array bounds. Removed those infected 1.3x releases.
+ other small fixes
Thank you for the new version. It seems to work correctly. However, I noticed that after each Sapeli 1.40 game, Cutechess-cli sends a warning: "EngineProcess: Destroyed while process is still running."

Updated my Windows binaries package. All recompiled with -DNDEBUG option.
Qui trop embrasse mal étreint.
JohnWoe
Posts: 491
Joined: Sat Mar 02, 2013 11:31 pm

Re: Sapeli 1.0 - New chess engine

Post by JohnWoe »

A very modest update. Sapeli 1.42
+ Support for clang++
+ fixes / just polishing code tho could be 1 ELO stronger...

Source code: https://github.com/SamuraiDangyo/Sapeli/tree/1.42
Release: https://github.com/SamuraiDangyo/Sapeli ... s/tag/1.42

Now 4 compilers can compile Sapeli:

Code: Select all

gcc     -bench : = nodes 122767285 mnps 4.091 time 30.010
g++     -bench : = nodes 116360446 mnps 3.877 time 30.010
clang++ -bench : = nodes 23643080 mnps 0.788 time 30.018
clang   -bench : = nodes 23846371 mnps 0.794 time 30.016
JohnWoe
Posts: 491
Joined: Sat Mar 02, 2013 11:31 pm

Re: Sapeli 1.0 - New chess engine

Post by JohnWoe »

Sapeli 1.43!
~30 ELO stronger than v1.42. In chess960 games.
Mainly tuning eval and removing hurting eval terms.
Source code is cleaner and smaller. (Sapeli.c is now just 91588 bytes!). I'm making Sapeli source code smaller in future. Not adding more and more stuff.

Release: https://github.com/SamuraiDangyo/Sapeli ... s/tag/1.43
Master: https://github.com/SamuraiDangyo/Sapeli
Dev branch: https://github.com/SamuraiDangyo/Sapeli/tree/dev
versions.txt: https://github.com/SamuraiDangyo/Sapeli ... s.txt#L149
User avatar
mclane
Posts: 18748
Joined: Thu Mar 09, 2006 6:40 pm
Location: US of Europe, germany
Full name: Thorsten Czub

Re: Sapeli 1.0 - New chess engine

Post by mclane »

Speed is not everything. Sometimes evaluation replaces depth.
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....
User avatar
Roland Chastain
Posts: 640
Joined: Sat Jun 08, 2013 10:07 am
Location: France
Full name: Roland Chastain

Re: Sapeli 1.0 - New chess engine

Post by Roland Chastain »

@JohnWoe

Congratulations for the 1.44 version.

I still get a warning from CuteChess Cli "EngineProcess: Destroyed while process is still running". Not had time to look into the source code, but I imagine that it is related to the management of the "quit" command. I have that issue since 1.40.

Updated my Windows binaries.
Qui trop embrasse mal étreint.
camava
Posts: 42
Joined: Tue Apr 09, 2019 8:10 pm
Full name: mario varela

Re: Sapeli 1.0 - New chess engine

Post by camava »

Hello.have anyone a Sapeli Android version? Thank you very much
JohnWoe
Posts: 491
Joined: Sat Mar 02, 2013 11:31 pm

Re: Sapeli 1.0 - New chess engine

Post by JohnWoe »

Roland Chastain wrote: Tue Sep 17, 2019 9:15 am @JohnWoe

Congratulations for the 1.44 version.

I still get a warning from CuteChess Cli "EngineProcess: Destroyed while process is still running". Not had time to look into the source code, but I imagine that it is related to the management of the "quit" command. I have that issue since 1.40.

Updated my Windows binaries.
Thanks and for the builds too! :D
I added them here: https://github.com/SamuraiDangyo/Sapeli ... naries/bin

I tried to fix that bug. I used to just call exit(). Maybe Windows handles exit() differently. But now I handle it differently.

I also released Sapeli 1.45: Lots of cleanups etc.
Release: https://github.com/SamuraiDangyo/Sapeli ... /tag/v1.45
Master: https://github.com/SamuraiDangyo/Sapeli/
Changes: https://github.com/SamuraiDangyo/Sapeli ... s.txt#L156
JohnWoe
Posts: 491
Joined: Sat Mar 02, 2013 11:31 pm

Re: Sapeli 1.0 - New chess engine

Post by JohnWoe »

One more release as I was experimenting and there was 1 mistake. Stronger as the Eval() behaves now as it should.

Sapeli has been on diet and now the whole program is just "(3691 sloc) and 86.9 KB" according to github. Which is good.

Sapeli 1.46
Release: https://github.com/SamuraiDangyo/Sapeli ... /tag/v1.46
Master: https://github.com/SamuraiDangyo/Sapeli
JohnWoe
Posts: 491
Joined: Sat Mar 02, 2013 11:31 pm

Re: Sapeli 1.0 - New chess engine

Post by JohnWoe »

Sapeli 1.47

Some improvements. Lots of fixes etc. A bit stronger than 1.46. For example I removed close_to_enemy_king eval term it didn't make any sense to have your bishop closer to enemy king. etc. Have fun :P

Release: https://github.com/SamuraiDangyo/Sapeli ... /tag/v1.47
Master: https://github.com/SamuraiDangyo/Sapeli
More: https://github.com/SamuraiDangyo/Sapeli ... s.txt#L164
Dev branch: https://github.com/SamuraiDangyo/Sapeli/tree/dev
A fast profile build I compiled: https://github.com/SamuraiDangyo/Sapeli ... it-profile
JohnWoe
Posts: 491
Joined: Sat Mar 02, 2013 11:31 pm

Re: Sapeli 1.0 - New chess engine

Post by JohnWoe »

Sapeli 1.53
Source code: https://github.com/SamuraiDangyo/Sapeli
Release: https://github.com/SamuraiDangyo/Sapeli ... /tag/v1.53

- Somehow I forgot knight outposts in earlier versions.
- Simplifications.
- Added check extensions.
- PST are now const.

Nice underpromotion in the end. :D In 1 minute Chess960 games v1.53 beats v1.52 ( 11 - 6 - 3 ) type of scores all the time.
[pgn][Event "Computer Chess Game"] [Site "pc"] [Date "2019.10.14"] [Round "20"] [White "Sapeli 1.52"] [Black "Sapeli 1.53"] [Result "0-1"] [TimeControl "40/60"] [Variant "fischerandom"] [FEN "nbbrkqnr/pppppppp/8/8/8/8/PPPPPPPP/NBBRKQNR w HDhd - 0 1"] [SetUp "1"] {-------------- n b b r k q n r p p p p p p p p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P P P P P P P P N B B R K Q N R white to play --------------} 1. d4 {+0,05/9} Nf6 {-0,05/9 2,0} 2. Bf4 {+0,11/9 1,9} Nh5 {+0,00/8 1,9} 3. Be3 {+0,15/9 1,9} d5 {+0,06/9 1,9} 4. Nf3 {+0,16/9 1,8} Nb6 {+0,05/9 1,8} 5. O-O-O {+0,07/9 1,7} Nc4 {+0,10/9 1,7} 6. Nb3 {+0,08/9 1,7} c6 {+0,10/8 1,7} 7. c3 {+0,09/9 1,6} g6 {+0,12/7 1,6} 8. Bd3 {-0,08/8 1,6} Nxe3 {+0,14/8 1,6} 9. fxe3 {-0,14/9 1,5} Qh6 {+0,14/7 1,5} 10. Qf2 {-0,17/8 1,5} Nf6 {+0,20/7 1,5} 11. h3 {-0,20/8 1,4} Ne4 {+0,22/8 1,4} 12. Bxe4 {-0,32/9 1,4} dxe4 {+0,31/8 1,4} 13. Ne5 {-0,27/8 1,3} O-O {+0,28/7 1,3} 14. Nc5 {-0,38/8 1,3} f5 {+0,44/8 1,3} 15. Kb1 {-0,39/8 1,3} Qg7 {+0,58/8 1,3} 16. Nc4 {-0,55/8 1,3} b6 {+0,55/8 1,3} 17. Nb3 {-0,66/8 1,3} Be6 {+0,66/8 1,3} 18. Na3 {-0,67/9 1,3} a5 {+0,68/8 1,3} 19. Rhf1 {-0,69/8 1,3} a4 {+0,66/7 1,3} 20. Nd2 {-0,72/9 1,3} Qf7 {+0,75/7 1,3} 21. c4 {-0,81/9 1,3} Bd6 {+0,80/8 1,3} 22. Rc1 {-0,83/9 1,3} b5 {+0,81/8 1,3} 23. d5 {-0,85/8 1,3} cxd5 {+1,49/8 1,3} 24. cxb5 {-1,55/8 1,3} Bxa3 {+1,67/8 1,3} 25. bxa3 {-1,64/9 1,3} Rb8 {+1,74/9 1,3} 26. Rc5 {-1,75/9 1,3} Bd7 {+1,79/8 1,3} 27. Kc2 {-1,86/9 1,3} Rfc8 {+1,88/8 1,3} 28. Rxc8+ {-1,94/10 1,3} Rxc8+ {+1,95/9 1,3} 29. Kb1 {-2,05/10 1,3} Bxb5 {+1,95/8 1,3} 30. g4 {-2,05/9 1,3} e6 {+2,12/8 1,3} 31. gxf5 {-2,31/9 1,3} exf5 {+2,19/7 1,3} 32. Rg1 {-2,86/9 1,3} Qf8 {+2,78/7 1,3} 33. Kb2 {-2,98/8 1,3} Ba6 {+3,64/7 1,3} 34. h4 {-3,70/8 1,3} Qf6+ {+5,58/7 1,3} 35. Kb1 Rb8+ {+9,49/7 1,3} 36. Nb3 {-14,24/10 1,5} axb3 {+18,90/8 1,3} 37. Rc1 {-104,85/11 1,0} bxa2+ {+18,90/6 1,3} 38. Kc2 {-104,85/9 0,1} Rc8+ {+18,90/5 1,3} 39. Kb3 {-104,85/8 0,1} Rxc1 {+19,17/5 1,3} 40. Ka4 {-104,85/6 0,1} Qc6+ {+104,85/4 0,1} 41. Kb3 {-104,85/4 0,1} a1=N+ {+104,85/3 0,1} 42. Kb2 {-104,85/3 0,1} Qc2# {+104,85/2 0,1} {Xboard adjudication: Checkmate} 0-1[/pgn]