Stockfish 7 progress

Discussion of chess software programming and technical issues.

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
User avatar
lucasart
Posts: 3040
Joined: Mon May 31, 2010 11:29 am
Full name: lucasart
Contact:

Re: Stockfish 7 progress

Post by lucasart » Sun Jan 17, 2016 9:12 am

Actually there is one idea worth mentionning: Counter Moves History. It was introduced by Stefan Geschwenter, and proved to be worth quite a bit of elo, as it was later fine tuned, and used in various places (thanks to VoyagerOne who managed to get quite a bit of elo out of this CMH).

As far as I know, this idea did not exist in the "litterature", and is unique to SF. Although, I suppose every top engine has now copied it.
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.

Sven
Posts: 3826
Joined: Thu May 15, 2008 7:57 pm
Location: Berlin, Germany
Full name: Sven Schüle
Contact:

Re: Stockfish 7 progress

Post by Sven » Sun Jan 17, 2016 10:06 am

I suggest to remove email addresses from the list above.

Michael Sherwin
Posts: 3041
Joined: Fri May 26, 2006 1:00 am
Location: WY, USA
Full name: Michael Sherwin

Re: Stockfish 7 progress

Post by Michael Sherwin » Sun Jan 17, 2016 10:57 am

lucasart wrote:Actually there is one idea worth mentionning: Counter Moves History. It was introduced by Stefan Geschwenter, and proved to be worth quite a bit of elo, as it was later fine tuned, and used in various places (thanks to VoyagerOne who managed to get quite a bit of elo out of this CMH).

As far as I know, this idea did not exist in the "litterature", and is unique to SF. Although, I suppose every top engine has now copied it.
Has been in RomiChess since 2005!

Code: Select all

    case MOVEKILL:
      h->phase = ADDMOVES;
      m.m = moveKill[piece[board[(h-1)->ts]].fig][(h-1)->fs][(h-1)->ts].m;
      if(wtm ? wPieces & setBit[m.fs] : bPieces & setBit[m.fs]) {
        id = board[m.fs];
        if(piece[id].typ == m.typ) {
          if(h->moves[id] & setBit[m.ts]) {
            h->moves[id] ^= setBit[m.ts];
            h->node->m = m.m;
            (h+1)->t = h->node + 1;
            return TRUE;
          }   
        }  
      }
I hate if statements. Pawns demand if statements. Therefore I hate pawns.

User avatar
stegemma
Posts: 859
Joined: Mon Aug 10, 2009 8:05 pm
Location: Italy
Full name: Stefano Gemma
Contact:

Re: Stockfish 7 progress

Post by stegemma » Sun Jan 17, 2016 11:15 am

Anybody knows if there is a mathematical limit to ELO, in a limited set of players where only one of them grows in strength?
Author of Drago, Raffaela, Freccia, Satana, Sabrina.
http://www.linformatica.com

User avatar
Evert
Posts: 2923
Joined: Fri Jan 21, 2011 11:42 pm
Location: NL
Contact:

Re: Stockfish 7 progress

Post by Evert » Sun Jan 17, 2016 11:33 am

stegemma wrote:Anybody knows if there is a mathematical limit to ELO, in a limited set of players where only one of them grows in strength?
The winning rate of the strongest player grows to 1 asymptotically as its rating approaches infinity (or, more accurately, its rating difference compared to the other players in the pool).

Other than that, no. At least not with the standard Elo models (based on logistic or normal distributions). Of course the winning rate becomes 1 for all practical purposes long before then...

clumma
Posts: 177
Joined: Fri Oct 10, 2014 8:05 pm
Location: Berkeley, CA

Re: Stockfish 7 progress

Post by clumma » Sun Jan 17, 2016 7:40 pm

