Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: bugs, Bugs and BUGS!

Author: James Swafford

Date: 12:09:42 05/27/04

Go up one level in this thread


On May 27, 2004 at 14:35:54, Uri Blass wrote:

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

Are move1 and move2 char* 's?  If so, that should be fine.
What's happening?


--
James


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