TCEC superfinal, what will it be like?

Discussion of computer chess matches and engine tournaments.

Moderator: Ras

lkaufman
Posts: 6284
Joined: Sun Jan 10, 2010 6:15 am
Location: Maryland USA
Full name: Larry Kaufman

Re: TCEC superfinal, what will it be like?

Post by lkaufman »

Eelco de Groot wrote:
lkaufman wrote:
Eelco de Groot wrote: If Lazy SMP for Stockfish means it is searching 'wider', especially at the root then this may be explaining the advantage in that it is correcting the fact that at the very high depths achieved in TCEC you don't really need the Singular Extensions in the PV anymore, or that they are set to extend too much at these depths. Combined with an oversupply of threads for an serial algorithm like alpha beta. Lazy SMP would correct some of that, but in a 'lazy' way. I would expect, Stockfish' Lazy SMP not to be much beter than Toga's version of Lazy SMP: reasonable, but not scaling spectacularly well especially above four threads...
You say it is a fact that at very high depths you don't need Singular Extension in the PV. Is there really empirical evidence of this claim, or is it really just your opinion and not a "fact"? Also, if you don't need Singular Extension in the PV at high depth, do you need it in non-PV at high depth? If so what is the logic?

I don't mean to sound critical or sarcastic, I am genuinely interested in your reply. Thanks in advance.
Hi Larry,

Thanks for asking, I think it is okay to be critical of my post though. I think I was mainly playing the devil's advocate, basically I would still like to see a really very selective program succeed at the highest level and Singular Extensions seems to be the best bet right now, and also regards Lazy SMP, I am now seeing some of the discussions about Lazy SMP at Fishtest and the guys are realy very hard at work at it. So they really believe in this.


What remains though is a criticism of the way the SE extensions were done in Rainbow Serpent, the reductions introduced in CUT nodes in the nullwindow search are not so often called perhaps (most 'Easy Cuts' are reduced by null move), but the reduction is comparable in size to null move reductions, up to 4 ply reductions. Even if you allow for possible bugs, I would expect visible changes from this in time to depth etc. But there seem no really large effects, although I did not really measure it. There were however no reductions allowed in PV nodes and I am thinking that may have been the largest reason for the small effect. So what it comes down to, especially if you write singular extensions completely as reductions and no hybrid of this, you should not be afraid of also reducing the non singular PV moves. The singular PV moves will then not be reduced and that is the same as extending them, when you do singular extensions in the 'classic' (here I mean the SF singular reductions, possibly borrowed indirectly from Rybka 3) way. So now I try reducing non singular PV moves even though the only reductions here were Late Move Reductions until recently, then Lucas tested that also a default Late Move Pruning is also best in PV nodes. Still no null move reductions but now the non singular reductions are added to those two pruning/reductions. The PV will be less extended because of it but I think it is still good and at least it is consistent.

Regards, Eelco
It seems to me that reducing non-singular moves is VERY different than extending singular moves. The extension puts more emphasis on the line leading up to the singular move. Also reducing non-singular moves is rather redundant with LMR, though of course you can do both or do the larger of the two reductions. Is there some evidence that reducing non-singular moves is better than extending singular moves in any engine?
Komodo rules!
User avatar
Eelco de Groot
Posts: 4697
Joined: Sun Mar 12, 2006 2:40 am
Full name:   Eelco de Groot

Re: TCEC superfinal, what will it be like?

Post by Eelco de Groot »

lkaufman wrote:
Eelco de Groot wrote:
lkaufman wrote:
Eelco de Groot wrote: If Lazy SMP for Stockfish means it is searching 'wider', especially at the root then this may be explaining the advantage in that it is correcting the fact that at the very high depths achieved in TCEC you don't really need the Singular Extensions in the PV anymore, or that they are set to extend too much at these depths. Combined with an oversupply of threads for an serial algorithm like alpha beta. Lazy SMP would correct some of that, but in a 'lazy' way. I would expect, Stockfish' Lazy SMP not to be much beter than Toga's version of Lazy SMP: reasonable, but not scaling spectacularly well especially above four threads...
You say it is a fact that at very high depths you don't need Singular Extension in the PV. Is there really empirical evidence of this claim, or is it really just your opinion and not a "fact"? Also, if you don't need Singular Extension in the PV at high depth, do you need it in non-PV at high depth? If so what is the logic?

I don't mean to sound critical or sarcastic, I am genuinely interested in your reply. Thanks in advance.
Hi Larry,

