Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Help with Static Exchange Evaluator

Author: Vincent Diepeveen

Date: 03:03:38 07/19/99

Go up one level in this thread


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.

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.