読者です 読者をやめる 読者になる 読者になる

囲碁 電聖戦

囲碁電聖戦が行われた模様である。会場は電通大で、事前に行われたコンピュータ囲碁世界選手権の優勝・準優勝ソフトが、4子のハンデをもらって依田紀基九段と対局した。準優勝ソフトとしてCrazy Stone、優勝ソフトとしてZENが対局し、Crazy Stoneの2目半勝ち、ZENの中押し負けだった。今回の大会はニコニコ生放送で観戦していたのだけど、人間側の1勝1敗だとちょうどいい手合いのように思うし、来年も4子局になるだろうなーと思いながら見ていた。

今回の対局の手合いである4子のハンデであるが、これは目数でいうところの40目分、また段位で言うと4段分に相当するらしい。強さという定義の曖昧な概念や、段位に対して、適切な置石の数が線型の関係にあるとは言えないので、ここら辺には多少の曖昧さがあるであろうが。*1

今回出場のCrazy Stoneは囲碁ソフトにモンテカルロ法を導入した革新的なソフトある。囲碁におけるモンテカルロ法の採用により飛躍的にソフトの棋力が向上したらしい。モンテカルロ囲碁では、ある一手を打った時の勝率を計算することで、ゲーム木を作る。その勝率はどのように計算するかというと、ランダム打ちによるのである。可能な着手(合法手とか言う)のうち、ランダムに一つを選びだし終局まで打ち切る過程をたくさん繰り返し(プレイアウト)、その勝敗のレートをもって着手のスコアとする。
ややスノッブな言い方をするなら、いわば勝敗に対応した指示関数の積分で局面を評価していると言える。*2局面全体の作る空間が非常に広いため、積分を離散的なサンプリングによることにしたのが2手目以降をランダム打ちする最も原始的ななモンテカルロ囲碁である。しかし特性関数はそんなに性質が良くなさそうに思える。例えば人間同士の対局でも一手変な手を指して形勢が逆転というのもある。こういう1手がクリティカルに効いてくるような場合、サンプリングによる積分の精度には原理的な問題がある。精度が上がれば上がっていくほど、モンテカルロという経済的なアルゴリズムの価値は落ちていってしまうだろうなあ。

ところで完全ランダムにプレイアウトを行う方法というのは厳密に言うとモンテカルロ法ではない気がする。局面全体の作る空間において、適当なメジャーを定義する必要があると思うであるが、このあたりは直観的にはプレイアウトに重みを付けることで改善されると思われる。じっさいのコンピュータ囲碁の開発も、この方法で進んできているようである。

*1:KGSのレーティングでは、2者間の勝敗がシグモイド関数で表せるように統計的な処理をしているらしく、これを使えばそれなりに意味のある比較が可能だろう。KGSでは1子差は1段差(100点差)の手合いで対局するが、上手がやや有利とのことである

*2:問題の抽象化は、特に複雑な問題を考えるときには有効である