Chess engine: Stormphrax 1.0.0
Stormphrax 1.0.0, implemented NNUE
a few minor tweaks and fixes
Stormphrax is here! Polaris' hand-crafted evaluation function has been replaced with a NNUE, resulting in massive gains in both standard chess and particularly FRC. The current network (deepwoods) was trained on DFRC self-play data from the previous development network - in total there were five previous networks, the first being seeded with random weights and biases, so Stormphrax is a "zero" engine in that it learnt to evaluate positions from zero knowledge, knowing only the rules of chess.
There is still lot more improvement possible for both the NNUE implementation and for search, so development will continue - though training networks is very slow for me currently, so likely not as fast as Polaris development was.
Results against Polaris 1.8.1
STC:
ELO | 357.65 +- 16.33 (95%)
CONF | 8.0+0.08s Threads=1 Hash=32MB
GAMES | N: 3000 W: 2447 L: 126 D: 427
LTC:
ELO | 357.07 +- 26.69 (95%)
CONF | 60.0+0.60s Threads=1 Hash=128MB
GAMES | N: 1000 W: 796 L: 23 D: 181
FRC STC:
ELO | 466.04 +- 42.52 (95%)
CONF | 8.0+0.08s Threads=1 Hash=32MB
GAMES | N: 1000 W: 907 L: 35 D: 58
Elo testing done with OpenBench's 8moves_v3 book for standard chess, and 3moves_FRC for FRC.
Results are obtained from self-play (well, against Polaris) and will likely not scale perfectly to games against other opponents :)
Full Changelog: ce856d8...v1.0.0
Stormphrax is here! Polaris' hand-crafted evaluation function has been replaced with a NNUE, resulting in massive gains in both standard chess and particularly FRC. The current network (deepwoods) was trained on DFRC self-play data from the previous development network - in total there were five previous networks, the first being seeded with random weights and biases, so Stormphrax is a "zero" engine in that it learnt to evaluate positions from zero knowledge, knowing only the rules of chess.
There is still lot more improvement possible for both the NNUE implementation and for search, so development will continue - though training networks is very slow for me currently, so likely not as fast as Polaris development was.
Results against Polaris 1.8.1
STC:
ELO | 357.65 +- 16.33 (95%)
CONF | 8.0+0.08s Threads=1 Hash=32MB
GAMES | N: 3000 W: 2447 L: 126 D: 427
LTC:
ELO | 357.07 +- 26.69 (95%)
CONF | 60.0+0.60s Threads=1 Hash=128MB
GAMES | N: 1000 W: 796 L: 23 D: 181
FRC STC:
ELO | 466.04 +- 42.52 (95%)
CONF | 8.0+0.08s Threads=1 Hash=32MB
GAMES | N: 1000 W: 907 L: 35 D: 58
Elo testing done with OpenBench's 8moves_v3 book for standard chess, and 3moves_FRC for FRC.
Results are obtained from self-play (well, against Polaris) and will likely not scale perfectly to games against other opponents :)
Full Changelog: ce856d8...v1.0.0
Comments
Post a Comment