stegemma wrote:Anybody knows if there is a mathematical limit to ELO, in a limited set of players where only one of them grows in strength?
This should probably be a separate thread, but Regan's research suggests that perfect chess corresponds to a FIDE Elo of 3600. He got that result with Rybka and it would be interesting to recompute it with Komodo or SF, but in any case I'd wager it's less than 4000.

-Carl

clumma
Posts: 177
Joined: Fri Oct 10, 2014 8:05 pm
Location: Berkeley, CA

Re: Stockfish 7 progress

Post by clumma » Sun Jan 17, 2016 8:24 pm

Thanks for your reply, Lucas. The move to lazy SMP is interesting, and did occur in October. I found these recent threads, which I will read
http://www.talkchess.com/forum/viewtopic.php?t=57572
http://www.talkchess.com/forum/viewtopic.php?t=55352

However, if I'm reading Pohl's site right, his tests are all single-core
http://spcc.beepworld.de/
so lazy SMP probably doesn't explain the two October bumps on his graph.

-Carl

MikeB
Posts: 3461
Joined: Thu Mar 09, 2006 5:34 am
Location: Pen Argyl, Pennsylvania

Re: Stockfish 7 progress

Post by MikeB » Sun Jan 17, 2016 8:27 pm

clumma wrote:I'm always curious what might be learned from Stockfish's progress. Is it just accumulation of many small improvements, or are some changes more important than others?

This graph by Stefan Pohl makes Elo progress from SF6 to SF7 look non uniform, with a large bump in October

Image

Does anyone know which changes these were?

-Carl
I am fairly certain over the last 7 months or so, since I have been following it, this was the largest single patch worth 8 Elo, . Most seem to be 2 to 3 ELO . They come in spurts , a week or more goes by their may no patches ELO gains. One week you might have 3 or 4 committed the same week with 10 ELO or so. Note: All ELO gains are measured in self testing , which tend to exaggerate the real ELO gain, but they are gains nonetheless.

Very impressed with the approach that they have taken, they have many contributors , 3 or 4 senior programmers (I'm not 100% sure what is the exact protocol - this is the way its appears to me) who review and approve all changes on a collaborative basis, especially given that is it's 100% volunteer and that it is totally 100% transparent. The code is shared with the public as soon as it approved. Second to Bob Hyatt for sharing his code for the last 25+ years, the development and opened source of Fruit , followed by Glaurung and now Stockfish is the primary reason why we now have engines that are far superior to the top GMs. Even if you take a top engine from the 90's and run it on today's hardware, it would not be far superior or perhaps even superior to a top GM. The difference is the source and all those who made their engine open source shared a part in that.

I hope it continues - these are good times for those who enjoy chess engines.

clumma
Posts: 177
Joined: Fri Oct 10, 2014 8:05 pm
Location: Berkeley, CA

Re: Stockfish 7 progress

Post by clumma » Sun Jan 17, 2016 8:41 pm

lucasart wrote:Actually there is one idea worth mentionning: Counter Moves History. It was introduced by Stefan Geschwenter, and proved to be worth quite a bit of elo, as it was later fine tuned, and used in various places (thanks to VoyagerOne who managed to get quite a bit of elo out of this CMH).
Aha, VoyagerOne's commits on Oct 12 and Oct 21 could be responsible.
As far as I know, this idea did not exist in the "litterature", and is unique to SF. Although, I suppose every top engine has now copied it.
Is it the same as "countermove heuristic"
https://chessprogramming.wikispaces.com ... +Heuristic
?

-Carl

clumma
Posts: 177
Joined: Fri Oct 10, 2014 8:05 pm
Location: Berkeley, CA

Re: Stockfish 7 progress

Post by clumma » Sun Jan 17, 2016 8:51 pm

MikeB wrote:I am fairly certain over the last 7 months or so, since I have been following it, this was the largest single patch worth 8 Elo
Another SMP thing, so not related to Pohl's graph, but very interesting anyway- thanks!
I hope it continues - these are good times for those who enjoy chess engines.
Indeed!

-C.

Post Reply