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
Cheers
New engine: Caissa
Moderators: hgm, Rebel, chrisw
-
- Posts: 87
- Joined: Thu Oct 07, 2021 12:48 am
- Location: Warsaw, Poland
- Full name: Michal Witanowski
New engine: Caissa
Author of Caissa Chess Engine: https://github.com/Witek902/Caissa
-
- Posts: 596
- Joined: Sun May 30, 2021 5:03 am
- Location: United States
- Full name: Christian Dean
Re: New engine: Caissa
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?
I'm curious how much Elo you estimate using Stockfish's NNUE added to your engine?
-
- Posts: 883
- Joined: Sat Mar 13, 2021 1:47 am
- Full name: Amanj Sherwany
Re: New engine: Caissa
Congrats on the engine...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
Cheers
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
-
- Posts: 1366
- Joined: Sat Jul 21, 2018 7:43 am
- Location: Szentendre, Hungary
- Full name: Gabor Szots
-
- Posts: 87
- Joined: Thu Oct 07, 2021 12:48 am
- Location: Warsaw, Poland
- Full name: Michal Witanowski
Re: New engine: Caissa
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...
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
-
- Posts: 1161
- Joined: Thu Jan 18, 2007 4:05 pm
- Location: Prague
- Full name: Pavel Háse
Re: New engine: Caissa
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]
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]
-
- Posts: 1161
- Joined: Thu Jan 18, 2007 4:05 pm
- Location: Prague
- Full name: Pavel Háse
Re: New engine: Caissa
Caissa 0.1 - Nimzo 7.32 so far 3:2=1. Same conditions as before against SmarThink.
-
- Posts: 87
- Joined: Thu Oct 07, 2021 12:48 am
- Location: Warsaw, Poland
- Full name: Michal Witanowski
Re: New engine: Caissa
Hey, huge thanks for testing!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.
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
-
- Posts: 1161
- Joined: Thu Jan 18, 2007 4:05 pm
- Location: Prague
- Full name: Pavel Háse
Re: New engine: Caissa
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...
Well, I'm sure someone will create a logo for you, like Graham Banks.
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...
Well, I'm sure someone will create a logo for you, like Graham Banks.
-
- Posts: 1161
- Joined: Thu Jan 18, 2007 4:05 pm
- Location: Prague
- Full name: Pavel Háse
Re: New engine: Caissa
I already found the net, very old, from 12.10.2020?