1. The 3 hashes: As Eric Boesch and Álvaro said, you can get the same codes as in the Black[], White[], Empty[] scenario using only 2 BlackXorEmpty[] and WhiteXorEmpty[]
2. What does make sense is making a difference between a POSITIONAL hash and a SITUATIONAL hash. The positional hash is the typical Zobrist hash of just the stones. The situational hash is the XOR of the positional hash and all moves forbidden by ko or superko (if any). I use another table of 361 64 bit codes for each forbidden move. At least, the tree search must have this in consideration, because the same stones but different legal moves, it is not the same position. I guess most programs do this one way or another. Jacques. _______________________________________________ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/