New engine: Caissa

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

Moderators: hgm, Rebel, chrisw

Witek
Posts: 87
Joined: Thu Oct 07, 2021 12:48 am
Location: Warsaw, Poland
Full name: Michal Witanowski

New engine: Caissa

Post by Witek »

Hi, my name is Michal and this is my first post on this forum.

I'd like to present you a new UCI chess engine - Caissa. I was developing it completely from scratch since March 2021 with zero chess programming knowledge before. At this moment it's around 2800 Elo (10+1), but I need to run some more games with different engines.
You will find sources and Windows release on Github: https://github.com/Witek902/Caissa.

It's a classic alpha-beta search engine with features like PVS, aspiration windows, quiescence search, shared transposition table, MultiPV, multithreading, late move reductions, futility prunning, SEE, MVV/LVA, killer/history heuristics, magic bitboards, Syzygy support, etc. For now I was mostly focusing on search and didn't pay much attention to evaluation - that's why I "borrowed" NNUE from Stockfish. I implemented my own neural network and trainer for it, but it's still in progress.

I was mainly inspired by this forum and Chess Programming Wiki, I took some ideas from Stockfish and Ethereal engines.

Looking forward to hearing some opinions from you :D

Cheers
Author of Caissa Chess Engine: https://github.com/Witek902/Caissa
User avatar
algerbrex
Posts: 596
Joined: Sun May 30, 2021 5:03 am
Location: United States
Full name: Christian Dean

Re: New engine: Caissa

Post by algerbrex »

Hi Michal, welcome to TalkChess, and congrats on making your engine public! Hopefully, someone here will look into testing your engine and getting it up on the CCRL, CGET, or something similar. And I look forward to playing around with it.

I'm curious how much Elo you estimate using Stockfish's NNUE added to your engine?
amanjpro
Posts: 883
Joined: Sat Mar 13, 2021 1:47 am
Full name: Amanj Sherwany

Re: New engine: Caissa

Post by amanjpro »

Witek wrote: Mon Oct 25, 2021 3:08 am Hi, my name is Michal and this is my first post on this forum.

I'd like to present you a new UCI chess engine - Caissa. I was developing it completely from scratch since March 2021 with zero chess programming knowledge before. At this moment it's around 2800 Elo (10+1), but I need to run some more games with different engines.
You will find sources and Windows release on Github: https://github.com/Witek902/Caissa.

It's a classic alpha-beta search engine with features like PVS, aspiration windows, quiescence search, shared transposition table, MultiPV, multithreading, late move reductions, futility prunning, SEE, MVV/LVA, killer/history heuristics, magic bitboards, Syzygy support, etc. For now I was mostly focusing on search and didn't pay much attention to evaluation - that's why I "borrowed" NNUE from Stockfish. I implemented my own neural network and trainer for it, but it's still in progress.

I was mainly inspired by this forum and Chess Programming Wiki, I took some ideas from Stockfish and Ethereal engines.

Looking forward to hearing some opinions from you :D

Cheers
Congrats on the engine...

I believe most of the major rating list testers (CEGT, CCRL and others) are not interested in SF NNUE unless the net is trained solely on the engine's own games
Gabor Szots
Posts: 1366
Joined: Sat Jul 21, 2018 7:43 am
Location: Szentendre, Hungary
Full name: Gabor Szots

Re: New engine: Caissa

Post by Gabor Szots »

amanjpro wrote: Mon Oct 25, 2021 4:24 amI believe most of the major rating list testers (CEGT, CCRL and others) are not interested in SF NNUE unless the net is trained solely on the engine's own games
That's true.
Gabor Szots
CCRL testing group
Witek
Posts: 87
Joined: Thu Oct 07, 2021 12:48 am
Location: Warsaw, Poland
Full name: Michal Witanowski

Re: New engine: Caissa

Post by Witek »

algerbrex wrote: Mon Oct 25, 2021 4:09 am I'm curious how much Elo you estimate using Stockfish's NNUE added to your engine?
It is ~500 Elo gain in 10+1 TC, and ~400 Elo in 1+0.1. But I know, that my classic evaluation function is really bad...

