Computer Chess Club Archives




Subject: Re: mate threat extension/null move

Author: Bas Hamstra

Date: 07:58:13 09/25/04

Go up one level in this thread

On September 25, 2004 at 10:30:52, Rick Bischoff wrote:

>I am confused about the mate threat extension.  I have the following code:
>search ( depth, alpha, beta )
>->check extension
>->else pawn extension
>->if depth <= 0 do the queiscent
>->if checkReps return draw
>->if insufficnetMaterial return draw
>->Probe the hash table and return if good
>->if not in check and depth>3 and last move was not null and material is ok:
>->-> do null move
>->-> x = -search(depth - 3, -beta, -beta +1 )
>->-> undo null move
>->-> if ( x >= beta ) return beta
>->-> if ( x < (-MATE+MAXPLY) ) cout << "found mate"
>->normal alpha/beta stuff
>end search
>"found mate" never gets printed out in WAC141 unless I change the null move to a
>full width search... Why?  Well, I shouldn't say never, but I let it run to ply

Sigh. Do you do checks in quisce? No? If you do recursive R=2 with no checks in
the qsearch, nullmove makes the search absolutely BLIND for mates in the last 3
plies. Think about it, set the position up with this in mind and analyze it.
Further if you use a window <alpha, beta> then you miss a large portion of mate
threats anyway.


This page took 0.05 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.