Author: Uri Blass
Date: 11:35:54 05/27/04
Go up one level in this thread
On May 27, 2004 at 07:39:37, milix wrote: >Hello! >Chess enging bugs (CEBUGS) are very different than normal bugs (BUGS). They are >very good in hiding from debuggers. They are also very good in covering one >another so the engine seems to behave normaly, except if it plays a very >important match. Sometimes CEBUGS are very productive and when they are >eliminated the engine's strength drops about 50-150 points. Of course they have >to be eliminated otherwise the engine cannot deliver a mate in KQvsK or it >always thinks that passed pawns are Gods. CEBUGS are also layered and they are >very cooperative. In the first layer we have the evaluation bugs (usualy + >instead of -). In the next layer we can find search bugs (improper alpha - beta >windows, or wrong score sign or null-move bugs). In the final layer we meet the >most powerful bugs ever, the transposition table bugs. These bugs have a stealth >ability, they are protecting the bugs in the first two layers while their >actions mimic the behaviour of an evaluation term or a search property (like >failing low). > >I am sure that other bugs exists in my engine but I haven't had the honor to >meet them yet. > >PS: In the Null-Move search you might have forgotten to clear the ep-square as >well as to restore it. This bug is very easy to detect and fix. But if you have >forgotten to update the hash signature (if you encode ep square in the hash >signature) then you are very lucky. You have met a Predator-like bug. I did some progress in making my book code(it is still not ready at this moment) and I can describe some bugs in the process: 1)I asked the computer to print the moves in the book only to discover that printf("%s %s",move1,move2) does not work. The only way to print strings correctly is by seperate printf for different strings. 2)I discovered that all the hash keys that I remembered in the book were 0 Reason:I tried to write the moves in the book too early and I wrote them before I initialized my zob keys. 3)To check that after the correction they are correct I tried to use setmask that is array of all the powers of 2 but it did not work. Reason:I initialized setmask only after creating my book. I had also some bugs when I tried to write a function to do binary search in an array but hopefully I got rid of them. Now I need to translate the array to a file and have a code for binary search in a file that will work in a similiar way. Uri
This page took 0.01 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.