Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Attack Tables - additional question?

Author: Vincent Diepeveen

Date: 06:16:54 06/26/01

Go up one level in this thread


On June 26, 2001 at 01:20:16, Pham Minh Tri wrote:

>My program has not attack tables yet. It is based on mailbox structure. I am
>considering to implement them. I wonder how fast of a mailbox+attack tables is,
>compared with bitboard (in percent). Does anyone have experience or make a
>comparison?
>Many thanks,
>Pham

I can generete non-incremental around a million attacktables a second
or so. I'm only using something extended upon what gnuchess 4.0
is doing.

Note that incremental it's not much faster, but you don't need to
check all kind of things anymore like whether someone is in check,
so right now i'm doing things incremental, though in the past it
was faster for me to not do this, because if i get a transposition
cutoff from transtable in qsearch somewhere, then of course i didn't
need to update anything as the probe was first!

Of course attacktables work cool and of course you need at least
2 types of info:
  a) what kind of pieces attack you, just piece number 0..31 is a bit
     too primitive.
     The ctlN,ctlR,ctlQ from gnu 4.0 is way better
  b) how many pieces attack a square is very crucial information,
     humans always take that into account for example!

Of course if you're used to get hundreds of nps a second, then
using attacktables in evaluation suddenly slows you down considerably.

Using attacktables in evaluation is a clear choice that says: "chessknowledge
is more important as other things".

Note that the good thing if you have good attacktables is that you can
more easily order moves everywhere and be more efficient as you have
more info to decide whether you try a move or not,
and get rid of the dubious futility pruning in qsearch.

So for the loss of speed you get back a more efficient search besides
a better eval (that last of course still is hard work)!

A trick is to speedup the evaluation is to store it
in a special hashtable. that's just
200 clocks or so to retrieve. Compare that with a 100000 clocks which
an evaluation is costing here.

I get with several hashtables (i store in transtable and special eval
table my evaluation) about 60% of all my evals out of tables.

Best regards,
Vincent




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.