Author: Tim Foden
Date: 00:03:16 02/13/01
Go up one level in this thread
On February 13, 2001 at 00:16:24, Robert Hyatt wrote:
>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.
I think I understand the reasons for (a), (c) and (d) above. I'm note sure
about (b) -- why do we want to make sure that the previous ply was not a null
move?
Cheers, Tim.
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.