Page 1 of 30

Questions for the Stockfish team

Posted: Fri Jul 16, 2010 6:13 am
by Michael Sherwin
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?

Re: Questions for the Stockfish team

Posted: Fri Jul 16, 2010 6:46 am
by lkaufman
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.

Re: Questions for the Stockfish team

Posted: Fri Jul 16, 2010 11:01 am
by zamar
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

Re: Questions for the Stockfish team

Posted: Fri Jul 16, 2010 1:36 pm
by mcostalba
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.

Re: Questions for the Stockfish team

Posted: Fri Jul 16, 2010 4:03 pm
by Michael Sherwin
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?

Re: Questions for the Stockfish team

Posted: Fri Jul 16, 2010 6:04 pm
by bob
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")

Re: Questions for the Stockfish team

Posted: Fri Jul 16, 2010 6:15 pm
by ernest
bob wrote:G2.2 is not beating Crafty in any of my cluster testing,
Well Bob, then how about the latest Stockfishes? :D

Re: Questions for the Stockfish team

Posted: Fri Jul 16, 2010 6:36 pm
by mcostalba
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.

Re: Questions for the Stockfish team

Posted: Fri Jul 16, 2010 6:40 pm
by bob
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.

Re: Questions for the Stockfish team

Posted: Fri Jul 16, 2010 6:43 pm
by bob
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.