As Antoine de Maricourt says, this weakens the key. I think it is a serious problem and it is a dangerous answer to a small question. I compute hashes and patterns for database lookup eight at a time, which is faster (much more "optimizable") than one after the other. Then I also use the smallest as the "canonical" and simply discard the others. Since database lookup is so fast that's not a problem at all. Other situations where hashes are needed do not require verifying rotations, so the advantage of Nick's idea is very small (IMO).
But the question is: Does someone do the opposite, i.e. "playing" with the hash values to make then *stronger*? Even with 32 bit hashes, triple ko can be detected with probability = 1 for any sequence of alternating BWBW or WBWB of length less than 8. (Tripe Ko is a sequence of length 6) I don't know if that is published. In fact, unless you have a computer allowing to store a 2^64 bit table, "strong" collision analysis can only be done for 32 bit hashes (With my hardware where I can manage a 4 gigabit table decently. Checking that all 4x4x2(colors) squares in a 19x19 array form a base and replacing the invalid hashes as needed takes about 15 hours on a P4D at 3.4GHz) Of course, once you have a strong 32 bit hash set you can fill the higher 32 bits with random bits to have a 64 bit set. Jacques. _______________________________________________ computer-go mailing list email@example.com http://www.computer-go.org/mailman/listinfo/computer-go/