Winter

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

User avatar
Rebel
Posts: 6991
Joined: Thu Aug 18, 2011 12:04 pm

Re: Winter

Post by Rebel »

Winter 0.9 +71 on SRL :wink:

Code: Select all

                                                               Max            Time   Hash          
    Engine           Points  Used Time   Found   Pos    Elo   Score   Score    ms     Mb  Cpu  Errors
 1  Stockfish 12     341638  11:34:09.7  25383  40000  3416  400000  85.41%   1000   128    1     0
23  Winter 0.9       298713  10:06:38.6  20518  40000  2987  400000  74.68%   1000   128    1     0
33  Winter 0.8       291596  10:02:03.0  20057  40000  2916  400000  72.90%   1000   128    1    41
90% of coding is debugging, the other 10% is writing bugs.
matejst
Posts: 364
Joined: Mon May 14, 2007 8:20 pm
Full name: Boban Stanojević

Re: Winter

Post by matejst »

I somehow missed this thread, being at work for a few days. Downloaded the new Winter and it is indeed faster. I hope I will have time in the next few days to test it and analyze with it to see if it means changes in the way it plays.

Anyway, I hope you will continue to improve Winter your own way.

Wish you all the best, Jonathan.
Frank Quisinsky
Posts: 6808
Joined: Wed Nov 18, 2009 7:16 pm
Location: Gutweiler, Germany
Full name: Frank Quisinsky

Re: Winter

Post by Frank Quisinsky »

Hi,

good news!
Thanks for the new version.
Will be start for the next FCP Tourney.

Best
Frank

PS: Weeks not at home ...
My thanks comes a bit to late but it comes!
jorose
Posts: 358
Joined: Thu Jan 22, 2015 3:21 pm
Location: Zurich, Switzerland
Full name: Jonathan Rosenthal

Re: Winter

Post by jorose »

Rebel wrote: Mon Oct 12, 2020 7:53 am Winter 0.9 +71 on SRL :wink:

Code: Select all

                                                               Max            Time   Hash          
    Engine           Points  Used Time   Found   Pos    Elo   Score   Score    ms     Mb  Cpu  Errors
 1  Stockfish 12     341638  11:34:09.7  25383  40000  3416  400000  85.41%   1000   128    1     0
23  Winter 0.9       298713  10:06:38.6  20518  40000  2987  400000  74.68%   1000   128    1     0
33  Winter 0.8       291596  10:02:03.0  20057  40000  2916  400000  72.90%   1000   128    1    41
Awesome! Since the evaluation function is identical between the two versions, this might be an interesting data point for others as well.
matejst wrote: Tue Oct 13, 2020 9:33 am I somehow missed this thread, being at work for a few days. Downloaded the new Winter and it is indeed faster. I hope I will have time in the next few days to test it and analyze with it to see if it means changes in the way it plays.

Anyway, I hope you will continue to improve Winter your own way.

Wish you all the best, Jonathan.
Thank you, I am looking forward to hearing your findings!
Frank Quisinsky wrote: Sun Oct 18, 2020 9:15 am Hi,

good news!
Thanks for the new version.
Will be start for the next FCP Tourney.

Best
Frank

PS: Weeks not at home ...
My thanks comes a bit to late but it comes!
Great! While it might not seem like it since I don't usually comment on the tournament threads much, I do in fact follow all the events I am aware of Winter participating in. FCP generates a lot of interesting statistics.
-Jonathan
jorose
Posts: 358
Joined: Thu Jan 22, 2015 3:21 pm
Location: Zurich, Switzerland
Full name: Jonathan Rosenthal

Re: Winter

Post by jorose »

I don't want to say too much, but I have been getting a lot more motivated to work on computer chess again :)

I finally got around to testing a pull request made back in March (thanks again to Anurag Singh) which added support for Android. Support relies on an open source header file which I removed from the repository as it was too large for my taste and I didn't want to think about license implications. The patch author didn't have to change much code so I can recommend looking into the SSE2Neon headers for anyone looking to add Android support to their engines. The compilation instructions are pretty straightforward and if people need help I might upload a binary to google drive or something similar :)

The next step for Winter is Chess960 / Fischer Random support. This is something I have wanted to do for a while already, but have somehow hesitated. I also want to learn how to integrate network files into the binary without relying on a header file with all the weights. This approach has been fine so far as my networks have been very small, but there are ideas I have involving larger nets (eg some forms of policy nets).

The last point I have been thinking about is Summer; Winters alter ego. Current plan is for Summer to be an engine which is more general than Winter and almost certainly much weaker. Summer will start with a lot of the more boilerplate code from Winter: magic bitboards, bit level functions, etc. My thinking is I initially want to approach things as if I was unfamiliar with the game I am programming for and just relying on things I learned from computer chess that worked. This means I would implement things like LMR and null move pruning, as I would assume they could work in a wide variety of games, but perhaps not quiescent search, which seems more chess specific, even if fairly generalize-able.

My thinking here is for either Summer to become a general game playing agent that can play other games, such as Ataxx, or alternatively incrementally adding more Elo gaining features coming from a different angle than Winter. The idea is that depending on what features a program has, other search or evaluation features may be more or less effective. This means there is a risk programs end up in similar local optima.

