昨夜も結局あまり早くは寝られなくてちょっと朝遅くなってしまった。そのうえ競技プログラミングの今日の一問が結構大変で午前中が吹っ飛ぶ結果に。そろそろARCが牙をむいてきそうだし、こういうことは多くなるかもなぁ。
コンピュータ将棋
にゅ~らるねっと版を撫でていく。Valueの方が本当に学習してくれないんだけど、これってPolicyのユニット数だけ損失の方にかけてあげないとダメなんだろうか。少なくとも1対1の配分ではなさそうな気がするんだけど……。
にゅ~らるねっと版はまだValueだけKPPT型の出力値を使うズル設定でもれさ改に勝てなくて、流石にこれはMCTSがバグっている気がする。Aperyの読み込んで使っているからKPPTの評価パラメータが弱いということはないと思うんだよね。序盤だけはそれっぽいのに中盤以降あっさりと駒損していくの面白い。
MCTSの方で読み筋を出力する機能を書いたりして思うんだけど、やっぱりPythonで写していたときよりも理解度が高い。C++の方が馴染むという感覚が強いんですよね。うーん、言語によってそういう差が出てしまうのはそんなに良いことだとも思えないんだけど……。
技巧のArrayMapを見返す。これ凄いよなぁ~。こういうことをサラッとできないとまだまだC++を使っているとは言えない気がする。別にCっぽい書き方ばかりしているとも思わないけど、もっといろいろできるようになりたい。
C_PUCTの大きさを調節したられさ改に勝てた。このパラメータめちゃくちゃ重要っぽいなぁ。MCTSもちゃんとチューニングしなければなぁ。
とりあえず今はKPPTのαβ、NNのαβ、NNのMCTSはできている。KPPTのMCTSも書くべきかちょっと悩むところ。設計が悪いので変なことしないといけないっぽい。対して強くはならないだろうけどなぁ。
ValueとしてNNの出力を使うようにしたられさ改にぼろ負け。これは先が長そうだ……。
ゲーム
この世の果てで恋を唄う少女YU-NO(PS4版)をやり始めました。システムが複雑そうで意外とそうでもないか? まだまだ序盤。
その他
プログラミングとゲームで一日が終わった。