Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Pawn Hash Collisions in Crafty

Author: David Rasmussen

Date: 12:20:05 12/05/01

Go up one level in this thread


On December 05, 2001 at 14:11:25, Robert Hyatt wrote:

>>
>>You showed me _some_ math. Whether it describes the situation or not remains to
>>be shown.
>
>
>Some points to ponder.
>
>Assuming you search 1M nodes per second, you really only have to do a
>full evaluation on 10% of them, typically.  The rest can be eliminated
>by 'lazy eval' testing since if you are two queens down, positional scores
>likely won't help.
>
>This means that for 3 minutes of search, you will fully evaluate maybe 20M
>positions.  Now, for those 20M positions, how many will contain _different_
>pawn positions that you have never seen before?
>
>I believe that number is very small, simply because of the testing I have
>done in the past.
>
>

I _know_ the number is "small". I have done testing myself, you know :) I didn't
say anything that contradicts that. I am just saying I am not convinced that it
describes the situation thoroughly (i.e. that there will be no collisions), as I
find collisions.

is
>>testing exactly the invariant that makes (or should make) the pawn hashtable
>>work, namely that a hit implies data about the correct position, not another one
>>with same hash signature (a collision). The experiment doesn't even alter the
>>way the program runs at all, it just makes it run a bit slower. So take your
>>pick:
>
>
>One easy test in Crafty is to save the "hashed" stuff and _still_ call
>EvaluatePawns() to see if the computed stuff differs.  I have done this

That is exactly what I have done. Have I really described my experiment so badly
that no one understands? :)

>often in debugging and I do not ever see any disagreement here.  Which
>doesn't necessarily mean there are no "collisions" but that if there are,
>the two different positions produce both the same signature _and_ the same
>score (and all the other bitmaps that are hashed for other evaluation
>terms).
>

Sure, that's _exactly_ what I've been saying. Although I _do_ find collisions.
"Many" collisions.

>
>
>
>>
>>1) Crafty has pawn hash collisions, but they don't matter because they are so
>>few (why?)
>>
>>2) Crafty has pawn hash collisions, and it makes it does matter performancewise
>>somehow
>
>(3) Crafty doesn't any pawn hash collisions to speak of...
>
>

It does on the machines I've tried, using the experiment you describe.

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