Question regarding WAC number 2

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

jacobbl
Posts: 80
Joined: Wed Feb 17, 2010 3:57 pm

Re: Question regarding WAC number 2

Post by jacobbl »

That's interesting. Would you mind to share what improvements you have made? Pruning, reduction, move ordering etc ?

Regards Jacob
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Question regarding WAC number 2

Post by bob »

jacobbl wrote:Interesting, it doesn't seem logical that a so simple rule is the optimal solution, but I will try it. But then I suspect you have advanced pruning/reductions in your engine.

Regards
Jacob
In chess, everything is a trade-off. If you extend some moves, all the others must be searched to a lower depth to keep the search space size unchanged, since that is constrained by time. Each time you trade some time to look deeper over here, you look less deep over there. The accuracy of that decision really affects engine strength. Extending all checks is a bad idea. No point in extending a check where your opponent just rips the checking piece off the board, or casually moves away with no danger...
Uri Blass
Posts: 10302
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Question regarding WAC number 2

Post by Uri Blass »

jacobbl wrote:Interesting, it doesn't seem logical that a so simple rule is the optimal solution, but I will try it. But then I suspect you have advanced pruning/reductions in your engine.

Regards
Jacob
Of course there is no reason to believe that extending only checks is the optimal solution.

Stockfish that is stronger than Crafty extend moves that are not checks(for example it is using singular extensions) and I guess that it is one of the reason that Stockfish is stronger than Crafty.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Question regarding WAC number 2

Post by bob »

Uri Blass wrote:
jacobbl wrote:Interesting, it doesn't seem logical that a so simple rule is the optimal solution, but I will try it. But then I suspect you have advanced pruning/reductions in your engine.

Regards
Jacob
Of course there is no reason to believe that extending only checks is the optimal solution.

Stockfish that is stronger than Crafty extend moves that are not checks(for example it is using singular extensions) and I guess that it is one of the reason that Stockfish is stronger than Crafty.

Fortunately, _some_ of us don't have to "guess". :)

SE is _minimal_ improvement at best, zero in the testing I did...

No one knows what is optimal for extensions or reductions. Excessive extensions waste time and hurt performance. Excessive reductions or pruning misses important tactical/positional moves. Lots of trade-offs...
bhlangonijr
Posts: 482
Joined: Thu Oct 16, 2008 4:23 am
Location: Milky Way

Re: Question regarding WAC number 2

Post by bhlangonijr »

bob wrote:
Uri Blass wrote:
jacobbl wrote:Interesting, it doesn't seem logical that a so simple rule is the optimal solution, but I will try it. But then I suspect you have advanced pruning/reductions in your engine.

Regards
Jacob
Of course there is no reason to believe that extending only checks is the optimal solution.

Stockfish that is stronger than Crafty extend moves that are not checks(for example it is using singular extensions) and I guess that it is one of the reason that Stockfish is stronger than Crafty.

Fortunately, _some_ of us don't have to "guess". :)

SE is _minimal_ improvement at best, zero in the testing I did...

No one knows what is optimal for extensions or reductions. Excessive extensions waste time and hurt performance. Excessive reductions or pruning misses important tactical/positional moves. Lots of trade-offs...
Bob, have you tried removing SE from Stockfish and test it using your cluster? Because there is a chance Crafty is not taking all advantages of SE.

Regards,
User avatar
Roman Hartmann
Posts: 295
Joined: Wed Mar 08, 2006 8:29 pm

Re: Question regarding WAC number 2

Post by Roman Hartmann »

jacobbl wrote:That's interesting. Would you mind to share what improvements you have made? Pruning, reduction, move ordering etc ?

Regards Jacob
I only changed the conditions for LMR (LMR=Late Move Reduction) if I remember correctly. I changed/rewrote a lot of other things too but that was only meant to clean up the source and shouldn't have changed the playing style at all unless I removed/added bugs without noticing in doing so.

Roman
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Question regarding WAC number 2

Post by bob »

bhlangonijr wrote:
bob wrote:
Uri Blass wrote:
jacobbl wrote:Interesting, it doesn't seem logical that a so simple rule is the optimal solution, but I will try it. But then I suspect you have advanced pruning/reductions in your engine.

Regards
Jacob
Of course there is no reason to believe that extending only checks is the optimal solution.

