Author: Robert Hyatt
Date: 19:19:28 07/19/99
Go up one level in this thread
On July 19, 1999 at 20:32:04, Vincent Diepeveen wrote: >On July 19, 1999 at 18:25:52, Robert Hyatt wrote: > >>On July 19, 1999 at 16:02:37, Vincent Diepeveen wrote: >> >>>On July 19, 1999 at 10:48:52, Robert Hyatt wrote: >>> >>>>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. >>> >>>What are you talking about, >>>i don't do checks in common positions of course! >>> >>>I do only useful checks. >>> >> >>right... and I only buy stocks that go _up_ too. :) If you knew which >>checks were 'useful' and which were not, you could solve the game from the >>root position. > >I would like to talk about how well my implementation >of checks in qsearch is, but let's not do that today. > >Let's talk about stocks, if i wouldn't be broke i would buy a lot of >AMD stocks to keep them a year or 5 or something. > >Done some calculations about how big AMD is now (2 billion dollar). >How big intel is (200 billion), how close processors are (xeon to >k7), how slow all suns are, >and that when AMD only gets a small % out of that, that >the stocks already give a big profit in the long run. > >Greetings, >Vincent > >P.S. >i still wonder why you're doing so many captures in >your qsearch. a static exchange evaluation is way faster than >that! > >So if there's any reason to not do SEE, then why not do some checks too? >Note that i would turn off recapture extensions then and do less check >extensions, as you already see a lot in qsearch then. NO way that you >miss a lot in qsearch. You miss near to nothing in qsearch then. > > the point is this... for every position you find where a q-check is the best move, I can create one where a capture is _not_ the best move... yet you have two choices captures or checks. Pins are very common moves that are often better than direct captures. The q-search is _highly_ selective already. And by any definition I can think of, highly selective is just another way of saying highly error-prone. I choose to limit it drastically and include _more_ stuff in the basic search which is not nearly so error-prone since it isn't selective.
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.