Questions for the Stockfish team

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.
Post Reply
Michael Sherwin
Posts: 3046
Joined: Fri May 26, 2006 1:00 am
Location: WY, USA
Full name: Michael Sherwin

Questions for the Stockfish team

Post by Michael Sherwin » Fri Jul 16, 2010 4:13 am

For a long time most of us wondered what magic was in Rybka that enabled it to play so strong. Now we know that there is no magic. We have the sources of Ippolit and Stockfish that demonstrate that nothing revolutionary has been achieved. However, it is demonstrated that substantial improvements to existing themes have lead to substantial gains in playing strength. In looking at the Stockfish sources I can see what was done and then I can implement everything in an engine of my own. But, that does not mean that I would understand why these specifics are stronger or ever understand the reasoning of its authors. I want to know more than what's apparent in just the reading by rout of source code that is void of the philosophy behind it. I want to know if eliminating mistakes from the eval was less important or more important than any new stuff that was added. Do you have to improve the eval in order for some changes to the search to actually be effective? How much of the elo gain was from the search, the eval or the synergism between the changes to both? Just where does the improved strength come from and why?

Crafty is such a carefully crafted program by an author that understands 'alpha-beta theory' as well or better than anyone else, so even though Crafty is also improving, why are the specifics in Stockfish so much stronger than the specifics in Crafty. I can understand a 50 elo difference between the two, not the gap that does exist.

Can we be enlightened, please?
I hate if statements. Pawns demand if statements. Therefore I hate pawns.

lkaufman
Posts: 3760
Joined: Sun Jan 10, 2010 5:15 am
Location: Maryland USA
Contact:

Re: Questions for the Stockfish team

Post by lkaufman » Fri Jul 16, 2010 4:46 am

Move-ordering and singular extension probably account for a hundred Elo of the gap between Stockfish and Crafty. But as for the rest I too am puzzled.

zamar
Posts: 613
Joined: Sun Jan 18, 2009 6:03 am

Re: Questions for the Stockfish team

Post by zamar » Fri Jul 16, 2010 9:01 am

I don't like making comparisons with any specific program (like Crafty), but I can list some major points why I think Stockfish is stronger than most other modern programs:

* Relaxed singular extension
* Logarithmic LMR
* Complicated king safety evaluation
* Fine tuned tables and constants in evaluation
* Speed-optimized code
* Aggressive late move pruning at low depths
Joona Kiiski

mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 7:17 pm

Re: Questions for the Stockfish team

Post by mcostalba » Fri Jul 16, 2010 11:36 am

zamar wrote:I don't like making comparisons with any specific program (like Crafty), but I can list some major points why I think Stockfish is stronger than most other modern programs:

* Relaxed singular extension
* Logarithmic LMR
* Complicated king safety evaluation
* Fine tuned tables and constants in evaluation
* Speed-optimized code
* Aggressive late move pruning at low depths
:lol: :lol: :lol:

I think that someone (read Bob) will have to say something on the above points. :lol:

I don't like this kind of discussions because are very prone to handwaving (where I predict this thread is heading to BTW...)

