やはり午前中は競技プログラミングで終了。C++を全然理解できていないなぁ。なんでこういう現象が起こるのか理解できない。
コンピュータ将棋
うーん、設計が悪すぎるなぁ……。NNとKPPTを上手く切り替えられない。うう、やねうら王の設計は僕がそうしたいなぁというそれにちゃんとなっている。すごい……。
いやーしかし時間がないので変更するのが怖すぎる。gitで戻すのはできるとは言っても……。
実装の悪さを誤魔化しながら書いているのでプログラムから軋む音が聞こえてくる。
やるとしたら
- Evaluatorクラスを作ってそこの中でKPPTかNNかを切り替えられるようにしたい。コンパイル時ポリモーフィズム? 今はプリプロセッサでの切り替えなのでポリモーフィズムではなし。しかしそういうことすると差分計算が大変そう……
- Seacherクラスを抽象化してそこからαβ探索クラスとMCTSクラスを生やしたい
- 探索時に扱うクラスはPositionではなくてPositionとEvaluatorをまとめたNodeクラスとしたい(Nodeという命名は技巧から)
という変更になるんだけろうけど、絶対にいろいろバグりまくるし幸せになれる自信がない。しばらく構想を練って本当に行けそうだったらやる感じかなぁ。
こういう作業がどれくらい時間かかるのかっている見積もりが全然できない。気合入れれば一日で終わる? でもバグを出して1週間持っていかれるとかそういうことが普通にありそうなんですよね。
1年前の日記
ウォーズをやったり並列化を書いたりしている。並列化もまだ強くなってはないんですよね……。技術力のなさここに極まれりという感じだ。αβ探索よりMCTSの方が並列化簡単なんじゃないかという気はしていて、なんか強くなってくれれば嬉しいなぁ。
ミリシタはこの前北沢志保さんのガシャは何回か回したけど出なかった。まぁほんと30連とか40連とか、そのくらいしかなかったと思うし。
デレステ一応ログインだけはしている。ゲームとしてはイベント曲すら一回もやってないけど。レイジーレイジーで興味出ないんだったら相当やることはなさそう。
ゲーム
YU-NOを2時間程度。わりと人が死ぬ。
その他
プログラミングとゲームしかしていない。