Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: annoying en passant x-ray

Author: Tord Romstad

Date: 10:37:16 12/01/03

Go up one level in this thread


On December 01, 2003 at 09:25:59, Uri Blass wrote:

>On December 01, 2003 at 08:12:38, Tord Romstad wrote:
>
>>On December 01, 2003 at 07:36:06, Uri Blass wrote:
>>
>>>Another thing that is still not implemented is internal iterative deepening.
>>>I understand the idea but I still did not think exactly how to implement it
>>>and after reading a post that suggested that it did not help much I decided to
>>>look for other ideas.
>>
>>I found it to be surprisingly effective in Gothmog, despite my extremely
>>simple implementation.  I just added the following three lines of code,
>>just before the call to generate_moves() in my main search() function:
>>
>>  if(EngineOptions.iid && h==NULL && value>gamma-100 && depth>=5*PLY) {
>>    search(gamma, depth-PLY);
>>    h = get_hash(Stack[Counter].hashkey); }
>>
>>EngineOptions.iid is a variable telling whether internal iterative
>>deepening is enabled, h is a pointer to a hash table entry, value
>>is the static eval for the position, and gamma is my search bound.
>>
>>Tord
>
>It is possible that simple implementation can also help me.
>There was nothing that I tried about it lately and I do not remember exactly
>what I tried a long time ago that did not help.
>
>I do not know what Counter means in your program but I guess that it is the same
>for me as calling probehash that calculates the bestmove from the hash tables so
>I should search to reduced depth only if probehash fails to find a bestmove and
>some other conditions happen(like static evaluation that suggest good chances to
>find something at reduced depth) and after it call probehash again.

Almost, but not quite.  Game[Counter].hashkey contains the hash key of
the current position.  After the call to search(), I simply look up
this key in the hash table with the call to get_hash().  get_hash()
returns a pointer to a hash table entry, or NULL.  If this pointer is
non-NULL, the best move slot in the hash table entry is tried first
in the move ordering.

Tord



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.