大学
10時過ぎに研究室着。ここ最近本当に遅くなってしまっている。原因はわかっていて、上手く睡眠が取れていないからだ。なぜだか朝6時前に目が覚めてしまい、2度寝もなかなかできないまま8時とかになって覚醒しない頭で支度をしているとつい遅くなってしまう。
午前中は輪講発表の資料を改善していく、が名人戦を観ながらなのであまり集中できず。睡眠不足もあって今日は作業効率が低そうだなぁ。
資料もなかなかまとまらない。どの程度事前知識を仮定していいものかという感覚がつかめてこない。まぁでもこんな感じでいいかぁ。
論文を読んでいるときに変数の型がよくわからなくなる。特に今回読んでいる論文はイタリック体とローマン体の区別がついていない気がしていて、確率変数なのか普通の変数なのかがわからない。
飽きたので午後は将棋ソフト開発の方をやってしまった。やるべきことをなにもやらない。
眠気に負けてなにもわからなくなった。
将棋ソフト開発
昨日の進捗をまとめたら短い記事にしかならなかった。しかし書いていかないと自分が何をしているのかも忘れてしまう鳥頭なので書くべきなんだろうな。隠すような新規性なんて全くないわけだし。
もうそろそろ5月も終わるけどまだWCSC版より強くはできてませんね……。やっぱり次元下げが必要な気がする。パラメータの頻度分布を簡単に見ているけど値が付いていないパラメータがめちゃくちゃ多い。あとはやっぱり探索部。しかし探索部の改善は本来2駒の方にも適用できるはずだから本来は評価関数だけの性能でkkp_kpptが上回っていることをちゃんと検証しなければいけないんですよね。そういうのをgitのブランチ管理でなんとかやっていければ良かったんだけど、現状はそうなっていない。
プリプロセッサのif~elif~endifでめちゃくちゃ場合分けていくのはソースコードが汚くなる気がしていて嫌いなんですが、実践的にはやっていくべきだなぁと感じる。あー、いろいろ書き直しかなぁ。
CounterMoveも入れてみたが強くなっている気がしない。とりあえずいくらかの局面において探索深さが落ちている。オーダリングにかかわる部分はほぼ探索深さで効果を測れると考えていいはずだよね? 枝刈り系はもちろん重要な読み抜けが発生しているかもしれないからそれではダメなんだけど。
オーダリングの方法を変えたらNPSが1/40とかになった。しかしLMRを激しく入れられる気がするので探索深さは伸びた気がしなくもない。これは強いのか? 必要な検証作業が膨大で厳しい。
できるだけパラメータとか枝刈りの数を減らさないとまともにチューニングできないのでは。
あと各種枝刈りでdepthがいくらいくら以上のときだけ(あるいは以下の時だけ)適用するみたいな条件文が入っているのが個人的にはものすごく気に食わない。そういう条件を入れるにしても、マージンが大きくなることなどにより実質的に意味がないという形になっていてほしい。手動でその条件入れてしまったら地獄以外の何物でもないのでは。どうやってそれを決定すればいいのかがわからない。実験量が爆発する。StockFishとか強いソフトのパラメータをパクれ? はい……。弱い人間が無駄に拘るの、本当に意味がない。
グリッドサーチやっていくのはキツすぎるので、なんとかしてパラメータ調整法を考えないとなぁ。最悪の最悪でも自己対局からチューニングするのを自動化しないと本当につらすぎる。
探索厳しいなぁとか言っている人間なんだけど、そもそもkkp_kpptの時代が終わる感じですか。今更kkp_kpptを導入しているのアホっぽいかなぁ。まぁ半年後まではそれでいくけど……。
将棋
名人戦は名人が第5局を制して防衛にリーチ。横歩取りのあの形は名人の領域という感じがするなぁ。
その他
日記の書き方として何か出来事があるたびに下書きとして書いていく方法と、夜にその日一日を振り返ってまとめて書く方法がある。最近はもっぱら前者となっていて、しかしこれだと文章が取っ散らかってしまうなぁという印象が多少ある。取っ散らかっています。