amanjpro wrote: Mon Oct 25, 2021 4:24 am I believe most of the major rating list testers (CEGT, CCRL and others) are not interested in SF NNUE unless the net is trained solely on the engine's own games
Yes, I'm aware of that. That's why I want to get rid of Stockfish NNUE and integrate my own neural network.
Author of Caissa Chess Engine: https://github.com/Witek902/Caissa
User avatar
Rubinus
Posts: 1161
Joined: Thu Jan 18, 2007 4:05 pm
Location: Prague
Full name: Pavel Háse

Re: New engine: Caissa

Post by Rubinus »

2800? No.
Caissa 0.1 - Smarthink 1.98 0:12 ... (Smarthink 3025 CCRL)
Another network, the default one I didn't know where to download. nn-04f258f90427.nnue
Book - My experimental with the C30-C39 theme. 8 moves or less. 15+10.
The first few moves are fine, but then gradually the poor pricing becomes apparent. Or even tactical blindness example 1, 11.Qxb7??
I can place the parts somewhere for download on request.

example:
[pgn][Event "15m+10s"]
[Date "2021.10.26"]
[Round "7"]
[White "Caissa 0.1"]
[Black "SmarThink 1.98"]
[Result "0-1"]
[ECO "C32"]
[Annotator "0.00;-0.12"]
[PlyCount "76"]
[TimeControl "900+10"]

{Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz W=18.2 plies; 1 084kN/s; C30-39-LC0.
ctg B=21.9 plies; 1 408kN/s; C30-39-LC0.ctg} 1. e4 {B 0} e5 {B 0} 2. f4 {B 0}
d5 {B 0} 3. exd5 {B 0} e4 {B 0} 4. d4 {B 0} Qxd5 {B 0} 5. c4 {B 0 Oba mimo
knihovnu} Bb4+ {-0.12/22 31} 6. Nc3 {0.00/18 27} Bxc3+ {-0.04/23 17} 7. bxc3 {
-0.01/19 51} Qa5 {-0.12/24 40} 8. Qb3 {0.00/19 61 (Je2)} Nf6 {-0.04/23 36} 9.
Ba3 {0.10/18 60 (Je2)} Bd7 {-0.50/23 26 (Jg4)} 10. Ne2 {0.06/17 50} Na6 {-0.38/
23 30} 11. Qxb7 {0.03/17 30 (Sc1)} Rb8 {-5.77/20 11} 12. Bb4 {-0.81/20 23
(Dxa7)} Qa4 {-5.64/20 8 (Dxb4)} 13. Qxa7 {-3.21/18 70} Rxb4 {-6.41/21 22} 14.
Rd1 {-3.27/17 31 (a3)} Rb2 {-7.13/21 45} 15. Qa8+ {-3.59/17 26 (f5)} Rb8 {-7.
18/22 17} 16. Qa7 {-4.28/18 24} Qxc4 {-7.34/23 23} 17. d5 {-4.48/18 44} Rb2 {
-7.36/23 50 (Jxd5)} 18. Qd4 {-4.04/17 26} Qxd4 {-7.43/23 12} 19. Rxd4 {-4.39/
19 54 (Jxd4)} Nc5 {-7.56/22 9} 20. Ng3 {-4.59/18 30 (Jc1)} Rxa2 {-7.79/21 12
(0-0)} 21. Be2 {-4.37/19 30} Ke7 {-7.93/22 13 (Vc2)} 22. O-O {-4.20/17 30} Rb8
{-8.21/22 16} 23. Re1 {-4.44/18 42 (Vfd1)} Rbb2 {-8.65/22 18} 24. Bf1 {-4.56/
17 21} h5 {-8.74/22 17} 25. h4 {-4.79/17 21} g6 {-9.29/23 49 (Kd6)} 26. Rc4 {
-4.83/17 34 (Je2)} Kd6 {-9.29/22 7} 27. Rb4 {-5.24/17 25 (Vd4)} Rf2 {-9.68/19
8 (Vc2)} 28. Be2 {-5.32/17 34 (Vbb1)} Rxf4 {-9.76/20 13} 29. c4 {-5.44/17 24
(Jf1)} Rxh4 {-10.55/23 27} 30. Rf1 {-5.66/18 30 (Vbb1)} Ke5 {-10.74/22 13 (Ke7)
} 31. Re1 {-6.33/18 23 (Vfb1)} Ng4 {-11.17/21 12 (Vf4)} 32. Rbb1 {-6.07/18 31
(Veb1)} Ne3 {-11.42/21 7} 33. Ra1 {-6.20/20 38} Rxa1 {-11.80/22 12} 34. Rxa1 {
-6.56/22 34} f5 {-12.05/23 8 (Kd4)} 35. Ra7 {-5.79/19 23 (Va5)} f4 {-12.54/22 8
} 36. Nf1 {-6.71/20 22} Nxf1 {-12.93/23 9 (Jxg2)} 37. Bxf1 {-6.79/20 18} e3 {
-13.75/23 55 (Kd6)} 38. Ra8 {-8.60/20 23 (Vxc7)} Ne4 {-20.54/20 11} 0-1
[/pgn]

