Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: How I Learned to Stop Hating 141

Author: Stuart Cracraft

Date: 08:55:58 09/05/04

Go up one level in this thread


On September 03, 2004 at 10:47:38, Tord Romstad wrote:

>On September 03, 2004 at 10:14:53, Stuart Cracraft wrote:
>
>>On September 03, 2004 at 09:47:26, Jan K. wrote:
>>
>>>You should look for bugs in your search....i find the move even with no
>>>extensions but the threat extension set to 1/2 ply and no checks in qsearch.
>>>Takes 60 seconds and almost the same number of nodes like your full search.
>>
>>Tord said something about having the null move search a window
>>wider than -beta+1,beta and and then testing the return value
>>against alpha-MARGIN. If less than that, a faillow and then
>>extending.
>
>This was in the context of BM extensions, not mate threat extensions.  For
>mate threat extensions, there is no reason to use a wide window for the
>null move search.  The only thing you need to remember is that if you
>use a fail-hard search, you must remember to return exact scores instead
>of bounds if the exact score is a mate.

I changed my program to do this for all values, not only mates. It was
doing that for mates before. I changed each return of a bound to a value
return and tested after each and nothing changed except the speed of the
search and tree-size. The suite result was the same. Interesting.

>
>>Has anyone else with PVS search implemented mate. Can you just
>>include your code fragment in reply to this. I have programmer's
>>block.
>
>Sure.  Here is the null move part of the code in my new engine (which
>uses PVS), with some irrelevant noise removed in order to make it easier
>to read.  The BM extension is not yet implemented.
>
>  if(nullmove && Ply>0 && !ss->check && !mate_threat && ss->eval >= beta &&
>     ss->material[WHITE]>0 && ss->material[BLACK]>0) {
>
>    make_nullmove();
>    nullvalue = -search(-beta, -beta+1, depth-4*PLY, 0, 0);
>    unmake_nullmove();
>
>    if(nullvalue >= beta) return nullvalue;
>    if(nullvalue <= -MATE_VALUE+Ply+2) mate_threat = 1;
>  }
>
>Tord

Do you increment ply within search? For me, ply is a parameter to search
and I have experimented both with and without incrementing it with
if nullvalue == -MATE+ply+2, but no substantive improvement for the result
on test suite. Just parity. Same score.

Note, when I change from == to <=, my search blows up and crashes on the
first position.

Stuart




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.