Computer Chess Club Archives


Search

Terms

Messages

Subject: Handling draws values

Author: Peter Fendrich

Date: 05:49:56 06/27/01


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...

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!

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!

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.