Releases: xu-shawn/Serendipity
Serendipity v1.0
This release marks the one year anniversary of the Serendipity project. Compared to v0.4.1, this release introduces the following new features:
- Larger evaluation network with SIMD-accelerated inference through Java's Vector API. Due to this dependency, Serendipity will longer support JRE versions lower than 17.
- Improved time management
- 3x more compact transposition table
- Various search improvements
To run Serendipity, install the Java Runtime Environment (version >= 17), and make sure that the JRE is under system path. Then, run the program either through directly running the exe or through the command java --add-modules jdk.incubator.vector -jar Serendipity-1.0.jar
. On launch, Serendipity will produce the following warning:
WARNING: Using incubator modules: jdk.incubator.vector
This is expected and can be ignored.
Elo | 98.24 +- 10.22 (95%)
Conf | 8.0+0.08s Threads=1 Hash=8MB
Games | N: 2004 W: 848 L: 296 D: 860
Penta | [8, 105, 342, 421, 126]
https://chess.aronpetkovski.com/test/7130/
Elo | 71.38 +- 11.73 (95%)
Conf | 60.0+0.60s Threads=1 Hash=64MB
Games | N: 1002 W: 348 L: 145 D: 509
Penta | [2, 55, 195, 236, 13]
https://chess.aronpetkovski.com/test/7132/
Special thanks to @ArjunBasandrai, @aronpetko, @gab8192, @Haxk20, @Jochengehtab, @liamt19, @noobpwnftw, Styxdoto, @Vast342, @yl25946, @Yoshie2000, and the entirely of Stockfish discord.
P.S. For CCRL testers using ChessGUI, there is an issue that prevents Serendipity v1.0.0 from being run. To fix this issue, place SerendipityWrapper-0.0.1.jar
at the same folder as Serendipity-1.0.jar
, and choose SerendipityWrapper-0.0.1.jar
as the playing engine. For those interested, the source code for SerendipityWrapper can be found at https://github.com/xu-shawn/Serendipity-Wrapper.
Serendipity v0.4.1
v0.4.1 is a bugfix release.
To run Serendipity, install the Java Runtime Environment (version >= 8), and make sure that the JRE is under system path. Then, run the program either through directly running the exe or through the command java -jar Serendipity-0.4.jar
.
Serendipity v0.4
To run Serendipity, install the Java Runtime Environment (version >= 8), and make sure that the JRE is under system path. Then, run the program either through directly running the exe or through the command java -jar Serendipity-0.4.jar
.
Elo | 67.78 +- 6.44 (95%)
Conf | 8.0+0.08s Threads=1 Hash=8MB
Games | N: 4002 W: 1417 L: 646 D: 1939
Penta | [11, 246, 848, 753, 143]
https://chess.aronpetkovski.com/test/2840/
Elo | 96.29 +- 5.78 (95%)
Conf | 60.0+0.60s Threads=1 Hash=64MB
Games | N: 4000 W: 1548 L: 467 D: 1985
Penta | [1, 143, 727, 1032, 97]
https://chess.aronpetkovski.com/test/2866/
Special thanks to @ArjunBasandrai, @aronpetko, @gab8192, @Haxk20, @noobpwnftw, @Vast342, @yl25946, @Yoshie2000, and the entirely of Stockfish discord.
NOTE: The binaries released earlier today (Aug 15) were accidental uploads of a build of an old development version. The incorrect builds have been taken down and replaced with the correct builds at the time of writing this note. Apologies for the confusion.
Serendipity v0.3.1
Three new usability features:
- Resizable Hash
- WDL Output
- Eval Normalization
Thanks to work from the Stockfish team, Serendipity's evaluation has now been fit to a Win-Draw-Loss probability model. As a result, not only has Serendipity gained the ability to predict the probability of winning, drawing, or losing a position under testing conditions, but Serendipity's centipawn output has also been normalized. In other words, Serendipity's evaluation output has been rescaled in such a way that 100 centipawns represent 50% expected win rate at testing conditions. This will make Serendipity's evaluation more comparable to other engines who has adopted similar normalization schemes.
To run Serendipity, install the Java Runtime Environment (version >= 17), and make sure that the JRE is under system path. Then, run the program either through directly running the exe or through the command java -jar Serendipity-0.3.1.jar
.
Serendipity v0.3
To run Serendipity, install the Java Runtime Environment (version >= 17), and make sure that the JRE is under system path. Then, run the program either through directly running the exe or through the command java -jar Serendipity-0.3.jar
.
Thanks to Obsidian author @gab8192 for speedup suggestions.
Elo | 90.50 +- 9.41 (95%)
Conf | 8.0+0.08s Threads=1 Hash=8MB
Games | N: 2002 W: 822 L: 312 D: 868
Penta | [3, 100, 378, 424, 96]
https://chess.aronpetkovski.com/test/1179/
Elo | 62.51 +- 18.27 (95%)
Conf | 40.0+0.40s Threads=1 Hash=64MB
Games | N: 500 W: 181 L: 92 D: 227
Penta | [2, 34, 101, 99, 14]
https://chess.aronpetkovski.com/test/1184/
Serendipity v0.2
Elo | 198.46 +- 10.55 (95%)
Conf | 8.0+0.08s Threads=1 Hash=8MB
Games | N: 4000 W: 2570 L: 505 D: 925
Penta | [12, 68, 497, 689, 734]
https://chess.aronpetkovski.com/test/305/
Elo | 203.11 +- 28.53 (95%)
Conf | 40.0+0.40s Threads=1 Hash=64MB
Games | N: 500 W: 306 L: 43 D: 151
Penta | [1, 12, 41, 115, 81]
https://chess.aronpetkovski.com/test/307/
Serendipity v0.1
This is the first release of Serendipity, an UCI chess engine written in Java.
To run Serendipity, install the Java Runtime Environment (version >= 17), and make sure that the JRE is under system path. Then, run the program either through directly running the exe or through the command java -jar Serendipity-0.1.jar
.
Estimated Elo: 3100 CCRL
Tested at 20+0.2:
Score of Serendipity-0.1 vs Stash-27: 643 - 398 - 459 [0.582] 1501
Elo difference: 57.26 +/- 14.75, LOS: 100.00 %, DrawRatio: 30.60 %
Ptnml: WW WD DD/WL LD LL
Distr: 130 205 243 124 48