Stockfish that is stronger than Crafty extend moves that are not checks(for example it is using singular extensions) and I guess that it is one of the reason that Stockfish is stronger than Crafty.

Fortunately, _some_ of us don't have to "guess". :)

SE is _minimal_ improvement at best, zero in the testing I did...

No one knows what is optimal for extensions or reductions. Excessive extensions waste time and hurt performance. Excessive reductions or pruning misses important tactical/positional moves. Lots of trade-offs...
Bob, have you tried removing SE from Stockfish and test it using your cluster? Because there is a chance Crafty is not taking all advantages of SE.

Regards,
Yes I did. And I posted the results in a SE thread here a few weeks back. Removing SE from SF 1.8 made no difference at all in 2 30K game runs, in the 3rd it was a very small gain. I don't recall the specifics but the thread can be found in this forum...

The SE they use is the idea taken from IP* and friends, namely to extend TT "best moves" if the value appears to be interesting. IMHO this is a random extension, because you don't extend "singular moves" as is used in the Hsu/Campbell definition. You have to first find the move in the TT, which is a small percentage of all nodes in a middlegame, and you suffer when entries get replaced/overwritten since you can't extend that which you don't find in the TT. The overall idea of SE might be a good one, if done right. But not _this_ idea...
bhlangonijr
Posts: 482
Joined: Thu Oct 16, 2008 4:23 am
Location: Milky Way

Re: Question regarding WAC number 2

Post by bhlangonijr »

bob wrote:
bhlangonijr wrote:
bob wrote:
Uri Blass wrote:
jacobbl wrote:Interesting, it doesn't seem logical that a so simple rule is the optimal solution, but I will try it. But then I suspect you have advanced pruning/reductions in your engine.

Regards
Jacob
Of course there is no reason to believe that extending only checks is the optimal solution.

Stockfish that is stronger than Crafty extend moves that are not checks(for example it is using singular extensions) and I guess that it is one of the reason that Stockfish is stronger than Crafty.

Fortunately, _some_ of us don't have to "guess". :)

SE is _minimal_ improvement at best, zero in the testing I did...

No one knows what is optimal for extensions or reductions. Excessive extensions waste time and hurt performance. Excessive reductions or pruning misses important tactical/positional moves. Lots of trade-offs...
Bob, have you tried removing SE from Stockfish and test it using your cluster? Because there is a chance Crafty is not taking all advantages of SE.

Regards,
Yes I did. And I posted the results in a SE thread here a few weeks back. Removing SE from SF 1.8 made no difference at all in 2 30K game runs, in the 3rd it was a very small gain. I don't recall the specifics but the thread can be found in this forum...

The SE they use is the idea taken from IP* and friends, namely to extend TT "best moves" if the value appears to be interesting. IMHO this is a random extension, because you don't extend "singular moves" as is used in the Hsu/Campbell definition. You have to first find the move in the TT, which is a small percentage of all nodes in a middlegame, and you suffer when entries get replaced/overwritten since you can't extend that which you don't find in the TT. The overall idea of SE might be a good one, if done right. But not _this_ idea...
I found the post you have mentioned.
http://www.talkchess.com/forum/viewtopi ... =&start=40
I think that your tests strongly suggests that SE in Stockfish is a real improvement. If we assume that SE implementation slow things down in search and you have got a small improvement . It shows that even in faster TC SE pays off the fact that Stockfish with no SE has faster search. Don't you think so? I would not be surprised if the Elo difference is even bigger with longer TC...
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Question regarding WAC number 2

Post by bob »

bhlangonijr wrote:
bob wrote:
bhlangonijr wrote:
bob wrote:
Uri Blass wrote:
jacobbl wrote:Interesting, it doesn't seem logical that a so simple rule is the optimal solution, but I will try it. But then I suspect you have advanced pruning/reductions in your engine.

Regards
Jacob
Of course there is no reason to believe that extending only checks is the optimal solution.

Stockfish that is stronger than Crafty extend moves that are not checks(for example it is using singular extensions) and I guess that it is one of the reason that Stockfish is stronger than Crafty.

Fortunately, _some_ of us don't have to "guess". :)

SE is _minimal_ improvement at best, zero in the testing I did...

