2015年06月05日

コンピュータ囲碁対局観戦記(後編)

−人工知能学会全国大会2015における 下坂美織二段 対Zen 対局−
後編(棋譜検討)

                   日本棋院札幌南支部長 公認審判員 岩本欣也(工学修士)

 今回の棋譜検討にあたり、「コンピュータ囲碁−モンテカルロ法の理論と実践」松原仁編、美添一樹、山下宏著(共立出版)を基礎教養としております。この著作は現在のコンピュータ囲碁プログラマーが学ぶべき入門書で、大学の情報工学、システム工学の素養があれば大概は理解できると思います。

 さて、初めに将棋ソフトと囲碁ソフトの根本的な違いからお話し致します。「囲碁ソフトを製作している人たちはきっと囲碁が強いんでしょう。」と言う方がよくいらっしゃいますが、今回のZenの製作者である加藤英樹氏は自称初段ということです。中にはルールしか知らないプログラマーがたくさんいるそうです。これが将棋となるとかなり強い方々がプログラムを製作しております。どちらも一手ごとに枝分けをして大きなツリーを作って選択肢を選ぶことには変わりないのですが、枝の選び方が根本から違うのです。将棋では経験則から評価関数を創出して一手ごとの点数を計算し、最善手を選択するのですが、囲碁では評価関数を使わず、乱数で抽出した枝ごとに終局まで打ってしまい、プレイアウトさせてその結果が勝ちか負けかを判定させて、より勝ちの多い枝(確率の高い枝)を選択するモンテカルロ木検索という手法を用いています。将棋では駒の価値や動きなどを関数にしやすいのですが、囲碁は序盤中盤終盤で使う思考が違い、盤面があまりにも広いために良い評価関数を創出することがとても困難であることが弱い原因とされてきました。そこで、終局が地の目数(中国ルールでは石の数)で単純に評価できること(将棋やチェスでは終局図は複雑)に注目したわけなんです。どの枝も終局まで打って勝ち負けを確率で判定する(目数平均ではありません)単純化とコンピュータ得意の大量処理能力を用いて格段に強くなったわけです。ただしかし、いかに大容量のコンピュータといえども、19×19の盤面で一手ずつ進行する手順全てを枝分けすることは不可能であり(局面数は将棋が10の69乗、囲碁が10の170乗)、探索する枝を選別するUCTという手法を用います。要は探索木をいかに少なくして演算時間を短縮するかと、プレイアウト終局図の判定法の実用性をいかに高くするかに、プログラマーは改良を重ねているので、囲碁のルールや特殊な変化(シチョウ、マネ碁、中手など)の知識は必要でも、囲碁が強いことや経験豊富なことは必要ないのです。ですから、同じ囲碁をやっていても、棋士とプログラマーでは作業はまるで違います。「まるでボクシングのリングでプロレスラーが挑戦しているようなもの。」という喩えがよく言われます。

 乱数で抽出する手数をどの程度の計算速度で処理しているのかは、CPU容量やその個数、PC台数によって違いますが、今回は3台のPCを用いて1分間に3千手?くらいだそうです。クラウドのようにコンピュータを多数つないで処理能力を高める並列化の方法が開発途上となっています。もちろんスパコンなどを用いればさらに強くなりますが、単純に容量に比例するわけではないようですし、現在世界にある全てのコンピュータをつないだとしても、19路盤上の合法手全ての選択肢を処理するのは不可能であることは明瞭です。

コンピュータ対局変化図1.jpg コンピュータ対局変化図2.jpg

