Author: Robert Hyatt
Date: 07:33:52 06/27/01
Go up one level in this thread
On June 27, 2001 at 08:49:56, Peter Fendrich wrote:
>I can, in Terra, set values for a draw and that can cause problems.
>Let's say that the DrawValue=-10 meaning that from my programs point of view the
>draw is worth -10. This draw value if not zero, has to be handled as a special
>case all over tha code:
>
>1) In the Evaluation function
> I always compute the evaluation from white's point of view and adjust it
> (by reversing sign) if it's not Terra's turn to move.
> The draw value from white's point of view is dependent on if Terra is white
> ot not.
> Easy to handle if you watch out but I don't like it because it's a source
> of errors...
A simple fix:
int drawscore[2];
at the root of the tree when you start a search:
if (wtm) {
drawscore[0]=10;
drawscore[1]=-10;
}
else {
drawscore[0]=-10;
drawscore[1]=10;
}
Now anywhere in the search you can refer to drawscore[wtm] and get the right
value...
no errors or mess.
>
>2) Hash tables
> if I change colours at the root, for instance during an anlyze, all saved
> draw vaues in the hash tables are wrong. I can't always know if I have a
> draw value or if it's just from an ordinary evaluation. The values are
> wrong because the "point of view" for whom the draw is worth = -10 is
> changed. I can't rely on the hash tables during an analyze session!
During analyze, set drawscore=0. It makes no sense otherwise, as the score
will bounce back and forth from -10 to +10 as you change sides. That analysis
looks wrong to the end user. I turn off asymmetry in analyze mode as well,
to further avoid this oscillation.
>
>3) In the tree
> I use something like "Quick Recognizers" as in DarkThought meaning that
> certain endgame pattern are detected in interior-nodes instead of in the
> evaluation in the end nodes. When draw is recogized it has to be handled
> in the same way as in the evaluation function. With EGTB's (I dont use it)
> we have the same situation. Source of errors!
Use the simple trick I gave, and it solves this totally.
>
>I'm not sure that my thinking is clear here! Might be that there is some more
>clever way of looking at things...
>How do you other chess programming guys do with draw values others than zero?
>
>//Peter
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.