singular extension

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

singular extension

Post by xr_a_y »

I see that stockfish or xiphos use singular extension only once in a line. They don't use "recursive" singular extension. Can someone explain why please, I mean not by the elo argument.

Thanks
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: singular extension

Post by hgm »

Is there anything else than the Elo argument that drives the development of Stockfish?
elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Re: singular extension

Post by elcabesa »

xr_a_y wrote: Fri Aug 24, 2018 12:19 pm I see that stockfish or xiphos use singular extension only once in a line. They don't use "recursive" singular extension. Can someone explain why please, I mean not by the elo argument.

Thanks
from my understanding singular extension can be found more than one time in a line. Stockfish will not singular extend a move after another extended one. But it can happen that it will extend more than one time for a line. Usually it's not extended 2 times in a row to avoid search size ecplosion
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: singular extension

Post by xr_a_y »

hgm wrote: Fri Aug 24, 2018 3:54 pm Is there anything else than the Elo argument that drives the development of Stockfish?
eheh ! at least there is something else that drives Weini development ! => learn about chess programming ;-)
elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Re: singular extension

Post by elcabesa »

My explanation is not probably totally correct... but I still believe that more than one singular extension will be possible in a line.
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: singular extension

Post by xr_a_y »

elcabesa wrote: Fri Aug 24, 2018 5:40 pm My explanation is not probably totally correct... but I still believe that more than one singular extension will be possible in a line.
I must say I think I tried both and do not see a great elo gain... As stockfish comments "+60elo" inside the source code in front of singular extension, I was hopping for something better.
elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Re: singular extension

Post by elcabesa »

Some time ago stockfish calculated elo value of each technology used. If you use all the algorithm together they will have less elo gain. I don't remember how they calculated the elo gain of each algorithm.
1)disable everything and enable a single algorithm a time
2)enable everything and disable a single algorithm a time
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: singular extension

Post by xr_a_y »

Due to the easily editable configuration of Weini, I used to do this also.
I'll run a big test soon to display some results.
Cardoso
Posts: 362
Joined: Thu Mar 16, 2006 7:39 pm
Location: Portugal
Full name: Alvaro Cardoso

Re: singular extension

Post by Cardoso »

xr_a_y wrote: Fri Aug 24, 2018 6:13 pm I must say I think I tried both and do not see a great elo gain... As stockfish comments "+60elo" inside the source code in front of singular extension, I was hopping for something better.
It would be very interesting making a new test using SF9 on singular extensions playing 20k+ games.
Perhaps one test using just one core, and a second test using the maximum number of cores available (preferable on a system with more than 32 cores).
If you have big hardware (many cores) maybe it makes some sense doing singular extensions but even so I don't think they will give much ELO.
Singular Extensions is a bit of a myth, the Deep Blue team used them and talked about them, so it became a "must" for every chess engine programmer.
But the Deep Blue team didn't test SE using 20k+ games at long TC!
I don't have a chess engine myself, my engine is a spanish checkers engine and my experience is that if you test SE in sharp/tactical positions you get longer pvs and the engine zooms into the "right score" slightly faster, so you think it must be a good thing.
But when you make a few thousand test games things won't look so rosy. The problem is not the excluded search, but the extension it self. I made some tests just doing the excluded search and not making the extension and the increase in nodecount was negligible. But when you trigger the extension (usually one ply) the trees get larger, much larger. So you pay a price in nodecount. And in equal/quite positions SE is not helping, at least that is my experience.
The thing about extensions in general is that they increase the nodecount, maybe we should think that near the tips how much of those extensions will make it into a new pv. I know SF only does SE only if "depth>8*ONE_PLY" but I'm talking now about extensions in general and not specifically about SE.
corres
Posts: 3657
Joined: Wed Nov 18, 2015 11:41 am
Location: hungary

Re: singular extension

Post by corres »

For getting an effective singular extension at first you should optimize the parameters of your engines.
In particular the values of the figures, the position dependent bonus/penalty of figures, the bonuses of free pawns and the parameters of material imbalance are very important.
Without optimization the singular extension technique is rather ineffective.