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.