Author: Andrew Platt
Date: 13:02:08 09/25/04
Go up one level in this thread
On September 25, 2004 at 10:30:52, Rick Bischoff wrote: >Hi, > >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 >9. if (x >= beta) return beta means that you don't return the actual scores, just the cutoff. This is fine until you try to detect threats. Then you need to return the actual scores because only those will have the mate in them. In WAC 141 you should hit a bunch of mate threat extensions on the way to the lowest ply because each time your Rooks take a pawn, and then the bishop, you should trigger one. In my search it still isn't enough to counteract the drop into qsearch where I don't consider checks. I've given up on generating the mate score in a short time right now (I have plenty of other problems!). It's enough that the first few plies in the PV are correct so if it actually hit it, it would find it. Of course that only works here because it turns out that the Queen sacrifice is good more material as well as mate! Andy.
This page took 0.03 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.