Hello, I've translated your engine to a c++ library .so and it calculates much more nodes. I've unrolled the yield's , and replace dictionaries with unsorted_map. The board is like yours 120 letters key.
I've probed it against Stockfish 14 limited to 2200, 2500 and 2600 ELO , and it draw all by 3 repetition. It uses libprobe for nnue and the same .bin opening book, handled by disserving library to generate the zobrish key for anotjer SHL library that looks in the .bin book file called Shreyas Deo reader.hpp. Finishing with a python class that manage the c++ library.
I will try to implement all the position class (board) with disserving library, to see if it is faster, replacing those long string keys for the score and move tables with the zobrish from disservin ,to test if your implementation that use the position as the key no wasting time in creating the key is faster than making a zobrish.
Hello, I've translated your engine to a c++ library .so and it calculates much more nodes. I've unrolled the yield's , and replace dictionaries with unsorted_map. The board is like yours 120 letters key.
I've probed it against Stockfish 14 limited to 2200, 2500 and 2600 ELO , and it draw all by 3 repetition. It uses libprobe for nnue and the same .bin opening book, handled by disserving library to generate the zobrish key for anotjer SHL library that looks in the .bin book file called Shreyas Deo reader.hpp. Finishing with a python class that manage the c++ library.
I will try to implement all the position class (board) with disserving library, to see if it is faster, replacing those long string keys for the score and move tables with the zobrish from disservin ,to test if your implementation that use the position as the key no wasting time in creating the key is faster than making a zobrish.