UCI Chess Engine
This version features a completely new network architecture which can be interpreted as a form of Graph Neural Network. To my knowledge Winter is the first engine to adopt such an architecture.
Elo | 119.24 +- 7.98 (95%) Conf | 40.0+0.40s Threads=1 Hash=64MB Games | N: 4002 W: 1742 L: 420 D: 1840 Penta | [24, 166, 637, 812, 362] http://chess.grantnet.us/test/35205/
Big thank you to Seer author Connor McMonigle for making the windows binaries!
The primary change in this major release is due to more self play data to train a better network. Holes in elementary endgames have been closed, so play in many of those positions should be noticeably better.
Huge thank you to Seer author Connor McMonigle, who generated the Windows Winter compiles for this version. Without this, there is a good chance I would procrastinate the release for another couple of weeks! Also thank you to Andrew Grant and the contributors to OpenBench, without whom it would not be possible to test changes to Winter with any statistical significance.
Self play results in DFRC bullet testing:
Winter v2.0 vs Winter v1.0 ELO | 100.40 +- 7.99 (95%) CONF | 40.0+0.40s Threads=1 Hash=64MB GAMES | N: 5000 W: 2344 L: 938 D: 1718
First major Winter release in over two years! In regular chess it is expected to be roughly on paar with the previous release v0.9. It is expected to be stronger than Winter 0.9.5 at Fischer random chess, which was tested at CCRL. Fischer random is a newly supported variant and was not supported in v0.9.0.
Huge thank you to Seer author Connor McMonigle, who generated the Windows Winter compiles for this version. Without this, there is a good chance I would procrastinate the release for another couple of weeks! Also thank you to Andrew Grant and the contributors to OpenBench, without whom it would not be possible to test changes to Winter with any statistical significance.
Major changes:
Minor changes:
The newest version of Winter is using the same evaluation function as in the previous release. The following changes have however occured:
The binaries released should correspond to the same settings as during the previous release, so whichever version worked best for you then is likely still the best. That being said, due to the speed improvements, they likely no longer make much sense. It is likely the 1.0 release (which I intend to be the next big one) will have other binary versions.
Major new features:
-Pawn hash -Pawn structure feature extraction is based on a small CNN -Smaller binary
Windows binaries to follow soon.
Difference in start position search between Linux and Windows builds was traced back to use of std::(non-stable)sort and is not a bug.
Major features:
The different binaries refer to the age of the supported processor. The 4 binaries should match the binaries from the previous releases. If you are unsure of what binary to choose, try in order New > Old > Older > Ancient until one works. The minimum requirements for the Ancient binary is essentially any 64 bit system.
On OSX and Linux calling make from the source directory should work out of the box. Winter does not rely on any libraries aside from the standard library and is developped on Linux.
Winter 0.6 features improvements to search including the addition of history heuristics.
With the addition of history heuristics regular Lazy SMP seems to be slightly (single digit Elo) better than Lazy Ignorance SMP, so Winter is using that for now.
This release is for the S15 TCEC Cup. I recommend testers wait for the v0.6 release, which will occur shortly before the end of the S15 Super Final between Stockfish and Leela.
Changes:
"Lazy Ignorance SMP" is a new Lazy SMP variant which I described on the Computer Chess Club forum. It resulted in minor gains on low core counts, which became hard to measure on high core counts.
Singular Extensions and Counter Move History are search features found in top open source programs such as Stockfish, Ethereal and Xiphos. These features resulted in large gains in self play tests.
The timing of this release is partially due to the increase in playing strength and partially due to the upcoming TCEC S15 competition. I do not have access to a Windows computer at the moment, so the Windows binaries are cross compiled and at the time of writing completely unchecked.
Winter 0.4a features an improved eval function and a simplified SMP which should be more stable on systems under heavy load. It is also now easier to train your own flavour of Winter, instructions will follow soon in the Readme.md on github.
Compared to Winter 0.4 the only changes are a fixed selective depth UCI output, version number update and Windows compile is a cross compile instead of native.
Assuming the cross compile functions works for other users, the next few versions will likely also be cross compiles, as I am not expecting to have access to a private Windows system again until August.