Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Help with Static Exchange Evaluator

Author: Vincent Diepeveen

Date: 13:02:37 07/19/99

Go up one level in this thread


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.

>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

NO doubt 1.e4,e5 2.Qg4,Nf6 Qxd7+
to name a bad check.

Of course we wanna prevent bad checks.


>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.

Well hopefully you don't try all capturing moves either in qsearch,
is kind of wasting nodes too:

d4,d5 e4,dxe4 qh5 qxd4 qxh7 qxb2 qxh8 qxa1 qxg8 qxb1 etc.

>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.