kirillbobyrev / pabi

🤖 [WIP] Monte-Carlo Tree Search chess engine
https://kirillbobyrev.github.io/pabi/docs/pabi/
GNU General Public License v3.0
13 stars 1 forks source link

Implement Transposition Table #59

Closed kirillbobyrev closed 4 months ago

kirillbobyrev commented 2 years ago

Zobrist hasing provides an efficient way of almost lossless mapping from a position to u64. This is required for several important things:

The algorithm is relatively straightforward and detached from the rest of infrastructure and the API should be simple. The hash should be calculated for given Position, possibly stored inside of it and updated incrementally when a move is made (though this is an optimization that could be done later on). The difficulty might be generating good random numbers but those could be probably be taken from some pre-calculated known good results.

Action items

kirillbobyrev commented 4 months ago

Not relevant in MCTS