羽生さん、叡王戦に参戦する
羽生さんが、ニコニコ動画が主催する叡王戦に参加するそうだ。NHKのニュースにも羽生さんが叡王戦に参加すると報じられた。
羽生さんが、コンピュータと対戦する可能性があるだけでNHKのニュースになるなど、羽生さんのニュースバリューというのは凄いものがあるなと思った。
羽生さん、コンピュータ対戦の対策について語る
羽生さんはそれでは、どのように対策を行なうのだろうか?そのヒントになる動画を見つけた。第二回将棋電王戦で、次のように答えている。
羽生善治三冠インタビュー 第2回将棋電王戦(2013年01月29日投稿)
http://www.nicovideo.jp/watch/1359446708
中盤3分ぐらいから。
(コンピュータと)対戦するとしたらどのような対策を取りますか?という質問に答えて
(コンピュータと対戦することになったら?)それに合わせた勉強はしないといけないんだろうなとは思っています。
そこはこう人間のプロ棋士と対戦する時と同じ所もあるんですけど、こう、プログラムだったらプログラムそのものがどういう風に出来ているか って言うような将棋の研究とは全く違うことをやる必要があるんじゃないかなと思っています。はい。
と語っている。この中で注目したいのは、
- 人間のプロ棋士と対戦するのと同じ発想では駄目だ
- プログラムそのものがどういう風に出来ているということを理解しなければならない
という風に考えているという点だ。
つまり、彼はコンピュータ将棋を人間の頭脳強化版とは考えておらず、プログラム(あるいはコンピュータそのもの)の成り立ちから理解することで勝機が生まれると考えている。
羽生さん、プログラマーになる
多分、彼に時間があったら将棋プログラム書き始めると思う(それがタイトルのプログラマーになるに繋がるのだが)。
将棋プログラムを書きながら、将棋プログラムがどのように成り立っているかとか、機械学習をどのように利用しているかとか、どの局面に評価関数はどのような値になるかとかを実装しながら学んでいくんじゃないかなと思っている。
多分、コンピュータ将棋ではコンピュータの気持ちになりきるのが大事で、この盤面ではコンピュータはこのように感じているとか、この局面ではコンピュータはどのような思考パターンを取り入れている見たいなことをアルゴリズムに照らしあわせて感じていく能力が必要になっていくのではないだろうか?
コンピュータと対戦するとなったらプログラムがどういう風に出来ているかまで掘り下げて考えようとするのが羽生さんの面白いところだ。
[追記]羽生さん、朝日新聞のインタビューに答える。
最近、羽生さんは朝日新聞のインタビューに答えてこう言っている。
(1分20秒くらいから)ソフトと対決することになったら?
例えば将棋のソフトと言って全部同じじゃなくてかなり個性がある。
もし仮に、本当にそういう(対戦する)状態には、うーん、 将棋の勉強というよりもプログラムそのものに対する理解を深める必要 はまあ間違いなくあるなと言うふうには思っています。
という風に語っており、その将棋そのものよりも、プログラムが将棋をどのように理解しているか(要するはアルゴリズムはどうなっているか)に興味あるように思える。多分羽生さんは、コンピュータから見た時に盤上はどのように見えるか に興味があるんじゃないかと思う。
プログラマーが一人ナビゲートについて、いまコンピュータはどのように盤面を見ていますとか、耳打ちする対戦方法があっても良いのかも知れない。自動車レースのラリーにおけるナビゲーターみたいな役回り。最近の機械学習を実装したプログラムでは開発者すらコンピュータがどう考えているかわからないかも知れないけど。
その他、本の紹介
コンピュータの気持ちでいえば、山形浩生の「コンピュータのきもち」という本は面白い。コンピュータ入門書ではなく、コンピュータがどのように考えているかを類推しながらコンピュータの動作原理を覚えていくという変わった本だ
コンピュータ将棋のアルゴリズムの本といえば、こちらの人間に勝つコンピュータ将棋の作り方 が詳しい。min-max原理に始まって、機械学習を用いた評価関数自体のパラメーター調整の話まで、将棋アルゴリズムがどのように進化していったかを知ることが出来る。良くコンピュータは秒間に何億手も読めるので強い見たいな説明をされるが、それよりも(盤上の局面を評価する)評価関数をどう作るかが肝だったことが分かる。