コンピュータ対局変化図3.jpg コンピュータ対局変化図4.jpg

 さて今回の対局の棋譜検討に入ります。結論から申しますと、モンテカルロ法の限界が明瞭になった一局でした。プロにハンディキャップ置碁では近づくことはできても、互先で勝つことは不可能であることが明瞭になったという感じがします。当面はコンピュータ側の低迷期が続くと思います。もちろんいつブレークスルー(障壁突破)が起きるともわかりませんし、それはモンテカルロ法以外かもしれません。モンテカルロ囲碁は大きな模様を張ったり、そこに飛び込んできた相手の石を取るのは得意ですが、攻め合いや死活、コウの振り代わり、シチョウなど長手数に及びながらも最善手が一通りしかない場合は間違えることが多いです。またプレイアウト終局図が石数を数える中国ルールに近い考え方を使っているために、今回はグズミという終盤での石のダブリを選択してしまいました。確率の高い枝を選んでいるということは、

  「勝つ手の選択を光、負ける点の選択を闇とすると、その先により灯りの多い選択肢を選ぶのは得意ですが、その先は暗い中にもいくつかの灯りがあり、さらにその中の一筋の光りみが正しいという選択肢を選ぶことはできず、人間がその長手数の一筋を選ぶと、コンピュータは途中で間違えて闇に沈む。」

  という喩えを用いるとわかりやすいと思います。長手数のシチョウや死活がその弱点です。もちろんそれらを避けるように改良してはいます。すなわち、人間側は局面を複雑にしよとし、コンピュータ側は単純化しようとします。一言でいいますと、モンテカルロ囲碁は「明るい碁」であり、今回のZenは特に筋の良い碁を打ちます。

第一図の場面。普通であればここでの手抜きは考えにくいですね。普通は「大場より急場」です。しかし果たしてAなのかBなのか? あるいは△にノゾいて目を取りに行くのか、戦略の分岐点にあたりますので、長手数のヨミが必要な場面です。こういう闇がある中で少ない光りを見出そうとするよりも、より光りの多い大場の◎を選択する特徴があるわけなんです。

第二図の場面。小林覚先生の示した変化図です。このように高目に外側からカカって、辺に根を下ろすのが良いとされますが、Zenは隅を選択して辺の白模様をほぼ確定地にしました。もちろん三子のハンディキャップがありますのでこれで勝勢とも言えませんが、白まずまずの出だしと言えるでしょう。なぜ辺より隅を選ぶのか? となりますと、やはり隅の方が明るいため、辺には闇が多いということなんでしょう。

第三の場面。中盤戦突入です。この変化を追うとZenの中盤戦の力が如何に強いかに驚きます。アマチュア高段者でもここまで筋良く戦うことはできないかもしれません。どの手も本筋です。このように一方的に攻める流れでは灯り(本筋)の選択はわかりやすいということです。アマチュアでもよく厚みに入ってきた相手の石を攻めるのが得意の人がいますが、Zenは本筋を好む厚み派という感じがしました。対して下坂プロのシノギはさすがでした。A,B,Cの筋を使ってコウを含む長い手数を正確に打ち進め、決定打を与えずにそこそこの振り代わりで分かれました。このあたりは双方なかなかやるな、と言う感じでした。

第四の場面。形勢は細かくて微妙な終盤戦に突入しました。今までの流れでは下坂プロがポイントを着々と重ねて逆転したかのような感じがしましたが、実際に数えてみますと形勢不明です。コンピュータ囲碁に対して終盤に入るあたりで5目くらい勝っているつもりでも、終わって数えてみると負けることがよくあると言われます。既存の固定観念では計れない中盤戦の結果が多いからでしょう。ここが人工知能のすごいところだとも言われています。すなわち人間の固定観念の盲点を気づかせてくれることです。

  しかし人間の固定観念にない手が、この一局ではどう見ても損だと思います。左上黒1のグズミ、そして黒17のマゲです。特に黒17は一手パスに近い小さい手です。どうしてこれらの手を選択したのかについて、製作者の加藤氏は「地計算が中国ルールで石数によるために、こうなりました。それと形勢良しとしてより安全な手を選んでいるようです。」と分析しておりました。そして、「形勢良しとするのは機械自己学習によるもので、プロ相手だとそれよりも上なので評価点を辛くしてより厳しい手を選ばせる必要があるでしょう。」と改良点を話していらっしゃいました。

  以上、総じて今回のZenは中盤は強く、終盤は弱かったようです。これはどうやら、UCTや並列化による探索木の選び方を中盤重視にしたために、終盤に来て勝ったと思ったことが原因のようです。最後まで勝率表示が8割から9割と高いまま左上の緩着が出てしまいました。そして一気に逆転した後は勝率30%を切りましたので、自動的に投了となりました。次は改良していらっしゃるでしょうから、三子はさらに厳しい対局となることでしょう。楽しみにしております。

posted by きんちゃんブログ at 00:38| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック