Computer Chess Club Archives


Search

Terms

Messages

Subject: qeval speed improvement

Author: Scott Gasch

Date: 15:29:37 08/16/99


Hi there,

Recently I have been working on improving the speed of the qeval routine.  I
implemented futility pruning after talking with Bob and others about the
subject.  Another thing I did that bit me was this:

Qeval(pos, a, b)
{
    (IS_WHITE(pos->to_move)) ?
        iBase = pos->material[WHITE] - pos->material[BLACK] :
        iBase = pos->material[BLACK] - pos->material[WHITE];

    if (iBase >= b) return(b);

...
}

As I think about it this makes sense since my evaluation routine assesses
penalties for certain things (doubled pawns, for instance).  This "improvement"
was causing strange play, however, and it took me a while to track down.

My question is this: would it be work re-working the eval routine to not assess
penalties but rather give bonuses for not having bad things.  For instance, a
doubled pawn is not worth -8 pts but rather non-doubled pawns get bonuses...
This way the term of the eval routine based on material can act as a strict
lower bound for the eval return and an improvement like the one above could be
implemented.

Scott





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.