Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Question: When to Use Internal Iterative Deepening

Author: Robert Hyatt

Date: 21:16:24 02/12/01

Go up one level in this thread


On February 12, 2001 at 23:00:36, William Bryant wrote:

>On February 12, 2001 at 22:39:21, William Bryant wrote:
>
>>My understand is, Internal Iterataive Deepening is used when searching the
>>root PV node and you encounter a position for which there is no hash table
>>best move.  Specifically, this is done during the full width part of the
>>tree (rather than the PVS part of the search).
>>
>>My program at present tests for this by comparing beta to alpha.
>>ie if (beta == alpha+1) then this is the PVS part of the tree and IID should
>>be skipped.
>>
>>This doesn't help at all so I think I'm missing something in the implementation.
>>
>>Any comments or suggestions would be appreciated.
>>
>>William
>>wbryant@ix.netcom.com
>
>For Clarity,
>
>if ((there_is_no_best_move) && (beta != alpha + 1)) {
>	//do internal iterative deepening
>	}
>
>William


That is almost what I do...

  if (tree->hash_move[ply]==0 && do_null && depth>=3*INCPLY) do {
    if (ply & 1) {
      if (alpha!=root_alpha || beta!=root_beta) break;
    }
    else {
      if (alpha!=-root_beta || beta!=-root_alpha) break;
    }

Which says (a) no hash move;  (b) null-move is legal here (which means the
move at the previous ply was _not_ a null-move;  (c) 3 plies of depth left
to search (or more);  (d) alpha and beta are _exactly_ as they were at the
start of the iteration.




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.