25,161
edits
Changes
Winter
,no edit summary
'''Winter''',<br/>
an [[UCI]] compliant [[:Category:Open Source Engines|open source chess engine]] by [[Jonathan Rosenthal]], written in [[Cpp|C++]], released on January 08, 2018 under the terms of [[Free Software Foundation#GPL|GPL Version 3]]. Winter is inspired by [[Learning|machine learning]] techniques, as applied in [[Move Ordering|move ordering]] and in particular in [[Evaluation|evaluation]], and heavily relies on [https://en.wikipedia.org/wiki/Template_(C%2B%2B) C++ templates] but not on any library aside from [https://en.wikipedia.org/wiki/Standard_Template_Library STL] as it comes with its own implementations for [https://en.wikipedia.org/wiki/Statistics statistics] <ref>[https://github.com/rosenthj/Winter/blob/master/src/learning/statistics.h Winter/statistics.h at master · rosenthj/Winter · GitHub]</ref> and [https://en.wikipedia.org/wiki/Linear_algebra linear algebra] <ref>[https://github.com/rosenthj/Winter/blob/master/src/learning/linear_algebra.h Winter/linear_algebra.h at master · rosenthj/Winter · GitHub]</ref>. Winter started its life in 2016 as a group project at [[ETH Zurich]] in a course on parallel computing along with Jonas Kuratli and Jonathan Maurer - the current release with Jonathan Rosenthal as sole author has removed the parallel portion of the code <ref>[http://www.talkchess.com/forum/viewtopic.php?t=66266 Winter Released] by [[Jonathan Rosenthal]], [[CCC]], January 08, 2018</ref>. It started to play on-line at [[Harm Geert Muller|HGM's]] [[Online Engine Blitz Tourneys]] in April 2017 <ref>[http://www.talkchess.com/forum/viewtopic.php?t=63777&start=9 Re: On-line engine blitz tourney April] by [[Harm Geert Muller]], [[CCC]], April 22, 2017</ref>.
=Selected Features=
: [[BMI2#PEXTBitboards|BMI2 - PEXT Bitboards]]
==[[Search]]==
* [[Lazy SMP]] (Winter 0.3)
* [[Fail-Hard]] [[Iterative Deepening]]
* [[Alpha-Beta]] [[Principal Variation Search]]
** The classifier is trained via [[Temporal Difference Learning|temporal difference learning]] to predict whether a [[Moves|move]] will return [[Beta|beta]]
** Classifier considers [[Hash Move|TT move]], [[Killer Move|killers]], [[Moves#Type|move type]], [[Origin Square|from square]], [[Target Square|target square]], [[Captures|capture target]], [[Static Exchange Evaluation|SEE]], target square of last move, [[Check|check]] and changes between forcing and unforcing moves (a capture is more likely after another capture)
** [[Countermove Heuristic]] (Winter 0.3)
* [[Selectivity]]
** [[Null Move Reductions]]
** [[Static Exchange Evaluation]]
==[[Evaluation]]==
** Training converges fast due to [https://en.wikipedia.org/wiki/Linear_model linear model] at the heart
* As of '''Winter 0.6.2''', the evaluation function relies on a [[Neural Networks|neural network]] with two main parts. The first part is a non-standard [[Neural Networks#Convolutional|convolutional neural network]] which uses sparsity similarly to [[NNUE]]. This convolutional network is used to calculate [[Pawn Structure|pawn structure]] features, so the output can be reused very often as it gets stored in a separate [[Pawn Hash Table|hash table]] with a high hitrate. The second part is a fully connected network which has as input the output of the convolutional network as well as a set of handcrafted features standard to classical engines, mostly a subset of the features from before neural networks were added to Winter <ref>[http://www.talkchess.com/forum3/viewtopic.php?f=7&t=74531&start=5 Re: NNUE accessible explanation] by [[Jonathan Rosenthal]], [[CCC]], July 24, 2020</ref>
==Misc==
* [[Perft]]
=Forum Posts=
==2017 ...==
* [http://www.talkchess.com/forum/viewtopic.php?t=65466&start=4 Re: Tapered Eval between 4 phases] by [[Jonathan Rosenthal]], [[CCC]], October 16, 2017 » [[Tapered Eval]]
* [http://www.talkchess.com/forum/viewtopic.php?t=66266 Winter Released] by [[Jonathan Rosenthal]], [[CCC]], January 08, 2018
: [http://www.talkchess.com/forum/viewtopic.php?t=66266&start=7 Re: Winter Released] by [[Jonathan Rosenthal]], [[CCC]], January 09, 2018
: [http://www.talkchess.com/forum/viewtopic.php?t=66266&start=8 Windows version released] by [[Jonathan Rosenthal]], [[CCC]], January 23, 2018
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=68266 Winter 0.2 Release Overview and Select Games] by [[Jonathan Rosenthal]], [[CCC]], August 20, 2018
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=69288 Winter 0.3 Release Overview and Select Games] by [[Jonathan Rosenthal]], [[CCC]], December 16, 2018 » [[TCEC Season 14]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=72284 Winter NN Training Script] by [[Jonathan Rosenthal]], [[CCC]], November 09, 2019
==2020 ...==
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=74531&start=5 Re: NNUE accessible explanation] by [[Jonathan Rosenthal]], [[CCC]], July 24, 2020 » [[NNUE]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=75301 Winter] by [[Jonathan Rosenthal]], [[CCC]], October 05, 2020
: [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=75301&start=14 Re: Winter] by [[Jonathan Rosenthal]], [[CCC]], July 09, 2021
=External Links=
==Chess Engine==
* [https://github.com/rosenthj/Winter GitHub - rosenthj/Winter: UCI Chess Engine]
* [http://ccrl.chessdom.com/ccrl/4040/cgi/compare_engines.cgi?family=Winter&print=Rating+list&print=Results+table&print=LOS+table&print=Ponder+hit+table&print=Eval+difference+table&print=Comopp+gamenum+table&print=Overlap+table&print=Score+with+common+opponents Winter] in [[CCRL|CCRL 40/15]]
==Misc==
* [https://en.wikipedia.org/wiki/Winter Winter from Wikipedia]
* [https://en.wikipedia.org/wiki/Winter_(surname) Winter (surname) from Wikipedia]
* [https://en.wikipedia.org/wiki/Edward_Winter_%28chess_historian%29 Edward Winter (chess historian) from Wikipedia]
* [[Videos#JohnnyWinter:Category:Johnny Winter|Johnny Winter]] - Winter Ballade, [https://en.wikipedia.org/wiki/Institut_national_de_l%27audiovisuel ina.fr] 1970, [https://en.wikipedia.org/wiki/YouTube YouTube] Video: feat. [https[:Category://en.wikipedia.org/wiki/Tommy_Shannon Tommy Shannon|Tommy Shannon]] on bass and [http://yeech.altervista.org/Band/winter_band_john_turner.html Uncle John Turner] on drums
: {{#evu:https://www.youtube.com/watch?v=8P0wdTKMDyo|alignment=left|valignment=top}}
=References=
<references />
'''[[Engines|Up one Level]]'''
[[Category:UCI]]
[[Category:Open Source]]
[[Category:GPL]]
[[Category:X86]]
[[Category:X64]]
[[Category:ARM]]
[[Category:PC]]
[[Category:Android]]
[[Category:Linux]]
[[Category:Windows]]
[[Category:NN]]
[[Category:OpenBench]]
[[Category:Johnny Winter]]
[[Category:Tommy Shannon]]