Author: Stuart Cracraft
Date: 07:17:55 09/02/04
Go up one level in this thread
On September 01, 2004 at 13:34:32, Tord Romstad wrote:
>On September 01, 2004 at 11:33:12, Stuart Cracraft wrote:
>
>>On September 01, 2004 at 05:28:55, Tord Romstad wrote:
>>
>>>On September 01, 2004 at 05:00:32, Chris Welty wrote:
>>>
>>>>What is a Botvinnik-Markoff extension?
>>>
>>>An extension which is triggered every time the null move fails for the same
>>>reason twice in a row. Whenever the null move fails low (you may want to
>>>do it only when it fails low by some margin), you set ThreatMove[Ply] to
>>>the move that refuted the null move. The code for the actual extension
>>>is something similar to this (should be located directly after the null
>>>move search in your code):
>>>
>>> if((null move failed low) &&
>>> (ThreatMove[Ply]==ThreatMove[Ply-2] ||
>>> (ThreatMove[Ply] and ThreatMove[Ply-2] captures the same piece)))
>>> Extend
>>
>>>Tord
>>
>>Tord,
>>
>>By fail low I assume you mean that simply value from null move
>>search simply didn't fail high?
>
>In my case, "fail low" and "not fail high" are always equivalent.
>My windows always have zero width (I use MTD). In a PVS search, I
>would probably call the null move search with a window of (alpha, beta)
>rather than (beta-1, beta), and set ThreatMove[Ply] only if the return
>value of the null move search is less than alpha-margin, where margin
>is some non-negative number.
I am not sure I understand. So,
search(depth,ply,alpha,beta)
{
:
:
#define BOTVINNIK-MARKOFF
#ifdef BOTVINNIK-MARKOFF
#define MARGIN TwoPawns
#define R 2
if (donullmove)
value = -search(depth-R-1,0,alpha,beta)
if (value < alpha-MARGIN)
if (ThreatMove[Ply]==ThreatMove[Ply-2] ||
(ThreatMove[Ply] and ThreatMove[Ply-2] captures the same piece)
Extend
#endif
:
traditional PVS search here, save best move found during search
in ThreatMove[ply]
:
}
Is that it? And in search() I am to save the best move in ThreatMove[ply]
at all times if the ply being searched is the original one upon entry
to the routine (i.e. 0)?
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.