作成している将棋アプリに棋力測定モードを実装した。
実装内容
先日の調査で、dlshogiの探索で測定した勝率の平均損失とレーティングに相関があることがわかったので、AI相手に対局した棋譜を蓄積して、そこからレーティングを推定する機能を実装した。
1棋譜のみでは誤差が大きいため、過去の棋譜の勝率の平均損失の指数移動平均を使用するようにした。
対局するほど推定が正確になり、直近の対局ほど重視されるようになる。
誤差範囲も表示したいが、別途検討することにする。
先日の調査では、1局面512プレイアウトとしたが、スマホでは20秒くらいかかるので、64プレイアウトとした。
線形近似した係数も再調整が必要になるが、一旦先日の調査した値を使用した。
結果は以下のように表示する(自分で2対局だけで試した結果)。
対局中にもリアルタイムで、指標を表示するようにする。
棋力測定モードでは、待ったとヒント、定跡は使用できないようにしている。
タイトル画面
普通の対局と棋譜測定を選べるように、タイトル画面を実装した。
今のところボタンを配置しただけで、まったくデザインは考慮していない。
初回リリース時の機能が固まった後に、デザインしたいと思っている。
デザインの経験がほぼないのでプロに頼みたいところだが、趣味のアプリなので自分でデザインも勉強しながら行おうと思っている(自分でしょぼくないと思えるレベルが目標)。