Author: Andrew Williams
Date: 05:58:41 08/29/01
Go up one level in this thread
On August 29, 2001 at 08:25:26, Pat King wrote: >On August 28, 2001 at 07:02:40, Andrew Williams wrote: > >>>On August 27, 2001 at 17:26:24, Andrew Williams wrote: >>> >>>My MTD(f) program checks any move which it is about to make, if it didn't >>>generate it using the usual generate_moves() function. So any hash or killer >>>move is checked to see if: >>> >>>(a) There is a piece on the from square. >>>(b) The piece on the from square is capable of making the proposed move. >>>(c) There are no intervening pieces which would prevent the move >>>(d) etc (Manchester City have won again tonight, and are top of the League >>> and I've been celebrating, so I'm not able to recall the rest of the >>> conditions - hopefully you get the idea) >>> >>OK. Recovered now, so: >> >>(d) No friendly piece on the target square. >>(e) If it's a capture, there must be an enemy piece on >> the target square... >>(f) ... unless it's ep, in which case check for the pawn >> on the ep square >>(g) If it's a promotion, make sure it's a pawn that's moving >> and that it's on the 7th rank now. >>(h) etc etc >> >>Regards >> >>Andrew > >Yes, of course Zotron tests the legality of hash moves within the search. My >assumption has been that the hash entry for the root position must always be >valid, and this is the way I've passed my engine's move back to the calling >functions. Works 99.999% of the time, and fails spectacularly 0.001% of the >time. I've had a devil of a time catching that 0.001%. > >Pat Ahhh. I see. Mine also uses the hash table to construct its PV. Did you catch your error? Andrew
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.