Chess - Programming - Material Hash Table

A Material Hash Table is used to cache once calculated material values for certain material constellations, considering not only the dot-product of the piece values, but material imbalance and even insufficient material.

The hash function must have three desired characteristics.

  1. It should be obviously faster than the function it is replacing.
  2. It should distribute the positions that are likely occur in a single search.
  3. It should be symmetric with respect to Black and White.