「コンピュータ将棋・囲碁の最新動向」

 電子情報通信学会東京支部講演会「コンピュータ将棋・囲碁の最新動向」を聴講した。
講演は将棋、囲碁が各2で、両方とも概説と実装にもとづくやや詳細な話に分かれていた。参加者の質問など覚えていないモノもあり。
以下、技術屋でコンピュータ将棋は概要を知っているが自分では作っていない、という立場で聴いた講演内容の概要と感想。


1.最新!かんたんレシピ:強い将棋プログラムの作り方 (保木 邦仁)


 1本目は保木氏の講演で、ゲーム理論の話からコンピュータチェスの歴史、将棋との差異とBonanzaの概要という内容。中盤のスライドは技術的な内容(既発表のもの)だが、ここらへんは駆け足。
 後半はボナ登場後のコンピュータ将棋についてで、評価関数機械学習組の台頭と、文殊についても言及。登場直後は全幅探索+機械学習のうちむしろ全幅探索に対する注目があったようだが、結局「良い評価関数」が重要であってボナが業界に与えた影響の中核は機械学習ということだろう。
時間が押していて質問タイムが取れず。誰かなんか質問したっけ……?


2.世界コンピュータ将棋選手権初制覇までの歴史 (金子 知適)


 2本目、GPS将棋の解説だが機械学習についてやや詳しく解説。保木氏の原著論文だけだと大まかな理屈しか解らないが(使っている理論は解ってもコン将棋にどう適用しているのか解りにくい)、こちらは結構丁寧に説明されていて良い解説。
 次にボナとの違いとして各部分で実装している技術の表が。評価関数は学習型だが、探索は実現確率(激指)、静止探索はYSSライクに、詰探索はdf-pnと各部分で良さそうな技術を片っ端から採用しており、行数でボナ3万行に対してGPSは10万行とメタボな合体怪獣タイラントである。(template多用とあいまって個人が片手間ではやっていられない)
 後半はプロや将棋24の棋譜解析。探索無しor浅い探索のみを行った際の幾つかのグラフを示して、GPS将棋から見た人間の棋譜解析結果は

  1. .プロの対局はアマと比べて互角な状況が多い(アマは大差になりやすい)。
  2. 、プロの対局では、(GPSから見て)差がついているように見えても逆転することが多い

1はある意味普通の結果。高いレベルで均衡している人たち同士の戦い=プロの対局ということだろう。2は、評価関数が対プロでは全然当てにならないレベルということ。ただし深く読めば結構一致するということで、やはり現状は人間に遠く及ばない評価関数+大量読みでカバーしているという結果を追認している。
 最後はコン将棋の課題で、もう少しでなんとかなりそうな終盤の寄せ合いと、どうしたらいいか解らない序盤について。
 質問は変な爺さんがモガモガとイミフな事を言い出して貴重な時間を食いつぶされた(怒)。序中終盤別評価関数の学習で、どうやって進行度を決めているのかとか、序盤の課題に対するアイデアなど聞きたかったが適わず。


3.囲碁から生まれたアルゴリズムモンテカルロ木探索 (美添 一樹)


 3本目は囲碁。これまで停滞していたコンピュータ囲碁が確率的アルゴリズムで一気に強くなったと言う話。
原始モンテカルロ(ひたすらデタラメに打って確率を計算)から、モンテカルロ木探索(途中で良さそうな手を優遇する)、UCT(優遇の仕方に理論的なバックグラウンドを与えて尚且つ棋力うp)と発展する手法の説明と現状の説明。
 現状では更に改良が進んで、プレイアウト中全部ランダムじゃなくて、シチョウみたいに一本道の時は別処理で正解手を指すようにすると強くなる。当たり前と言うかこれは話が逆で、盤上この一手というのが解っていれば最初からそれを選べば勝ちなのである。それが解らないから「適当に打ってみよう」と言ってるんだから、正解が明らかなのになんでランダムにこだわるんだよという印象。どうも、ランダム打ちがまずあって、そこにどうやって囲碁の知識を付け加えていくかという実装ベースの頭で物を考えているような。ただまあ、これは外野からの勝手な言い分であって、当事者達にはそれだけインパクトの強い事件だったんだろうなと思う。
 それから乱数の初期値鋭敏性についても話があったが、UCTは最初の種次第で何処かの局所最適解に捕まってしまうと、そこから出られなくなってしまうようなアルゴリズムであるのだろう。クラスタ化で別の乱数を使えば解決しそうとの事である。単体のPCで何とかしたければ途中で集計を打ち切って探索をやり直し、各探索ごとの有力候補から選ぶ等が考えられる。


4.強豪囲碁ソフト「彩」について (山下 宏)


 ラストはYSSの山下氏。前のが基本編ならこちらはやや応用編。プレイアウト時の情報として目数差ではなく勝率を使うと良いという結果について。「目数差の方が情報量が多いが、実際に対戦させると勝率の方が強い」という実績にイマイチ納得がいかない様子であった。情報量は確かに多いが、その示すものを考える必要がある。これは例えば「大差で勝っているというのは相手がヘボな手を打ったということで、要するに勝手読みをしている」とも解釈できる訳で、大差で勝った手を選んだからいいという考えは短絡的に過ぎるのではないか。勝率の他に目数の分散を調べて見ると、何か見えてくるかもしれない。
 質疑応答の時間は製品ユーザーの開発者に対する苦情と要望で終わった。


全体を通しての感想。


 保木さんはリラックスした感じで場慣れしていた。海外流の講演中でも笑い声を上げたり質問したり、質疑応答の時は「素晴らしい発表ありがとうございました。質問なんですが〜」派。
 会場は年配の男性が目立っていた。最初何処かの教授かと思ったら普通の碁打ちっぽいことが判明。しかも技術的なことはよく解っておらず、解ろうともしていない?感じだったが何がしたかったのだろうか。一名は製品に文句付けに来ただけというのがハッキリしているが……(その文句自体は至極尤もだったけど)
 講演を聴いて改めて思った事は、一般人への説明のための努力が足りていない(今回は多少専門的でも問題ないが)。選手権でGPSの人が※会長に説明しているのを見てちょっと……と思ったが、なんとか新しい技術を「将棋の言葉」に翻訳して説明しないと素人にはちんぷんかんぷんだと思う。未だに「6万局の棋譜から一致する局面を検索して同じ手を指してるだけ」と機械学習を勘違いしている人がポロポロ出てくるような状況で、コンピュータ用語を100万語並べても絶対に理解してくれない。
例えば「評価関数は人間でいう大局観」みたいな比喩を、必ずしも正確でなくともいいから工夫しないとねぇ。従来のソフトは開発者=師匠が付きっ切りで教えるタイプなら、ボナ型は棋譜並べをして自分で感覚を磨くロボットだ。みたいなね。