Author: Aivaras Juzvikas
Date: 23:04:47 07/28/04
Go up one level in this thread
On July 28, 2004 at 15:05:29, GeoffW wrote:
>Hi
>
>>Please describe IID as you see it.
>
>OK I will have a stab.
>
>As you know, good move ordering in Alpha/Beta search is very important to reduce
>node counts. Therefore it is not a good idea to embark on a deep search when you
>dont know what the likely best move is. (best move being the move stored as best
>in the hash table, and searched first)
>The idea therefore is similar to the normal iterative deepening, you detect when
>the condition occurs and do a shallower search to figure out the best move
>before you do the proper deeper search.
>
>There are very few lines of code for IID
>Here's my code snippet, sorry the HTML will probably mess up the indents
>
>This is early in the search function, but after the hash table lookup though */
>
> /*Look to see if we are not a PV node and if we dont have a best move from
>the hash table */
> if ((depth >= 3) && (beta != alpha+1) && (hashMove.u == 0) )
> {
> value = search( alpha, beta, (depth-2), doNull);
>
>/* Research properly if this windowed search failed low, so that we know we're
>getting the best move, not just the move with the highest upper bound (which is
>essentially random and depends on the search order.) */
> if (value < alpha)
i do if (value <= alpha) here
> /* widen the search window to resolve the fail low */
> value = search( -MATE, alpha+1, (depth-2), doNull);
i research on -MATE, beta window
>
>/* get the best move we have just found into hashmove so we can use it for now
>move ordering in the proper deep search */
> hashMove = pv[ply][ply];
in my case this one should be hashmove = pv[ply+1][0];
and btw i do iid _after_ nullmove search code but before the normal search with
makemove
> }
>
> rest of the search function is here ..............
>
> regards Geoff
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.