Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Buggy check extensions, back to square one =(.

Author: Robert Hyatt

Date: 11:49:41 03/20/03

Go up one level in this thread


On March 20, 2003 at 12:17:23, Albert Bertilsson wrote:

>Hi everybody!
>
>For those of you with a good memory you probably saw my posts about WAC, and
>that I implemented check extensions and got a really nice improvement.
>
>After playing some 150 games with about 10 lockups I also know that my
>extensions aren't bug free =(.
>
>In my stupidity I thought that all that needs to be done to get extensions work
>is to add this:
>
>First in Alpha-Beta:
>if (CurrentPly >= MAXPLY) return Eval();

That might not be good enough if you have arrays dimensioned for xxx[MAXPLY].

As when you get to MAXPLY you are already one beyond the array bounds and that
can wreck things badly...


>
>To avoid the possibility to extend and search forever.
>
>And just before call AB again:
>
>Loop through moves
>{
>...
>depth_inc = 0;
>if (InCheck()) depth_inc++;
>res = AlphaBeta(depth - 1 + depth_inc, -beta, -alpha);
>...
>}
>
>Am I missing something important here, because I've tried all the basic
>debugging such checking for buffer overflows etc.
>
>If it is of any help, I also tried NullMove pruning, also causing hang ups but
>much more frequently (every fith position I tried).
>
>/Regards Albert



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.