On Wed, Dec 9, 2009 at 1:19 PM, Jacques Basaldúa <jacq...@dybot.com> wrote: > 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.
You can take this further and say that if it's the same stone configuration, the same legal moves but a different set of visited stone configurations, it is not the same position. The legal moves might be the same now, but they might be different after I perform a particular move. I usually understand that the Zobrist key just hashes the stone configuration, and I have to mess with it if I want to add more information (side to move, ko...). Álvaro. > > 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/ > _______________________________________________ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/