Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Question for Hyatt about Alpha/Beta

Author: Tord Romstad

Date: 13:51:19 02/06/04

Go up one level in this thread


On February 06, 2004 at 16:26:26, Sune Fischer wrote:

>On February 06, 2004 at 15:47:32, Tord Romstad wrote:
>
>>The ideal world is far away, but I don't want to permanently block
>>those roads which could have a tiny hope of bringing me there.
>
>I agree, I just don't agree that building a big and complex attack table is the
>right way to go if you want to experiment a lot.
>
>One of the reasons is that the design of (e.g.) an attack table will limit you
>in trying certain things.
>For instance, if I want to try something new with my static move evaluator I
>only have to rewrite a few lines of code of that function.
>
>I think that is a lot faster than having to rewrite the attack table, that might
>include a major program rewrite. So although it might be very cute to do SEE by
>a lookup, it also isn't a very fexible way of doing it.

In fact, I don't do SEE by table lookup (or at least not by pure table
lookups).  I have two different SEEs, a cheap one and an expensive one.
The cheap version does an SEE calculation based on the piece on the square
and the attack vectors for both sides.  The results of this SEE function
is cached in a tiny hash table (256 entries, 2 KB).  In addition, I have a
normal, slower but more accurate SEE, which uses the contents of the board
rather than the attack tables.  I choose which SEE to use depending on the
complexity of the position.

>Similarly, if I want to evaluate or extend on pins I write a function to check
>for that, no need to rewire the entire move generator just to try out one little
>experiment.

I find pins in the eval, where I have to do lots of ray tracing anyway.
Like so much else, it would probably be more efficient to do this with
bitboards.

>Ultimately, in 20+ years when I know the optimal design of a chess program (yeah
>right) I'll be able to make a really good choice of attack table and by then
>I'll might do exactly as you do now, until then I perfer to avoid complexity to
>the widest possible extend. :)

I am the type of guy who loves complexity, as long as it is high-level
complexity.  But I admit that your approach might be more likely to give
a strong chess program.

Tord



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.