[pgn][Event "15m+10s"]
[Date "2021.10.26"]
[Round "8"]
[White "SmarThink 1.98"]
[Black "Caissa 0.1"]
[Result "1-0"]
[ECO "C32"]
[Annotator "-0.02;0.04"]
[PlyCount "83"]
[TimeControl "900+10"]

{Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz W=22.7 plies; 1 553kN/s; C30-39-LC0.
ctg B=19.9 plies; 1 454kN/s; C30-39-LC0.ctg} 1. e4 {B 0} e5 {B 0} 2. f4 {B 0}
d5 {B 0} 3. exd5 {B 0} e4 {B 0} 4. d4 {B 0} Qxd5 {B 0} 5. c4 {B 0 Oba mimo
knihovnu} Bb4+ {0.04/18 31} 6. Nc3 {-0.02/23 26} Bxc3+ {-0.01/19 26} 7. bxc3 {
-0.01/23 15} Qa5 {0.09/19 41} 8. Qb3 {-0.07/24 53} Nh6 {0.08/17 26 (Jf6)} 9.
Ne2 {0.33/23 37 (Sa3)} O-O {-0.01/18 42} 10. Ng3 {0.32/23 24} Nc6 {-0.14/18 42
(Ve8)} 11. Qa3 {0.22/22 13} Re8 {-0.22/19 23} 12. h3 {0.50/24 37 (d5)} Qxa3 {
-0.30/19 34 (b6)} 13. Bxa3 {0.45/24 14} Nf5 {-0.31/19 23 (b6)} 14. Nxf5 {0.94/
23 10} Bxf5 {-0.19/21 44} 15. d5 {0.92/24 23 (g4)} Na5 {-0.25/21 50 (Jd8)} 16.
g4 {1.44/25 36 (Se2)} Bd7 {-0.25/20 23} 17. Bb4 {1.61/26 13 (Se2)} b6 {-0.51/
20 31} 18. Bxa5 {1.61/26 15 (Se2)} bxa5 {-0.52/20 35} 19. Be2 {1.61/25 57 (c5)}
Rab8 {-0.61/19 30 (e3)} 20. Kf2 {1.72/23 12 (0-0-0)} Ba4 {-0.34/18 44 (g6)} 21.
Rhb1 {2.27/25 68} e3+ {-0.08/20 40} 22. Kg3 {2.39/26 38} Bc2 {0.12/21 28} 23.
Rxb8 {2.41/25 48} Rxb8 {0.67/22 54} 24. c5 {2.58/24 24} h5 {0.74/20 27 (f5)}
25. Kf3 {3.27/19 7} Rd8 {0.85/20 36 (h4)} 26. Rc1 {4.04/20 8 (Sc4)} Bh7 {1.42/
20 35 (Sa4)} 27. c4 {3.85/21 8} hxg4+ {1.64/19 46 (Ve8)} 28. hxg4 {4.54/21 10}
Re8 {1.76/21 31 (Kf8)} 29. d6 {4.77/22 9 (Vc3)} cxd6 {1.41/20 25} 30. cxd6 {5.
16/22 7} Be4+ {1.51/21 24} 31. Kxe3 {5.58/23 10} Bc6+ {1.59/21 21} 32. Kd2 {5.
98/23 13 (Kf2)} Re4 {1.10/19 27 (Kf8)} 33. c5 {6.25/23 13 (Vd1)} Rd4+ {1.39/18
25 (Vxf4)} 34. Kc3 {8.11/23 37 (Ke1)} Re4 {1.93/21 41} 35. Bd3 {8.34/23 12} Re6
{2.11/20 29 (Ve3)} 36. Rb1 {11.01/22 23 (a4)} Re8 {2.86/20 38 (Ve3)} 37. Bb5 {
13.65/22 13 (a4)} Bxb5 {5.15/22 33 (Vb8)} 38. Rxb5 {13.66/20 14} Rd8 {5.98/21
34 (Kf8)} 39. Rxa5 {15.95/22 61} Kf8 {6.79/22 20 (a6)} 40. Rxa7 {16.57/19 24}
g6 {9.25/23 28} 41. Kc4 {22.12/20 56 (Kd4)} Kg8 {11.52/21 19 (g5)} 42. Kd5 {31.
38/18 42 (d7)} 1-0
[/pgn]
User avatar
Rubinus
Posts: 1161
Joined: Thu Jan 18, 2007 4:05 pm
Location: Prague
Full name: Pavel Háse

