Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: No ! Fischer is (nt)

Author: Tony Werten

Date: 00:12:35 11/19/03

Go up one level in this thread


On November 18, 2003 at 11:39:20, Bas Hamstra wrote:

>On November 18, 2003 at 10:51:44, Tony Werten wrote:
>
>>Couldn't resist.
>>
>>Tony
>
>Actually, in Leiden you said SEE costs you only a table lookup. My question is:
>what about x-rays? It seems impossible to me to get the *real* see value with a
>table lookup in practice. So how do you do it?

Basicly, I consider every xray attack as a direct attack by a queen :) Works
pretty well.

It basicly works as Ed described, with a few differences.

I use 2 tables.
One for looking if a "piece on a square" is safe wich consist of
[myPiece,defenders_byte(sq),attackers_byte(sq)] and directly gives a score back.
myPiece=[Q,R,BN,P]

The second table is to see if a "move to a square" is safe, wich consists of
[movingPiece,defenders_byte(sq),attackers_byte(sq)] I get a score from that by
doing: score:=value[captured_piece]+see_move_table[piece,def(sq),att(sq)]
In this case captured_piece may be empty.

Another difference is that I enumerate the bytes wich give the attack/defend
status. Ed uses 0..255 but that's not nescessairy. ie P attacks and N attacks
but the piececount=1 or 0 is impossible. You can get the numbers down to 64.

So my SEE_TABLE has [0..3,0..63,0..63] elements = 16 K

and my SEE_MOVE_TABLE has [0..5,0..63,0..63] elements = 24 K

A conversation with Gian Carlo made clear that it's possible to half this but I
couldn't be bothered with the work it needs. The time is spend in generating the
attacktables, not in the lookup_tables

Tony




>
>Toedeledokie,
>Bas.



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