Add a basic implementation of the Zobrist hashing mechanism to make non-unique (but unique enough likely for our purposes) hash for each chess board. Use this hash table to lookup evaluations (same positions yielded by transpositions i.e. different move orders). Should speed up the evaluation function significantly as its complexity grows.
Add a basic implementation of the Zobrist hashing mechanism to make non-unique (but unique enough likely for our purposes) hash for each chess board. Use this hash table to lookup evaluations (same positions yielded by transpositions i.e. different move orders). Should speed up the evaluation function significantly as its complexity grows.