第3回将棋電王トーナメント

ざっくり書いとく。

前日

一晩学習させてたつもりが、朝起きたら止まっててショックを受ける。そこから数時間回して、予定より少し早く家を出る。会場に着き、本当なら学習を回し始めてから昼食をとったほうが時間を効率よく使えるところだが、急がば回れで先になか卯でミニ親子丼。腹が減った状態では頭が回らずかえって効率が悪くなる。
本番用のPC(4コア4.0GHz)での機械学習は、このノートPC(4コア2.2GHz、1スレッド動作なら2.8GHz出る)の倍くらい速かった。それまでは深さ2で学習させていたが、これなら同じくらいの時間で深さ3の学習ができる。持って行ったノートPCと合わせて2つの学習を同時に回したりした。探索は、初期局面で120万NPSくらい(1スレッド)。
作業するうちに、どうも学習部がおかしいことに気づく。時間がなかったので、自分のコードが正しい前提で考えていた(強すぎる仮定)が、どうもダメみたいだ。次元下げを一遍にやろうと欲張っていたが、少なくともそこはよくなかった。しかし、プログラミングをし直す時間はない。今あるコードを、何とか騙して、少しでもマシな評価関数を作るしかない。最終的には、駒割を固定し、学習し直したものを持ち帰り、変動幅を最小にして一晩回した。

1日目

朝。やはりBonanza6.0には勝てず。数日前は、学習が上手く行けば勝ち越せるんじゃないかと思っていた。上手く行かなかったので勝てないという自然な流れ。ただ、安定側に振って一晩回した成果として、昨日よりはかなり強くなっていたようだ。
1局目に超やねうら王と当たり、(順位で上を目指すなら)ラッキーだと思った。4局目はQinoaSyougi。半年前の選手権のときに作戦勝ちから逆転負けしているので、勝ちたいと思った(勝った)。
(順位的な意味で)ポイントとなったのは、ある程度実力が近かったと思われる芝浦将棋Jr.とおから2015に勝てたこと。5勝して8位となった。決勝トーナメントに進むことができたのは、運が良かった。運をものにするだけの実力があった、と受け止めている。決勝トーナメントに残った12ソフトの中で一番弱かったのは間違いない。
新たに2時間切れ負けへの対応が必要となったわけだが、正直疲れていた。ここ数日、成功するかわからない学習を非生産的な方法でいじり続けていて、やっと解放されたと思っていたところだった。切れ負けで相手はひまわり。一発入れる可能性を少しは上げるようにしつつ、切れ負けだけは避けたいと思った。

2日目

2時間切れ負け専用の処理を安全側に振って新たに書くことにした。作業自体はそれほど難しくない。ただ、もはや2時間かけてテストする時間はない。会場に9時頃着き、1秒Bonanzaを相手に45分切れ負けの設定で対局を始めて、それから用意された朝食をとった。その1局は成功し、少し安心した。
振り駒に呼ばれ、ひまわりより予選の順位が上なので僕が振った。と金が3枚で後手。残念。
横歩取りになった。floodgateの棋譜を使い、強い相手に勝った側の手を定跡にしているが、横歩は一発が入りやすいということだろうか。ただ、それならもっと長く定跡を入れておけばよかったと思った。
序盤、一手パスをしてしまったが、攻めが無理だと見ての予定変更だということを千田先生に解説していただけて本当によかった。普通はただの水平線効果にしか見えない。ただ、やっぱり恥ずかしいし将棋としても面白くないから、対策したほうがいいかなあ。でも棋力に寄与しないと思ったから対応(単にこれを避けるだけのは)しなかったんだよな(いや、ほんとはできないからです)。
1手につき2分8秒考える設定にしていたが、ニコ生に出たときそれを言ったらコメントで128秒(2の7乗)だと気づいた人がいたらしい。気づいてもらえて嬉しかった。
将棋は順当に負けた。勝率は1%と見積もっていたが、やはり負けるのは嫌なものだ。評価値が、自己評価でさえプラスになることがなかったので、定跡選択はもっと考えたかった。