Open nymann opened 7 years ago
In order to do this, we must first and foremost implement Zobrist hashing. We'll have a public field variable ulong PosKey { get; set}, which is set everytime we make a position, and unmake a position.
When that is implemented we further open up for Late Move Reductions. Which means that when we have ordered our movelist from best to worse, we can search the best moves at a greater depth. (Torvad suggest the 4 greatest moves), and the rest at a lower depth.
This also opens up for saving the legal moves at each depth.
We should take advantage of itterative deepening by implementing transposition tables (https://chessprogramming.wikispaces.com/Transposition+Table), and thereby improve ordering by first searching the previous depth levels best move.
https://chessprogramming.wikispaces.com/Move+Ordering