Chess engine: KhepriChess 4.0.1 (java)
v.4.0.1:
This release addresses the following issues:
Mate scores were set using the infinity value, which was outside of the bounds of an signed 16-bit integer. This wasn't actually causing any issues (since it was just being stored as a value on an object's property, so JS didn't care about the size), but it still wasn't right.
Using an array of objects for the transposition table was resulting in large amounts of memory being used (due to how JS allocates memory for objects). So a 32MB hash table was instead using hundreds of MBs of memory (and the larger the table size, the worse it was).
There was a castling bug that existed if the king-side rook was not on the home rank (basically if that was the case, the engine could castle queenside with the incorrect rook, resulting in an illegal move).
The fixes:
Mate scores are set using a small number, as to fit into a 16-bit unsigned integer.
The transposition table, and pawn hash table, have been reworked and have much better memory usage.
Castling checks to make sure the rook is on the home rank.
There is no gain or loss in strength this release.
UCI
Use "kheprichess_uci.js" in UCI-compatible applications.
Once node is installed, you can add KhepriChess to a GUI program like Arena.
* In Arena, the command line should be the path to the file: kheprichess_4.0.1-win.exe. In the "Command Line Parameters" field, specify the path to the kheprichess_uci.js file.
Polyglot
KhepriChess supports the use of a polyglot opening book. Simply place a book file with the name of `khepri_polyglot.bin` in the same directory that the JS file is running from and it will automatically detect and load it.
Comments
Post a Comment