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.