筆者は、毎週日曜日の午後に放送されるNHK杯テレビ囲碁トーナメント(Eテレ)を楽しみに観ています。筆者は小さい頃に囲碁をほんの少し習っていたのですが、当時の講師が「将棋に比べて囲碁は感覚に頼る部分が大きいのでコンピュータソフトのレベルが低く、ソフトが人間に勝つにはまだまだ程遠い」と言っていたのをふと思い出しました。それから20年近くが経ち、果たして現在の状況を見てみると、まだプロ棋士と対等に戦うまでには至っていないもののアマ6~7段程度の実力で、その力を着実につけつつあるようです。
その理由を探ってみると、どうやら2000年代後半に登場したアルゴリズム「モンテカルロ木探索」が囲碁ソフトの実力向上に大きな役割を果たしたことがわかりました。

 この「モンテカルロ木探索」という名前に筆者は興味を覚えました。というのも、弊社のビジネスシミュレーションソフトに搭載している分析機能「モンテカルロシミュレーション」と「デシジョンツリー」を合体させたような名称だからです。
 そこで、今回のコラムでは、「モンテカルロ木探索」を軸としたコンピュータ囲碁の進歩の歴史を簡単にご紹介した上で、ビジネスシミュレーションにおいて参考となる点があるか考えてみたいと思います。

      ~~~~~~~~~~~~~~~~~~~~~~~~

 そもそも、読者の中には囲碁のルールをご存じでない方もいらっしゃると思います。詳細な説明は省略し大まかにルールを説明しますと、囲碁は「盤面に黒石と白石を交互に置いていき、最終的に自分の石で囲んだ陣地の広さを競うゲーム」です。囲碁は将棋など他のボードゲームに比べて盤面が広いので候補手が多く、また「捨て石戦術」に代表されるように途中段階での各局面の最善手が必ずしも最終的な勝敗に結びつくとは限らないため、人間の実力に匹敵するようなコンピュータソフトの開発が難しいとされてきました。

 そこで、1990年代から、人間のプレイヤーの思考方法とは異なる「モンテカルロ法」による囲碁プログラムの研究が進んできました。囲碁というゲームは、(たとえデタラメに石を打っていったとしても)石を打ち進めていくに従って石を置くことができる箇所が少なくなり、合理的に考えて打つべきところがなくなるとゲームが終了する特徴を持っています。「モンテカルロ法」はこの特徴を利用し、乱数を用いてランダムに石を打ち続けて終了までプレイすること(以下、このことを仮に「試行」と呼びます)を大量に繰り返して、試行ごとの勝敗を集計し各候補手に対する勝率を算出し、勝率の高い手を選択する、というものです。
 モンテカルロ法の特徴として、試行の回数を増やすほど勝率の精度が上がる、ということがあります。これはビジネスシミュレーションにおける分析手法「モンテカルロシミュレーション」と同じ性質です。しかし囲碁プログラム固有の問題点として、あくまでランダムに打つので、一定の実力以上の人間ならば絶対に打たないような悪手も試行に含まれてしまい、勝率に影響を与えてしまいます。そのため、何手も先の手を読みながら最善の手を考える必要のある局面では正解の手を見つけることが難しく、単純なモンテカルロ法だけでは実力の向上が頭打ちになり、人間と互角に戦うにはまだ遠く及びませんでした。

 その欠点を克服する方法として、冒頭に挙げた「モンテカルロ木探索」が2006年頃に編み出されました。この方法は複数のスロットマシンを用いて報酬を効率的に大きくする統計手法を基としており、モンテカルロ法と同じく各候補手に対する試行を繰り返すことから始めますが、有望だと判断された手に対してより多くの試行回数を割り当て、試行回数が一定の値を超えた場合には「その手は有力な候補手なので、より詳細に検討しよう」とみなし、その手から一段階進んだ次の一手について複数の候補手をもとに試行を開始する、という方法です。つまり、「有望そうな手をいくつか見つけ、それぞれについて数手先まで読む」という実際の人間の思考に近い形で、モンテカルロ法を用いた勝率算出ができるようになりました。

 以降、囲碁プログラムの改善は「モンテカルロ木探索」において各候補手の有望性判断基準の改良、および試行プロセスの改良が焦点となって進展しています。改良についての詳細な説明はここでは割愛いたしますが、試行回数と勝率から機械的に有望性を判定するのではなく囲碁特有の局面判断や過去の棋譜を用いて候補手を優先順位付けする、あるいはモンテカルロ木探索を並列化させて試行を高速化する、といった方法が考案されています。
