Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Looking for a last moment operator for Olithink 4.1.3 for CCT-6

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.