Anyhow one should first try to understand where are hidden the 80 ELO points of difference _still_ (after more then 2 years) exsisting with Glaurung 2.2 and then, once understood this point (hint: it won't be understood :D ) add on the table the remaining 260 points.

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

Re: Questions for the Stockfish team

Post by Michael Sherwin » Fri Jul 16, 2010 2:03 pm

mcostalba wrote:
zamar wrote:I don't like making comparisons with any specific program (like Crafty), but I can list some major points why I think Stockfish is stronger than most other modern programs:

* Relaxed singular extension
* Logarithmic LMR
* Complicated king safety evaluation
* Fine tuned tables and constants in evaluation
* Speed-optimized code
* Aggressive late move pruning at low depths
:lol: :lol: :lol:

I think that someone (read Bob) will have to say something on the above points. :lol:

I don't like this kind of discussions because are very prone to handwaving (where I predict this thread is heading to BTW...)

Anyhow one should first try to understand where are hidden the 80 ELO points of difference _still_ (after more then 2 years) exsisting with Glaurung 2.2 and then, once understood this point (hint: it won't be understood :D ) add on the table the remaining 260 points.
Here is all I know as I have not done much of an examination of g2.2.

...

It uses Late Move Pruning if the move number is beyond a threshold value

There is some type of feedback from the search to the eval

The move ordering routine is quite 'slick' and far more sophisticated than, say, Craftys

Tord was a student of Phalanx in which a certain type of extension is done

---

There is more I would suspect, but I know that these thing are not in Crafty. Am I on the right track?

However, instead of playing games with us you could just be nice and tell us! My mom has Alzheimer's and I have so far sacrificed two and a half years of my life to taking care of her day and night. When do you think that I have had the time to find out for my self the secrets of g2.2 or Stockfish?
I hate if statements. Pawns demand if statements. Therefore I hate pawns.

bob
Posts: 20642
Joined: Mon Feb 27, 2006 6:30 pm
Location: Birmingham, AL

Re: Questions for the Stockfish team

Post by bob » Fri Jul 16, 2010 4:04 pm

mcostalba wrote:
zamar wrote:I don't like making comparisons with any specific program (like Crafty), but I can list some major points why I think Stockfish is stronger than most other modern programs:

* Relaxed singular extension
* Logarithmic LMR
* Complicated king safety evaluation
* Fine tuned tables and constants in evaluation
* Speed-optimized code
* Aggressive late move pruning at low depths
:lol: :lol: :lol:

I think that someone (read Bob) will have to say something on the above points. :lol:

I don't like this kind of discussions because are very prone to handwaving (where I predict this thread is heading to BTW...)

Anyhow one should first try to understand where are hidden the 80 ELO points of difference _still_ (after more then 2 years) exsisting with Glaurung 2.2 and then, once understood this point (hint: it won't be understood :D ) add on the table the remaining 260 points.
Don't follow your comments. G2.2 is not beating Crafty in any of my cluster testing, it has been an opponent for a good while, as is Toga2.

As far as the other stuff goes, you might be overstating the "exponential LMR" benefit. Just a small hint. Won't say how I _know_ this to be true, however. :)

(hint: it didn't come from "handwaving")

ernest
Posts: 1864
Joined: Wed Mar 08, 2006 7:30 pm

Re: Questions for the Stockfish team

Post by ernest » Fri Jul 16, 2010 4:15 pm

bob wrote:G2.2 is not beating Crafty in any of my cluster testing,
Well Bob, then how about the latest Stockfishes? :D

mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 7:17 pm

Re: Questions for the Stockfish team

Post by mcostalba » Fri Jul 16, 2010 4:36 pm

bob wrote: Don't follow your comments.
I have used official CEGT lists for single core CPU as reference for the numbers I have given.

bob
Posts: 20642
Joined: Mon Feb 27, 2006 6:30 pm
Location: Birmingham, AL

Re: Questions for the Stockfish team

Post by bob » Fri Jul 16, 2010 4:40 pm

ernest wrote:
bob wrote:G2.2 is not beating Crafty in any of my cluster testing,
Well Bob, then how about the latest Stockfishes? :D
Already posted some of those. +180 to +200. A gap. But not an insurmountable gap.

bob
Posts: 20642
Joined: Mon Feb 27, 2006 6:30 pm
Location: Birmingham, AL

Re: Questions for the Stockfish team

Post by bob » Fri Jul 16, 2010 4:43 pm

mcostalba wrote:
bob wrote: Don't follow your comments.
I have used official CEGT lists for single core CPU as reference for the numbers I have given.
I use my cluster test results exclusively. No book issues or anything else, just plain and simple "engine vs engine." Already found one serious timing bug that will influence rating lists that use "repeating" time controls that I never use or test with (for example, 40/60 repeating, 40 moves in 60 minutes, then repeat. Gross error in time usage in that.

I prefer fischer-clock games to avoid time scrambles also.

Post Reply