Thanks for asking, I think it is okay to be critical of my post though. I think I was mainly playing the devil's advocate, basically I would still like to see a really very selective program succeed at the highest level and Singular Extensions seems to be the best bet right now, and also regards Lazy SMP, I am now seeing some of the discussions about Lazy SMP at Fishtest and the guys are realy very hard at work at it. So they really believe in this.


What remains though is a criticism of the way the SE extensions were done in Rainbow Serpent, the reductions introduced in CUT nodes in the nullwindow search are not so often called perhaps (most 'Easy Cuts' are reduced by null move), but the reduction is comparable in size to null move reductions, up to 4 ply reductions. Even if you allow for possible bugs, I would expect visible changes from this in time to depth etc. But there seem no really large effects, although I did not really measure it. There were however no reductions allowed in PV nodes and I am thinking that may have been the largest reason for the small effect. So what it comes down to, especially if you write singular extensions completely as reductions and no hybrid of this, you should not be afraid of also reducing the non singular PV moves. The singular PV moves will then not be reduced and that is the same as extending them, when you do singular extensions in the 'classic' (here I mean the SF singular reductions, possibly borrowed indirectly from Rybka 3) way. So now I try reducing non singular PV moves even though the only reductions here were Late Move Reductions until recently, then Lucas tested that also a default Late Move Pruning is also best in PV nodes. Still no null move reductions but now the non singular reductions are added to those two pruning/reductions. The PV will be less extended because of it but I think it is still good and at least it is consistent.

Regards, Eelco
It seems to me that reducing non-singular moves is VERY different than extending singular moves. The extension puts more emphasis on the line leading up to the singular move. Also reducing non-singular moves is rather redundant with LMR, though of course you can do both or do the larger of the two reductions. Is there some evidence that reducing non-singular moves is better than extending singular moves in any engine?
Hi Larry,

I don't think I quite follow it.

I do agree it is different, but I thought more different, with respect to everything that does not end up in the block where you give a singular extension or a non-singular reduction. Remember the nonsingular reduction is still only in PV nodes and CUT nodes. If these are now reduced, the reductions in ALL nodes seem less severe, because CUT nodes can now also be reduced (but they do add up, I agree so that in total the line as a whole is much more reduced. The advantage is: there can be no search implosions, but in the PV badly controlled singular extensions can give search explosions because both colours can be extended). There are still extensions for checks, that is just the same, but they do not have to compete with other moves that previously were extended for singularity. Reductions for non promising recaptures (Probcut) are also less severe because tactical moves afterwards can still be reduced if there are more moves than one that reach alpha. Nullmove reductions are also a bit less in CUT nodes, compared to moves that could not be null moved, could not be Probcut reduced but now get reduced for being nonsingular Fail High moves. LMR only becomes important again in the next layer of ALL moves. So in my opinion, the MultiCut reduction what maybe is a more familiar term competes more with null move reductions in the sense that most moves that could be reduced by MultiCut, never get there because a nullmove was also sufficient to reach alpha.

I only just made a version of nonsingular reductions totally replacing the singular extensions in Stockfish/Rainbow Serpent, it might be much weaker, I do not know. First priority was to see if it still could solve testpositions, beyond that I do not know. The only experience I know of I think it was from Don, saying that in the past, MultiCut was at most even with Nullmove, in maybe RexChess or another engine or just a beta try, but that you had not gotten around to successfully combining the two reductions or replacing nullmove with MultiCut. I think it was Don who said this somewhere..

Eelco
Debugging is twice as hard as writing the code in the first
place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
-- Brian W. Kernighan
lkaufman
Posts: 6284
Joined: Sun Jan 10, 2010 6:15 am
Location: Maryland USA
Full name: Larry Kaufman

Re: TCEC superfinal, what will it be like?

Post by lkaufman »

Eelco de Groot wrote:
lkaufman wrote:
Eelco de Groot wrote:
lkaufman wrote:
Eelco de Groot wrote: If Lazy SMP for Stockfish means it is searching 'wider', especially at the root then this may be explaining the advantage in that it is correcting the fact that at the very high depths achieved in TCEC you don't really need the Singular Extensions in the PV anymore, or that they are set to extend too much at these depths. Combined with an oversupply of threads for an serial algorithm like alpha beta. Lazy SMP would correct some of that, but in a 'lazy' way. I would expect, Stockfish' Lazy SMP not to be much beter than Toga's version of Lazy SMP: reasonable, but not scaling spectacularly well especially above four threads...
You say it is a fact that at very high depths you don't need Singular Extension in the PV. Is there really empirical evidence of this claim, or is it really just your opinion and not a "fact"? Also, if you don't need Singular Extension in the PV at high depth, do you need it in non-PV at high depth? If so what is the logic?

