Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: bugs, Bugs and BUGS!

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.