Author: Robert Hyatt
Date: 07:48:52 07/19/99
Go up one level in this thread
On July 19, 1999 at 06:03:38, Vincent Diepeveen wrote: >On July 19, 1999 at 00:48:56, Robert Hyatt wrote: > >>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... > >i disagree here. You can very cheap do checks in qsearch and see these >tricks 4 ply earlier. > >Let us list the programs that do some checks in qsearch, >and the ones that do not a single one > >The programs from which i suspect (if u grow older you >grow wiser) doing checks in qsearch (alfabetical listed): >Diep >Fritz >Genius >Hiarcs >The King (chessmaster 4000 etc) >Lambchop >Nimzo >Rebel >Virtual Chess >Zarkovx > >The programs from which is suspect not doing them: >Crafty >Ferret >Junior > > >He what a big coincidence, the programmers of the non-doing check in >qsearch are more convinced about getting kicked silly by programs >outsearching them. > >In fact crafty at 12 ply is in fact searching 8 ply >tactical for some tricks which probably fall outside the >horizon anyway, which is kind of weird. > >Ferret already gets a huge depth and has all kind of extensions >seemingly; in a position where my DIEP searches 13 ply at the >same hardware, both Ferret with way over half a million nodes got >only 11 or 12 ply in paderborn in the middlegame against fritz >fritz not doing better bye the way, as the paderborn version >seemed having all kinds of extensions too, although fritz532 >searches deeper in that position! > >Junior already gets like 17 ply anyway tactical (positional 8 ply), >and with R=2 it's unlikely that you miss something tactical then, >even though when talking about checks it sees obviously 4 ply less. > >But crafty. Oh crafty. Crafty does a very limited recapture extension. >mate threats are extended very slightly, so that last helps a little, >but further it simply sees tactical 4 ply less when we're talking >about a check threat. > My point is this. Your checks are good for some tactical shots. They are awful for common positions. Because you are running down stuff in the q-search that is totally wasted. And if you waste time here, you lose time elsewhere. For every position you find where a check in the q-search helps, There are hundreds of positions where it hurts just as much or more. If my game results were bad, I'd be looking at why. But I do just fine at present. I have older versions of Crafty that _did_ do checks in the q-search (trivial to implement) but they don't play better because of it, IMHO. If you want to solve tactical problems, it is probably a good idea to do them. If you want to win _games_ I am not so sure. IE when you use my quad p6/200, you are about 1/2 as fast as my quad xeon, yet when we play I don't see any tactical oversights by my program, generally... And the extra depth on the positional moves I get helps significantly when there are no king-chasing tactics... >Of course when getting 12-13 ply, chance is not big you miss tactics >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.