by Jonathan Rosenthal
Homepage
Winter Chess Engines
Moderators: Elijah, Igbo, timetraveller
-
- Global moderators
- Points: 6 310,00
- Forum Contributions
- Posts: 2147
- Joined: 01/11/2019, 14:27
- Status: Offline (Active 2 Hours, 3 Minutes ago)
- Medals: 2
- Topics: 351
- Reputation: 392
- Location: Biergarten
- Has thanked: 1919 times
- Been thanked: 4098 times
-
- Global moderators
- Points: 6 310,00
- Forum Contributions
- Posts: 2147
- Joined: 01/11/2019, 14:27
- Status: Offline (Active 2 Hours, 3 Minutes ago)
- Medals: 2
- Topics: 351
- Reputation: 392
- Location: Biergarten
- Has thanked: 1919 times
- Been thanked: 4098 times
Winter Chess Engines
This is a training script for the evaluation function of the Winter chess engine. It is only slightly modified compared to what I have been using in internal development.
Winter Training Script
Winter Training Script
-
- Global moderators
- Points: 6 310,00
- Forum Contributions
- Posts: 2147
- Joined: 01/11/2019, 14:27
- Status: Offline (Active 2 Hours, 3 Minutes ago)
- Medals: 2
- Topics: 351
- Reputation: 392
- Location: Biergarten
- Has thanked: 1919 times
- Been thanked: 4098 times
Winter Chess Engines
Winter v0.9
The newest version of Winter is using the same evaluation function as in the previous release. The following changes have however occured:
-WDL Search: WDL probabilities are now used in the whole search. Previously the WDL scores were transformed into scalar values for search purposes. This means Winter now outputs wdl estimates.
-Support for UCI_ShowWDL uci option.
Support for Hash full UCI output.
-Fixed Time, Node and Depth Searches should no longer return instantly in positions with only one legal move.
-PV outputs are no longer restricted by the current depth.
-PV outputs are restricted in the case of draws.
-Winter has joined OpenBench. As a corollary, this means Winter has support for the bench command. A big thank you to Noobpwnftw who graciously donates the majority of resources to OpenBench, to Andrew Grant for writing OpenBench, to the SF dev team who made the original Fishtest and all the other great people working on or donating resources to OpenBench.
-Various changes to the search. In general Winter is now more agressive in its pruning, especially in PV nodes.
-Speed improvements, especially when compiled with GCC. The release binaries should still be significantly faster than in the previous release.
-Time management has been improved. This is true for both repeating TC and TC with increment, but moreso in the case of increment. The time management is also easier to understand, in case someone would like to steal ideas.
-Contempt and Armageddon had a minor rework. The functionality should be comparable to in Winter 0.8, but thanks to the new WDL Search it is easier to invert the effect of contempt. This means that cp and wdl score outputs are based on something close to the eval without contempt. That being said, the inverse does not work with contempt set to 100/-100. Armageddon default is 60/-60 for white and black respectively.
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.
Download
The newest version of Winter is using the same evaluation function as in the previous release. The following changes have however occured:
-WDL Search: WDL probabilities are now used in the whole search. Previously the WDL scores were transformed into scalar values for search purposes. This means Winter now outputs wdl estimates.
-Support for UCI_ShowWDL uci option.
Support for Hash full UCI output.
-Fixed Time, Node and Depth Searches should no longer return instantly in positions with only one legal move.
-PV outputs are no longer restricted by the current depth.
-PV outputs are restricted in the case of draws.
-Winter has joined OpenBench. As a corollary, this means Winter has support for the bench command. A big thank you to Noobpwnftw who graciously donates the majority of resources to OpenBench, to Andrew Grant for writing OpenBench, to the SF dev team who made the original Fishtest and all the other great people working on or donating resources to OpenBench.
-Various changes to the search. In general Winter is now more agressive in its pruning, especially in PV nodes.
-Speed improvements, especially when compiled with GCC. The release binaries should still be significantly faster than in the previous release.
-Time management has been improved. This is true for both repeating TC and TC with increment, but moreso in the case of increment. The time management is also easier to understand, in case someone would like to steal ideas.
-Contempt and Armageddon had a minor rework. The functionality should be comparable to in Winter 0.8, but thanks to the new WDL Search it is easier to invert the effect of contempt. This means that cp and wdl score outputs are based on something close to the eval without contempt. That being said, the inverse does not work with contempt set to 100/-100. Armageddon default is 60/-60 for white and black respectively.
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.
Download
-
- Forum Contributions
- Points: 35 214,00
- Posts: 3287
- Joined: 01/01/2020, 8:40
- Status: Offline (Active 3 Hours, 31 Minutes ago)
- Medals: 2
- Topics: 408
- Reputation: 18770
- Location: Somewhere in time .
- Has thanked: 10510 times
- Been thanked: 18755 times
Re: Winter Chess Engines
Winter v1.0
Thanks to the Author rosenthj Jonathan Rosenthal ssfgmfgsoke
UCI Chess Engine
Homepage / Instructions : https://github.com/rosenthj/Winter
Download : https://github.com/rosenthj/Winter/releases/tag/v1.0
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:
Chess960 support.
Evaluation function revision.
Eval is now based on small net on top of raw board state as opposed to handcrafted features.
Net weights are handled with incbin.h. This is standard amongst strong C and C++ AlphaBeta engines. There is no cross compatibility with other engines at this time.
Training code is rewritten from scratch and will likely get released at a later time.
Training data consists of some 350k CCRL Fischer random games. Additionally there are another 300k or so self play games, mostly DFRC, with a small number of regular FRC games being the exception. As only a small number of games are (coincidentally) from the regular start position, Winter cannot overfit to learn regular chess openings.
Android support
Hasn't been tested in a while, may need to fix.
Minor changes:
Removing cutnode/allnode expectations
Depth for singular extension may now be lower as long depth of entry is large enough
Program exit via uci quit command should be more stable
QS Move ordering changes
Code simplifications and removing a lot of legacy code.
History Heuristic tweaks
UCI code handling improvements
Thanks to the Author rosenthj Jonathan Rosenthal ssfgmfgsoke
UCI Chess Engine
Homepage / Instructions : https://github.com/rosenthj/Winter
Download : https://github.com/rosenthj/Winter/releases/tag/v1.0
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:
Chess960 support.
Evaluation function revision.
Eval is now based on small net on top of raw board state as opposed to handcrafted features.
Net weights are handled with incbin.h. This is standard amongst strong C and C++ AlphaBeta engines. There is no cross compatibility with other engines at this time.
Training code is rewritten from scratch and will likely get released at a later time.
Training data consists of some 350k CCRL Fischer random games. Additionally there are another 300k or so self play games, mostly DFRC, with a small number of regular FRC games being the exception. As only a small number of games are (coincidentally) from the regular start position, Winter cannot overfit to learn regular chess openings.
Android support
Hasn't been tested in a while, may need to fix.
Minor changes:
Removing cutnode/allnode expectations
Depth for singular extension may now be lower as long depth of entry is large enough
Program exit via uci quit command should be more stable
QS Move ordering changes
Code simplifications and removing a lot of legacy code.
History Heuristic tweaks
UCI code handling improvements
-
- Forum Contributions
- Points: 10 889,00
- Posts: 118
- Joined: 07/11/2019, 2:09
- Status: Offline (Active 1 Day, 17 Hours, 57 Minutes ago)
- Topics: 17
- Reputation: 370
- Has thanked: 1168 times
- Been thanked: 451 times
Re: Winter Chess Engines
Winter 2.0
https://github.com/rosenthj/Winter/releases/tag/v2.0
From the author:
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.
https://github.com/rosenthj/Winter/releases/tag/v2.0
From the author:
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.
-
- Chief moderators
- Points: 20 167,00
- Forum Contributions
- Posts: 227
- Joined: 14/08/2022, 20:09
- Status: Offline (Active 4 Hours, 40 Minutes ago)
- Medals: 1
- Topics: 8
- Reputation: 1784
- Has thanked: 360 times
- Been thanked: 1462 times
Winter Chess Engines
Winter v3.0
Thanks to author, Jonathan Rosenthal
Winter v3.0 is released. Thank you to Connor for making the Windows binaries.
I will probably make a more in depth post later in the Winter thread, until then, here is a link to the release page:
https://github.com/rosenthj/Winter/releases/tag/v3.0
Self play improvement:
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/
I would take this to be an upper bound. NP/s will be noticeably slower than v2.0, due to a novel network architecture. On some hardware the speed penalty is greater than on other, and I am not yet sure the exact reason. There is also reason to believe the Windows compiles might suffer a bit more from the slowdown.
Thanks to author, Jonathan Rosenthal
Winter v3.0 is released. Thank you to Connor for making the Windows binaries.
I will probably make a more in depth post later in the Winter thread, until then, here is a link to the release page:
https://github.com/rosenthj/Winter/releases/tag/v3.0
Self play improvement:
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/
I would take this to be an upper bound. NP/s will be noticeably slower than v2.0, due to a novel network architecture. On some hardware the speed penalty is greater than on other, and I am not yet sure the exact reason. There is also reason to believe the Windows compiles might suffer a bit more from the slowdown.
-
- Forum Contributions
- Points: 10 190,00
- Posts: 41
- Joined: 05/02/2024, 14:33
- Status: Online (Active 2 Hours, 21 Minutes ago)
- Medals: 2
- Topics: 9
- Reputation: 144
- Has thanked: 8 times
- Been thanked: 169 times
Winter Chess Engines
Winter v3.07 by Jonathan Rosenthal
https://github.com/rosenthj/Winter
Winter v3.07 64 JA
Windows/Linux/Android builds
https://drive.proton.me/urls/8Q9EV965A8#T4Svd94r9ocK
Jim.