From: Marco Costalba Date: Fri, 6 Nov 2009 15:08:39 +0000 (+0100) Subject: IID in pv also when TT move depth is too small X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=0fdc75c0bdf1b273f080724d03fd706ebb8c17cb IID in pv also when TT move depth is too small Try an internal iterative deepening not only when we don't have a TT move but also if search depth is more then 4*OnePly higher then TT move depth. On some tests it seems that in around 20% of cases ttMove changes ! Signed-off-by: Marco Costalba --- diff --git a/src/search.cpp b/src/search.cpp index c1a91a97..23066d8f 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -1103,8 +1103,11 @@ namespace { tte = TT.retrieve(pos.get_key()); ttMove = (tte ? tte->move() : MOVE_NONE); - // Go with internal iterative deepening if we don't have a TT move - if (UseIIDAtPVNodes && ttMove == MOVE_NONE && depth >= 5*OnePly) + // Go with internal iterative deepening if we don't have a TT move or + // if search depth is more then 4*OnePly higher then TT move depth. + if ( UseIIDAtPVNodes + && depth >= 5*OnePly + &&(!ttMove || depth > tte->depth() + 4*OnePly)) { search_pv(pos, ss, alpha, beta, depth-2*OnePly, ply, threadID); ttMove = ss[ply].pv[ply];