I don't mean to sound critical or sarcastic, I am genuinely interested in your reply. Thanks in advance.
Hi Larry,

Thanks for asking, I think it is okay to be critical of my post though. I think I was mainly playing the devil's advocate, basically I would still like to see a really very selective program succeed at the highest level and Singular Extensions seems to be the best bet right now, and also regards Lazy SMP, I am now seeing some of the discussions about Lazy SMP at Fishtest and the guys are realy very hard at work at it. So they really believe in this.


What remains though is a criticism of the way the SE extensions were done in Rainbow Serpent, the reductions introduced in CUT nodes in the nullwindow search are not so often called perhaps (most 'Easy Cuts' are reduced by null move), but the reduction is comparable in size to null move reductions, up to 4 ply reductions. Even if you allow for possible bugs, I would expect visible changes from this in time to depth etc. But there seem no really large effects, although I did not really measure it. There were however no reductions allowed in PV nodes and I am thinking that may have been the largest reason for the small effect. So what it comes down to, especially if you write singular extensions completely as reductions and no hybrid of this, you should not be afraid of also reducing the non singular PV moves. The singular PV moves will then not be reduced and that is the same as extending them, when you do singular extensions in the 'classic' (here I mean the SF singular reductions, possibly borrowed indirectly from Rybka 3) way. So now I try reducing non singular PV moves even though the only reductions here were Late Move Reductions until recently, then Lucas tested that also a default Late Move Pruning is also best in PV nodes. Still no null move reductions but now the non singular reductions are added to those two pruning/reductions. The PV will be less extended because of it but I think it is still good and at least it is consistent.

Regards, Eelco
It seems to me that reducing non-singular moves is VERY different than extending singular moves. The extension puts more emphasis on the line leading up to the singular move. Also reducing non-singular moves is rather redundant with LMR, though of course you can do both or do the larger of the two reductions. Is there some evidence that reducing non-singular moves is better than extending singular moves in any engine?
Hi Larry,

I don't think I quite follow it.

I do agree it is different, but I thought more different, with respect to everything that does not end up in the block where you give a singular extension or a non-singular reduction. Remember the nonsingular reduction is still only in PV nodes and CUT nodes. If these are now reduced, the reductions in ALL nodes seem less severe, because CUT nodes can now also be reduced (but they do add up, I agree so that in total the line as a whole is much more reduced. The advantage is: there can be no search implosions, but in the PV badly controlled singular extensions can give search explosions because both colours can be extended). There are still extensions for checks, that is just the same, but they do not have to compete with other moves that previously were extended for singularity. Reductions for non promising recaptures (Probcut) are also less severe because tactical moves afterwards can still be reduced if there are more moves than one that reach alpha. Nullmove reductions are also a bit less in CUT nodes, compared to moves that could not be null moved, could not be Probcut reduced but now get reduced for being nonsingular Fail High moves. LMR only becomes important again in the next layer of ALL moves. So in my opinion, the MultiCut reduction what maybe is a more familiar term competes more with null move reductions in the sense that most moves that could be reduced by MultiCut, never get there because a nullmove was also sufficient to reach alpha.

I only just made a version of nonsingular reductions totally replacing the singular extensions in Stockfish/Rainbow Serpent, it might be much weaker, I do not know. First priority was to see if it still could solve testpositions, beyond that I do not know. The only experience I know of I think it was from Don, saying that in the past, MultiCut was at most even with Nullmove, in maybe RexChess or another engine or just a beta try, but that you had not gotten around to successfully combining the two reductions or replacing nullmove with MultiCut. I think it was Don who said this somewhere..

Eelco

We did try multicut in Komodo a few years ago and it wasn't quite as good as null move. But how did you get to that subject from the discussion of reducing onsingular moves? They seem totally unrelated to me. Or where you just introducing a new topic here? Anyway, I look forward to hearing whether your tests of nonsingular reduction as a substitute for singular extension pay off. I don't expect that they will, but I've been wrong many times.
Komodo rules!
Nelson Hernandez
Posts: 101
Joined: Sun Nov 14, 2010 9:36 pm
Location: U.S.

Re: TCEC superfinal, what will it be like?

Post by Nelson Hernandez »

First 66 games: Erik Kislik. Last 34 games: Cato.

I expect 85% draws but fear an even higher number. Erik's approach promises good games from a chess theory standpoint, but could run into a high draw-rate. My approach promises games that are less relevant to theory but should have a somewhat lower draw-rate.

What is not well-understood is that as average Elos increase it gets progressively harder to find unbalanced openings that aren't one-sided. The target gets smaller.