Author: Robert Hyatt
Date: 21:48:56 07/18/99
Go up one level in this thread
On July 18, 1999 at 17:27:12, William Bryant wrote: >I have created a SEE routine for my program (following the general plan of >Swap() >from Crafty) and now have a question about where it should be implemented. > >I initially implemented it in the move generator. When generating captures, if >the Captured_Piece - Capturing_Piece <0, I would uses a SEE score of < 0 to >discard the move, never searching it. > >This created an overall speed up but leaves a number of questions. > >Some positions require a sacrifice to find the winning line. These positions >are never found because the sacrifice move is always discarded and never >searched. this is totally unsafe. In the full-width part of the search, you should be able to look at these 'losers' at some point in the search, after the good captures, killers, etc... In the q-search you can afford to ignore them since the q-search is already full of errors anyway... > >Is this the tradeoff of this heuristic? > >Is there a better way to apply the SEE rather than to all capture moves as they >are generated? > >Are there other heuristics that allow these discarded moves to be found in the >right positions? > >Here is an example position: >1rr3k1/4ppb1/2q1bnp1/1p2B1Q1/6P1/2p2P2/2P1B2R/2K4R w - - >It is from a list of mating positions posted by Dan > >I can find the winning mate in 0:32 without the SEE, >and never with the SEE. > >Thanks in advance. > >William >wbryant@ix.netcom.com
This page took 0.01 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.