Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: boundschecking

Author: Vincent Diepeveen

Date: 10:37:33 11/03/02

Go up one level in this thread


On November 03, 2002 at 13:07:07, Uri Blass wrote:

>On November 03, 2002 at 11:50:01, Vincent Diepeveen wrote:
>
>>On November 03, 2002 at 11:26:42, Brian Kostick wrote:
>>
>>for windows there is numega boundschecker.
>>
>>for linux there is the excellent free boundschecker (C only)
>>see for example: http://web.inter.nl.net/hcc/Haj.Ten.Brugge/
>>
>>however you can also go to the homepage from gcc and then go
>>to 'extensions' and download any boundschecker you need for
>>use with gcc. it's very good.
>
>Thanks
>I see that I can download a trial version of numega boundchecker so
>I guess that I am going to try it tomorrow.
>
>I use only windows.
>
>Note that inspite of the unequal number of nodes in debug mode and in release
>mode the bug does not seem to prevent it to play well in games.

?? you don't have deterministic number of nodes?

Debug it!

no need for a boundschecker even to debug that.

>The difference is small and I see it only after more than 100000 nodes so maybe
>the problem is that the random numbers in debug mode are not the same as the
>random numbers in release mode.

wait a minute. are you telling me that you use the rand() function
in your program to evaluate?

Comon you gotta be joking?

>The latest tested version solved 292 out of 300 in the Wac test suite at 10
>seconds per move on AMD1000 mega hertz and it is now tested on the GCP test
>suite 300 seconds per position.

DIEP always did 299 positions, depending upon with some patzer luck the
endgame Rb4 was found or not.

i never test at 10 seconds a move. Only amateurs do IMHO. in real life
you play tournaments at 90 0 as fastest level. that's like 5 minutes
first few moves after that your hashtable is loaded already with
all kind of cool stuff to fail high. At a P5-100Mhz at around 1996 i
remember i solved like 295 positions or so if not more. Something
too close to 300 to call is hard :)

>The problem with printf happened with another version after I tried to change
>the structure of the program and have a seperate function for calculating some
>array(The array squareattackking reply the question what piece do I need to put
>at square x to get a check against the enemy king and the answer can be
>knight,bishop or rook,this array also tells me about indirect checks if the side
>to move has no piece in that square)
>
>My last tested version calculates that array every time after generating moves
>in the first 2 plies of the qsearch.
>
>I do not want to calculate that array in every case that I generate moves in the
>qsearch but only in cases that captures did not help to get a cutoff so I
>decided first thing to define a function that calculate the array so I can call
>it only when I need it but for some reason after implementing it I got strange
>results and the results were clearly different in debug mode and in release
>mode.
>
>Adding printf in release mode also changed the results.
>
>Note that I know that there may be better ideas than calculating the array
>but the way that I program is to try to do something better and not to try to do
>the best in the first step and I think that generating the array when I need it
>is better than my previous method (calculating for every move not based on
>arrays) and my attack tables are not good enough to tell me if a rook in an
>empty square threats the king(I may change them in the future but I prefer first
>to improve movei and there is a big room for improvement even without these kind
>of attack tables).
>
>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.