Jan. 29th, 2015

I have recently released version 17.5 of Arasan with some scoring changes and some changes to time management. In my testing this is stronger than 17.4 but it is not a huge difference.

I have recently been reading a paper on evaluation tuning for Shogi (Japanese chess). This describes an algorithm called MMTO which is apparently used now by all the top computer Shogi players. Apparently these programs have very large piece-square tables and so can have even more evaluation parameters than chess programs. But MMTO is able to solve this very high-dimensional optimization problem: it may not be finding a global optimum, but at least it can improve over a manually tuned program.

The tuning method takes each position from games by strong players and penalizes moves by the program that deviate from the move(s) made in the games. Each possible move is searched with a shallow search and there is more penalty given from each move that scores higher than the desired move. (I am not sure how sound this is; I know chess games even by Grandmasters often include bad moves, but it is an interesting idea, and the occasional blunder in a game may not hurt the method). The algorithm adds some terms to the function that compensate for the fact that different evaluation parameters can have widely different variances.

The actual optimization method is somewhat complex and relies on some advanced calculus. There is an implementation in the open-source program Bonanza.