Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: qeval speed improvement

Author: Robert Hyatt

Date: 18:31:13 08/16/99

Go up one level in this thread


On August 16, 1999 at 18:29:37, Scott Gasch wrote:

>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


Not a thing wrong with the idea.  You are simply shifting your scoring "origin"
from 0 to some + number. That won't hurt a thing...

You are honing in on 'lazy eval' of course. :)



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.