Author: Uri Blass
Date: 20:06:06 11/03/02
Go up one level in this thread
On November 03, 2002 at 19:56:38, Peter McKenzie wrote: >On November 03, 2002 at 13:50:41, Uri Blass wrote: > >>On November 03, 2002 at 13:37:33, Vincent Diepeveen wrote: >> >>>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! >> >>I have deterministic number of nodes in release mode or in debug mode but the >>numbers are not equal. >> >>The first different number is more than 100000. >> >>> >>>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? >> >>Only for my hash tables >> >>I have >>for (fil=0;fil<6;fil++) >> for (i=0;i<2;i++) >> for (j=0;j<64;j++) >> zobrist[fil][i][j]=rand64(); > >A long time ago, instead of doing this I decided I wanted an absolute guarantee >that I always used the exact same set of random numbers regardless of compiler >version/library version/operating system platform etc etc. > >The simple solution was to write a little program which generated the C++ source >code which initialises a large array of random numbers. Then I just pasted that >code segment into my program. Now I have one less thing to worry about :-) Yes It may be a good idea Unfortunately I do not know what is the algorithm that is used by the computer to generate random numbers. A possible solution is simply to copy the numbers that rand64 generates to a text file and have a long function to initialize it by some hundreds of lines zobrist[0][0][0]= zobrist[0][0][1]= zobrist[0][0][2]= It may make my code longer I do not know if it is a problem that may make it slower relative to the case of having a special function. Uri
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.