Author: Dann Corbit
Date: 12:42:27 01/27/04
Go up one level in this thread
On January 27, 2004 at 14:40:37, Tord Romstad wrote: >On January 26, 2004 at 17:14:34, Dann Corbit wrote: > >> /* ----------==== INTERNAL ITERATIVE DEEPENING ====----------- */ >> >> /* If we're not doing a NULL move and we don't have a hash move and we're >> * at least 3 ply away from the quiescence search, then try to get a good >> * guess for the best move by doing a shallower search from here. */ >> if (depth >= 3 && !do_null) { >> w = search(on_move, ply, depth-2, alpha, beta, do_null, 1); >> /* Re-search properly if the previous search failed low, so that we >> * know we're getting a good move, not just the move with the highest >> * upper bound (which is essentially random and depends on the search >> * order.) */ >> if (w <= alpha) >> w = search(on_move, ply, depth-2, -32500, alpha+1, do_null, 1); >> } > >Hi Dann, > >Are you sure it is a good idea to re-search if the first IID search >fails low? I have never tried this myself, but at first sight it >doesn't look like a good idea to me. When the reduced-depth search >fails low, it is likely that the full-depth search will also fail low. >At fail low nodes, move ordering doesn't matter much, because you have >to search all moves anyway. Because it is used for move ordering, and because the depth is 2 plies below the current search depth, it is a sure win. The cost is 1/400th of a full search, and the win is a good guess for the pv node. At least when I tested it in Beowulf it worked well. But I did not try it both ways in Olithink.
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.