How to calculate pawn hash
Posted: 10 Jul 2007, 08:47
Hello,
for computing trans map hash codes, Zobrist keys seem to be the best available to map a position to a 64 bit number. There is a small propability that two positions during the search map to the same number, but it seems one has to accept that.
For the pawn hash, obviously injective mappings from the set of all pawn structures to 64 bit numbers exist. Is it also possible to define an injective mapping that can be computed easily and/or incrementally, just like Zobrist keys?
(Note that for the trans map, the small propability of hash errors makes a legality check on the trans move necessary to avoid crashed due to the searching of illegal moves. Similar disadvantages might hold for a pawn hash that is not provably injective.)
Onno
for computing trans map hash codes, Zobrist keys seem to be the best available to map a position to a 64 bit number. There is a small propability that two positions during the search map to the same number, but it seems one has to accept that.
For the pawn hash, obviously injective mappings from the set of all pawn structures to 64 bit numbers exist. Is it also possible to define an injective mapping that can be computed easily and/or incrementally, just like Zobrist keys?
(Note that for the trans map, the small propability of hash errors makes a legality check on the trans move necessary to avoid crashed due to the searching of illegal moves. Similar disadvantages might hold for a pawn hash that is not provably injective.)
Onno