また別角度からのアプローチとして、合議制(思考ルーチンの異なる複数の囲碁プログラムを用意して次の一手を多数決で決める)を採り入れる研究も行われています。その結果、開発者の棋力を超える囲碁ソフトが生み出される、といったことも起きています。もちろん、囲碁特有の局面判断をどうプログラムとして反映させるか、など課題も多くありますが、ここ10年ほどで急速に進歩してきてたことを踏まえると、今後の発展がますます進むことが期待されています。

      ~~~~~~~~~~~~~~~~~~~~~~~~

 以上、コンピュータ囲碁の進化の歴史についてざっとご紹介しましたが、いかがでしたでしょうか。「モンテカルロ木探索」自体はビジネスシミュレーションにおける「モンテカルロシミュレーション」や「デシジョンツリー」とは違う部分もありますが、むしろ筆者が面白いと感じたのは、「コンピュータ囲碁の今後の改善の方向性が、ビジネスシミュレーションにおいて重要なポイントと重なる部分が多い」ということです。

 例えば「囲碁特有の局面判断」や「合議制」をプログラムに採り入れる点です。これを事業性評価と照らし合わせて読んでみると、「単なる勝率(=NPVなどの利益指標)のみに基づいて単独のプログラム(=画一的)で評価するのでなく、囲碁特有の局面判断(=各事業に固有な視点・因子)や過去の棋譜(=過去データ)も評価プロセスに採り入れつつ、他のプログラムと併せて(=多面的な見地を踏まえて)検討する」と見ることができます。
 もちろん、囲碁特有の局面判断をプログラムに織り込むことが難しいのと同様に、(往々にして定性的な指標である)各事業に固有な視点・因子をビジネスシミュレーションにおいてどう表現するか、にという問いに対する決まった答えはありません。だからこそ、囲碁ソフトの差別化が生まれるのと同じく、ビジネスシミュレーションを実施する各社の知恵の出しどころになるのだと思います。

 そして、開発者の棋力を超える囲碁ソフトが生み出される、ということもビジネスシミュレーションの在り方を暗示しているように感じられます。開発者をビジネスの現場、囲碁ソフトをビジネスシミュレーションと置き替えてみると、「各事業に固有な視点・因子を採り入れた評価プロセスを適切に用いることで、ビジネスシミュレーションは従来のビジネスの現場だけでは見えてこなかった『次の一手』を導き出すことができる」ととらえることができます。

 このことは、弊社自身にも当てはめることができます。弊社は特定業界に特化したコンサルティング会社ではありませんが、ビジネスシミュレーションのプロフェッショナルとして、お客様のビジネスの成功に貢献すべく今後も努力を続けてまいります。

(楠井 悠平)

(参考HP)
第1回電聖戦(プロ棋士対コンピュータ囲碁の対戦)
http://entcog.c.ooco.jp/entcog/densei/denseisen-1st.html
「平成四天王」のひとり高尾紳路九段の公式ブログ
http://blog.goo.ne.jp/s-takao-san/e/f1328c379764461c3d374a0f1ccedd67
モンテカルロ木探索 : コンピュータ囲碁に革命を起こした新手法
http://ci.nii.ac.jp/naid/110006782380
モンテカルロ木探索のRoot 並列化とコンピュータ囲碁での有効性について
http://www.is.titech.ac.jp/~kishi/pdf_file/soejima_kishimoto_watanabe_gpw2009.pdf