Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Table lookup for Static Exchange Evaluation

Author: Christophe Theron

Date: 01:37:30 01/16/98

Go up one level in this thread


On January 15, 1998 at 12:08:12, David Fotland wrote:

>I'm designing the static exchange evaluator for Blitzen, and it
>seems that a table lookup would be faster than the swap() function
>in Crafty.  As you find all the attacks, build a signature
>that describes the attacks, and use it as an index into a table.
>I think with a 20 bit signature you would cover more than 99% of the
>cases.  When the situation can't fit in 20 bits, you fall back
>on code like Crafty's.
>
>Is anyone else doing this already?
>
>David Fotland

A long time ago I wanted to do something like that, and I realized that
creating a list of every piece attacking a given square in the purpose
of building the SEE can be a waste of time.

Most of the time you can stop after having found the second piece (the
first piece is the less valued attacker, the second is the less valued
defender). In this most probable case, the information you collected
about the others attackers/defenders is useless. Think about an
undefended piece, attacked by many ways, which is very common in the
game tree, because we try every move, not just the sensible ones. Think
about a pawn attacked by Rook and Queen and defended by a pawn. Very
common case.

Another common case is that looking at the target piece is enough. If
you have already found a rook being attacked by a pawn, you don't care
about the threats on a bishop.

My SEE is just a kind of alpha-beta search (in fact it is really a
recursive function!), with some optimizations related to the
specialization of the algorithm (for example, a pawn protected by a pawn
can only be threatened by a pawn, which is quickly verified, no need to
scan the other pieces).

All of this is said with the assumption that:
* you don't have lists of attackers/defenders already
* you want your SEE to return the most losing exchange that is possible
in the position, not a list of every threatened piece



    Christophe



This page took 0 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.