Author: David Rasmussen
Date: 18:35:42 12/03/01
Go up one level in this thread
On December 03, 2001 at 20:18:36, Sune Fischer wrote: >On December 03, 2001 at 18:36:50, David Rasmussen wrote: > >> >>Mmm.. But I use a wellknown good PRNG, the avg. hamming distance of the keys is >>good, the distribution of the keys is good, and I have no collisions at all >>using this PRNG for generating my 64-bit keys for the trans/ref table. So how to >>find my bug... I seriously doubt that there's a bug, but one always does... :) >>Any ideas of how to find such a bug? > >heh, not really I have a bug myself, been looking for it for 2 months, I'm >really stuck.. :( > I know that feeling. It feels _so_ good when you finally nail down the bug. >Using large hamming distances for the zobrist table sound very "okay", but when >you say 60,000,000 probes have you testet how many of these are successful? The 60,000,000 probes were the ones that were successful out of who knows how many probes in total. Of these 60,000,000 successful probes, about 300 were detected to be collisions, but there might be many more, as I am only checking to see if the score matches given that the hashkeys matches. If not, we definately have a collision. >My numbers are something like this: >Average Node-Speed:....... 177.54 kNs >Total Nodes Reached:...... 11364494 >Total Evaluations:........ 7414407 >Total Pawn Evaluations:... 5062 > >the pawn eval() is part of the standard eval(), but most of the time the pawn >hash has the score, so the function was only called 5062 times in that game. >I currently use 64 bit keys, but I think 32 bit is okay because... > >The probability of none of the 5062 will collide is: >x = (2^32-1)*(2^32-2)*...(2^32-5062)/(2^32)^5062 ~= ((2^32-3000)/2^32)^5062 ~= >0.9965 >so the probability of a collision is 1-x=0.004 ~= 1/200. > These things are not evenly distributed. There is a lot of redundancy in the sequence of positions in a chess game. They are not random. >So in ball park figures thats 1 in every 200th games. >So I think the 300 sounds a little high. > I disagree with your statistics, but 300 may sound high, I don't know. I think I will check with Crafty. >Maybe you can debug by putting more position knowledge into the hash, I have >been debugging by storing the _full_ position info in the hash. I found that >there where collisions if I didn't do en-passent flags, so I'm now doing that >too. >Mayby castle rights needs to be added too, but I haven't seen a collision there >yet. > >-S. En-passant and castling is not important for the pawn hashtable, but I have both en-passant and castling in my trans/ref table. Correctness is most important, if it can be achieved. /David
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.