Chess engine: Tofiks 1.2.0
Tofiks - UCI chess engine
Rating CEDR=2265
v.1.2.0:
It's not as major of a change as from 1.0 to 1.1 but still plenty of things have changes and without waiting for a year. I started development on a more robust test-suite. If I can think of any testable scenario to test I add it. It currently validates if a PV output by the engine is consists of valid moves (in response to a bug). It tests some basic mate positions. Also verifies the move generator against known perft positions.
I also focused on things like optimization. There were attempts made to make the make-unmake more efficient. Now it is simply done via copy-make principle. Where the current position is copied a move is made and if it needs to be taken back the position if overwritten with the copy. The idea was to save some irreversible changes (castling rights, captured pieces) and unmake the move based on the current board position, the move and the saved irreversible state. Initial testing showed a serious performance downgrade so that approach has been abandoned.
As far as chess playing goes:
Late Move Reductions (LMR) - try to reduce depth at which moves are being searched later in the move order.
Delta Pruning - in quiescence search when a side is down a lot of material there is little hope to improve so the branch is abandoned. Hopefully, pruning a lot of nodes where the difference between totally losing and completely losing makes little difference and focus can be shifted on more interesting branches.
Minor bug fixes and code clean up has seen some small improvements and performance gain.
Results
Rank Name Elo +/- Games Wins Losses Draws Points Score Draw White Black
1 tofiks-1.2 189 34 400 260 62 78 299.0 74.8% 19.5% 76.0% 73.5%
2 tofiks-1.1 53 30 400 183 122 95 230.5 57.6% 23.8% 59.8% 55.5%
3 tofiks-1.0 -268 40 400 48 307 45 70.5 17.6% 11.3% 19.5% 15.8%
Comments
Post a Comment