Computer Chess Club Archives


Search

Terms

Messages

Subject: Table lookup for Static Exchange Evaluation

Author: David Fotland

Date: 09:08:12 01/15/98


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?

I'm thinking of a signature like:

for each side:

2 bits
	0- no pawn attacks
	1- 1 pawn attack
	2- 2 pawn attacks
	3- 1 pawn attack plus bishop xray

2 bits
	0,1,2 minor piece attacks
	3- bishop attack plus queen xray attack

2 bits
	0,1,2 rook attacks
	3- rook attack plus queen xray
1 bit
	q attacks
1 bit
	k attacks
2 bits
	0-no other xray attacks
	1-b behind q xray attack
	2-r behind q xray attack
	3-q behind p xray attack

20 bit total signature, so a 1 mbyte table can hold all the results.
This assumes that all the SEE cares about is basic material, so bishop
and night can have the same value.

If someone else is doing this, I'm curious what signatures they are
using and what table hit rates they are getting.

David Fotland



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.