Re: New engine: Caissa

Post by Rubinus »

Caissa 0.1 - Nimzo 7.32 so far 3:2=1. Same conditions as before against SmarThink.
Witek
Posts: 87
Joined: Thu Oct 07, 2021 12:48 am
Location: Warsaw, Poland
Full name: Michal Witanowski

Re: New engine: Caissa

Post by Witek »

Rubinus wrote: Tue Oct 26, 2021 8:56 am 2800? No.
Caissa 0.1 - Smarthink 1.98 0:12 ... (Smarthink 3025 CCRL)
Another network, the default one I didn't know where to download. nn-04f258f90427.nnue
Book - My experimental with the C30-C39 theme. 8 moves or less. 15+10.
The first few moves are fine, but then gradually the poor pricing becomes apparent. Or even tactical blindness example 1, 11.Qxb7??
I can place the parts somewhere for download on request.
Hey, huge thanks for testing!

Yeah, I forgot to mention which network should be used. I was mostly using nn-04cf2b4ed1da.nnue - the engine only supports older NNUE (the one from SF12, maybe you tried to load too new network).

That's quite possible that the Elo is much lower than 2800 in 15+10 TC. I was mostly testing in much faster, e.g. 30+1, which is probably my bad... I will for sure do some more testing in slow-paced TCs.

You can PM me PGNs of your games, that would be very helpful.

Cheers
Author of Caissa Chess Engine: https://github.com/Witek902/Caissa
User avatar
Rubinus
Posts: 1161
Joined: Thu Jan 18, 2007 4:05 pm
Location: Prague
Full name: Pavel Háse

Re: New engine: Caissa

Post by Rubinus »

I'd use your network if I knew where to download it. I just couldn't find it through Google. I got to Stockfish's site where I downloaded one with a similar name. If you post a link to your net here, I can download it and test with it. It's handy for me, I'm building a library for a king gambit and need different engines to verify it. So I'm happy to run a few dozen more games.
games (Caissa-Nimzo 7.32 5:6=1, Nimco 8 CCRL 2503, 7.32 is cca -20 ELO) ----> Caissa cca 2450.

I made a makeshift logo from this image, but maybe someone has some rights to this image...
Image
Well, I'm sure someone will create a logo for you, like Graham Banks.
Image
User avatar
Rubinus
Posts: 1161
Joined: Thu Jan 18, 2007 4:05 pm
Location: Prague
Full name: Pavel Háse

Re: New engine: Caissa

Post by Rubinus »

I already found the net, very old, from 12.10.2020?