I hope this is the right place to post this question. So I like to implement things myself without using libraries and one of my first projects was a chess engine and I would like to improve this one.
I got multiple questions:
How are transposition tables used? Usually the serch algorithm has a fixed depth so we cannot "evaluate" non-leafs with the transposition tables, right? So the only purpose would be to hash the board evaluation of the leafs. Is this correct?
I am using Java without multithreads. Is it worth to look into magic bitboards and switch to C++? They seem to be pretty messy at the first glance.
How many nodes per second are realistic to reach with a "simple" engine. I got up to 1E6. I know that Stockfish reaches 80E6. Is it more worth to improve on nodes per second or on the algorithm itself?
I am very happy for any help.