I have to stress here not to have high expectations in Summer. I cannot even guarantee I will ever release it, and can almost guarantee it will never become stronger than my primary engine, Winter. It is more of a side-side-project where I feel I can be more experimental and playful. There is not even a guarantee the strength will not get worse between versions.
-Jonathan
matejst
Posts: 364
Joined: Mon May 14, 2007 8:20 pm
Full name: Boban Stanojević

Re: Winter

Post by matejst »

Keep on with the good work, Jonathan! I hope there will be a new version of Winter asap.

Jonathan Kreuzer (SlowChess) has shown that nets do not have to be huge to be efficient, and I am sure that you will be able to improve the positional aspects of Winter rapidly, combining several nets for different phases of the game. I still use Winter for analysis of certain types of positions (especially now when I am used to its idiosyncrasies, e.g. wait until depth 22/23 to get a reliable line, or to be careful in tactical positions, when it can miss some hidden possibilities; use it more in position with lot of pieces -- change engine in simple middlegames/endgames).

And, I would like to make something clear, if it was not already: I use engines for chess -- Rodent IV to play training games, Wasp, Winter or SlowChess to analyse openings, middlegames and endings. Since this epidemic started, I found time to play and learn chess again. I value originality a lot, and, from a practical standpoint, at my level (I am losing/barely winning against Rodent at 1350 elos), using Wasp, Winter or SF does not make a noticeable difference. And, this way, I show some support, and my sincere appreciation to the authors.
Archimedes
Posts: 135
Joined: Tue Mar 05, 2019 3:43 pm
Full name: Archimedes

Re: Winter

Post by Archimedes »

The sse2neon header file works perfect. Engine is stable and there are no crashes during tournaments on Android so far. Thanks again to Anurag Singh for his research (few month ago, when there was no build in support for Android).
connor_mcmonigle
Posts: 530
Joined: Sun Sep 06, 2020 4:40 am
Full name: Connor McMonigle

Re: Winter

Post by connor_mcmonigle »

jorose wrote: Fri Jul 09, 2021 9:20 am I don't want to say too much, but I have been getting a lot more motivated to work on computer chess again :)

I finally got around to testing a pull request made back in March (thanks again to Anurag Singh) which added support for Android. Support relies on an open source header file which I removed from the repository as it was too large for my taste and I didn't want to think about license implications. The patch author didn't have to change much code so I can recommend looking into the SSE2Neon headers for anyone looking to add Android support to their engines. The compilation instructions are pretty straightforward and if people need help I might upload a binary to google drive or something similar :)

The next step for Winter is Chess960 / Fischer Random support. This is something I have wanted to do for a while already, but have somehow hesitated. I also want to learn how to integrate network files into the binary without relying on a header file with all the weights. This approach has been fine so far as my networks have been very small, but there are ideas I have involving larger nets (eg some forms of policy nets).

The last point I have been thinking about is Summer; Winters alter ego. Current plan is for Summer to be an engine which is more general than Winter and almost certainly much weaker. Summer will start with a lot of the more boilerplate code from Winter: magic bitboards, bit level functions, etc. My thinking is I initially want to approach things as if I was unfamiliar with the game I am programming for and just relying on things I learned from computer chess that worked. This means I would implement things like LMR and null move pruning, as I would assume they could work in a wide variety of games, but perhaps not quiescent search, which seems more chess specific, even if fairly generalize-able.

My thinking here is for either Summer to become a general game playing agent that can play other games, such as Ataxx, or alternatively incrementally adding more Elo gaining features coming from a different angle than Winter. The idea is that depending on what features a program has, other search or evaluation features may be more or less effective. This means there is a risk programs end up in similar local optima.

I have to stress here not to have high expectations in Summer. I cannot even guarantee I will ever release it, and can almost guarantee it will never become stronger than my primary engine, Winter. It is more of a side-side-project where I feel I can be more experimental and playful. There is not even a guarantee the strength will not get worse between versions.
Great news! I look forward to seeing what you come up with.
jorose
Posts: 358
Joined: Thu Jan 22, 2015 3:21 pm
Location: Zurich, Switzerland
Full name: Jonathan Rosenthal

Re: Winter

Post by jorose »

I don't want to spam forum with every little patch, but version 0.9.5 adds support for Fischer Random / Chess960, which feels like a feature some people care about.

Winter's implementation should actually support positions with vertically asymmetric castling. So you could expand the starting positions to 960 * 960 positions by removing the constraint of vertical symmetry. Unfortunately, I don't know whether any GUIs support such a feature, but I would find it useful.

I can't really make any Windows compiles until at least the 25th, so if someone would like a binary, we would need some support. Probably I will release version 1.0 with less Elo gain than previous versions due to how long it has been since the last version. That being said, I will probably still make a couple patches before that point.
-Jonathan
User avatar
CMCanavessi
Posts: 1142
Joined: Thu Dec 28, 2017 4:06 pm
Location: Argentina

Re: Winter

Post by CMCanavessi »

jorose wrote: Tue Jul 13, 2021 5:27 pm I don't want to spam forum with every little patch, but version 0.9.5 adds support for Fischer Random / Chess960, which feels like a feature some people care about.
Awesome, just when I started my FRC "Top 20" tournament. Will include Winter in it when you finally release it (waiting also for Minic, Ethereal and GUI bugfixes). It'll probably replace Rybka.
Follow my tournament and some Leela gauntlets live at http://twitch.tv/ccls