No one knows what is optimal for extensions or reductions. Excessive extensions waste time and hurt performance. Excessive reductions or pruning misses important tactical/positional moves. Lots of trade-offs...
Bob, have you tried removing SE from Stockfish and test it using your cluster? Because there is a chance Crafty is not taking all advantages of SE.

Regards,
Yes I did. And I posted the results in a SE thread here a few weeks back. Removing SE from SF 1.8 made no difference at all in 2 30K game runs, in the 3rd it was a very small gain. I don't recall the specifics but the thread can be found in this forum...

The SE they use is the idea taken from IP* and friends, namely to extend TT "best moves" if the value appears to be interesting. IMHO this is a random extension, because you don't extend "singular moves" as is used in the Hsu/Campbell definition. You have to first find the move in the TT, which is a small percentage of all nodes in a middlegame, and you suffer when entries get replaced/overwritten since you can't extend that which you don't find in the TT. The overall idea of SE might be a good one, if done right. But not _this_ idea...
I found the post you have mentioned.
http://www.talkchess.com/forum/viewtopi ... =&start=40
I think that your tests strongly suggests that SE in Stockfish is a real improvement. If we assume that SE implementation slow things down in search and you have got a small improvement . It shows that even in faster TC SE pays off the fact that Stockfish with no SE has faster search. Don't you think so? I would not be surprised if the Elo difference is even bigger with longer TC...
If you look all the way thru the various threads, I ran the test at longer time controls as well... I don't see where you conclude "a real improvement" when with an error margin of +/- 4 the gain was "zero". I am not sure what your reasoning is based on.
Uri Blass
Posts: 10302
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Question regarding WAC number 2

Post by Uri Blass »

bob wrote:
bhlangonijr wrote:
bob wrote:
bhlangonijr wrote:
bob wrote:
Uri Blass wrote:
jacobbl wrote:Interesting, it doesn't seem logical that a so simple rule is the optimal solution, but I will try it. But then I suspect you have advanced pruning/reductions in your engine.

Regards
Jacob
Of course there is no reason to believe that extending only checks is the optimal solution.

Stockfish that is stronger than Crafty extend moves that are not checks(for example it is using singular extensions) and I guess that it is one of the reason that Stockfish is stronger than Crafty.

Fortunately, _some_ of us don't have to "guess". :)

SE is _minimal_ improvement at best, zero in the testing I did...

No one knows what is optimal for extensions or reductions. Excessive extensions waste time and hurt performance. Excessive reductions or pruning misses important tactical/positional moves. Lots of trade-offs...
Bob, have you tried removing SE from Stockfish and test it using your cluster? Because there is a chance Crafty is not taking all advantages of SE.

Regards,
Yes I did. And I posted the results in a SE thread here a few weeks back. Removing SE from SF 1.8 made no difference at all in 2 30K game runs, in the 3rd it was a very small gain. I don't recall the specifics but the thread can be found in this forum...

The SE they use is the idea taken from IP* and friends, namely to extend TT "best moves" if the value appears to be interesting. IMHO this is a random extension, because you don't extend "singular moves" as is used in the Hsu/Campbell definition. You have to first find the move in the TT, which is a small percentage of all nodes in a middlegame, and you suffer when entries get replaced/overwritten since you can't extend that which you don't find in the TT. The overall idea of SE might be a good one, if done right. But not _this_ idea...
I found the post you have mentioned.
http://www.talkchess.com/forum/viewtopi ... =&start=40
I think that your tests strongly suggests that SE in Stockfish is a real improvement. If we assume that SE implementation slow things down in search and you have got a small improvement . It shows that even in faster TC SE pays off the fact that Stockfish with no SE has faster search. Don't you think so? I would not be surprised if the Elo difference is even bigger with longer TC...
If you look all the way thru the various threads, I ran the test at longer time controls as well... I don't see where you conclude "a real improvement" when with an error margin of +/- 4 the gain was "zero". I am not sure what your reasoning is based on.
Here is the relevant data at longer time control.

Stockfish 1.8 64bit 2796 16 16 1255 75% 2600 38%
Stockfish 1.8noSE 64bit 2781 15 15 1325 72% 2602 41%

You stopped the test at longer time control but the data clearly support the idea that you get a real improvement from SE in stockfish.