Hashing Dictionaries
Home * Board Representation * Bitboards * Sliding Piece Attacks * Hashing Dictionaries
This approach using associate arrays or hash tables was introduced in the ICGA Journal (June 2007) by Sam Tannous [1]. Like other occupancy lookup approaches it works line-wise for ranks, files, diagonals and anti-diagonals. It uses hash arrays from an interpreted, high level language, Python:
Avoiding Rotated Bitboards
Sam Tannous compared this approach to a Rotated Bitboards implementation in Python and found direct lookup favorable for move generation. In languages like C, targeting 64-bit cpus like x86-64, or even in Java, it is likely another story if one compares Open Addressing with Double Hashing with rotated or perfect hashing techniques like Kindergarten or even Magic Bitboards.
Abstract
Quoted from Avoiding Rotated Bitboards with Direct Lookup [1]:
Toolkit
Forum Posts
- Re: Explain like I’m five - what is the ’n’ in right shift 6 by Bayowulf, CCC, September 24, 2011
- What is the point of magic hashing over simply using masked occupancy as index ? by Gautier Blandin, CCC, July 06, 2021 » Magic Bitboards
References
- ↑ 1.0 1.1 Sam Tannous (2007). Avoiding Rotated Bitboards with Direct Lookup. ICGA Journal, Vol. 30, No. 2, arXiv:0704.3773
- ↑ Donald Knuth (1998). The Art of Computer Programming. Volume 3, Sorting and Searching. Addison Wesley. ISBN 0201896850