I am currently extending the depth I am searching to by 1 ply when there is a check, a promotion or we are entering in a pawn only ending. I found out that if I am not limiting how many times I extend the search in positions like the one from http://talkchess.com/forum/viewtopic.php?t=33338 the search tree explodes, and my engine kind of gets stuck around depth 9.
So I put a limitation in: I can now limit the number of extensions depending on the overall search depth. So lets say I am currently searching depth 8 in ID and I have limitation=50% then I only allow 4 extensions in the same line. Kind of like this:
Code: Select all
root()
numberExtensions=0
search()
gen moves
etc...
for all moves
make move
ext = extendPos();
if ext
if(numberExtensions>maxAllowed)
ext=0;
numberExtensions+=ext
search(..., depth-1+ext)
numberExtensions -= ext
Regards,
Vlad.