ゲーム情報学はゲームを対象とした情報処理の研究分野である。チェスがゲーム情報学の中心のゲームであったが,チェスでコンピューターが世界チャンピオンに勝った後は将棋が注目されていた。将棋はまだ世界チャンピオンに勝ってはいないが,対戦すれば勝つ可能性が高いレベルに達した。囲碁はチェスや将棋と比べて場合の数がはるかに大きいのでまだ世界チャンピオンを倒すまで10年はかかるとみられていたが,深層学習(ディープラーニング)の利用によってすでにトップのプロ棋士に勝ち越すまでになった。今後は「人狼」など不完全情報ゲームがゲーム情報学のテーマになっていくであろう。
ゲームは,「ルールが明確である」「勝ち負けによって手法の良しあしが明確に評価できる」「目標にできる強い人間が存在する」など,情報処理の研究の題材として優れている。ゲームを対象とした情報処理の研究を行う領域を「ゲーム情報学」と呼ぶ1)。チェス,将棋を超えて最近では,囲碁および不完全情報ゲームがゲーム情報学の対象となっている。ここではゲーム情報学の経緯について述べる。
チェスは西欧で知性のシンボルとされているので,人工知能の例題としてチェス(の世界チャンピオンに勝つコンピューターを開発すること)は,人工知能の研究が始まって50年間ずっと中心的な例題となっていた。Shannonが1950年にコンピューターチェスの論文を書いている2)(同じ時期にTuringも彼とは別にコンピューターチェスの論文を書いている)。McCarthyはチェスのことを人工知能の「ハエ」と称した。遺伝学が「ハエ」を題材として大きな進歩をしたように,人工知能はチェスを題材として大きな進歩をしたという意味である。チェスの「場合の数」(初手から勝負がつくまでを全部読む)はほぼ10120である。ある局面でルール上,指せる合法手の数を「分岐数」というが,チェスの平均分岐数は約35である。チェスは平均80手で勝負がつくので,35の80乗すなわち10120が場合の数となる。
ゲームは,
・何人でプレーするゲームか(何人ゲームか)
・勝ちをプラス,負けをマイナスとして,全体としてゼロになるか(零和ゲームか)
・理論上,いつか終わるゲームか(有限ゲームか)
・敵の情報がこちらに全部わかっているか(完全情報ゲームか)
・偶然性が入らないゲームか(確定ゲームか)
という性質によって分類される。
チェスは,二人・零和・有限・完全情報・確定のゲームの代表格である。チェッカー,オセロ,五目並べ,将棋,囲碁などは同じ性質を持っている。これらのゲームには理論上必勝法が存在すること(先手および後手が最善を尽くせば,先手必勝か後手必勝か引き分けになることが決まっていること)がゲーム理論によって証明されている。コンピューターにとって完全情報ゲームの方が扱いやすいのでこの研究が先に進んだが,バックギャモン,コントラクト・ブリッジ,ポーカー,マージャン,大貧民など不完全情報ゲームの研究もその後盛んに進められている。現実の社会は自分以外のことはわからないので不完全情報である。したがって不完全情報ゲームの方が現実の社会に近いので,傾向としては完全情報ゲームから不完全情報ゲームへと研究は進んでいる。
ShannonとTuringはチェスの探索にゲーム理論でvon Neumannらが開発した「ミニマックス法」(味方はこちらにとって最善の手を,敵はこちらにとって最悪の手を選ぶという方法)を使うことを提案し,このミニマックス法がその後のゲームの探索の基本となった。
ゲームのプログラムを強くするには,
・ミニマックス法を基本とした探索手法の改良
・局面を点数化する(静的)評価関数の精緻化
の2つが求められる。理論的には例外が存在するものの,経験的にほとんどの場合ゲームはより深く先読みした方が強くなるので,同じ時間でできるだけ深く先読みできる探索手法が望ましいことになる。
チェスのプログラムを強くすることを目指してさまざまな工夫が試みられた。ミニマックス法は探索の末端の局面のすべての評価値をしらみつぶしで求めなくてはならないので時間がかかり,その分深く読めないという欠点がある。ミニマックス法と探索結果は同じで,それより効率のよい手法が経験的に開発された。それが「アルファベータ法」である。チェスのプログラムで経験的に使われているのをアルゴリズムとしてまとめたのがKnuthである。Knuthは末端の局面の数がN個のときに,アルファベータ法は最も効果が高い場合に√N個だけ評価値を求めればいいことを明らかにした3)。
アルファベータ法の効果が高くなるのは,展開した探索木が評価関数の値の大きい順番になっているときである。したがって1手先を読むたびに,評価値を計算して大きい順に並べ替えておくのがよいことになる。チェスのプログラムで経験的にそのことがわかり,それが後に反復深化(iterative deepening)という探索手法として定式化された。新しい探索手法の多くはチェスを例題として開発されたといってよい。たとえば,ある指し手の評価値だけが他の評価値とかけ離れているときにその指し手に注目して,その指し手だけをより深く読むという選択的深化(selective deepening),評価値がどの程度信頼できるかを表す共謀数(conspiracy number)とそれを拡張した証明数(proof number)・反証数(disproof number)などが有名である。
探索を効率的に行うためのハッシュ表,ビットマップなどデータ構造の工夫もチェスを通して確立した。チェスは(アルファベータ法を使って)ルール上指せるすべての手を読むという全数探索が有効だったので,スーパーコンピューターやチェス専用マシンを使うことによって探索の速度を上げようという試みが盛んになされた。また並列に探索するアルゴリズムもチェスを例題にして盛んに研究された(アルファベータ法は探索全体をアルファ値,ベータ値によって制御するので並列に探索するには困難があった)。
またチェスは駒の再利用ルールがないので,ゲームの進行に伴って駒の数が単調に減少していく。駒が盤面に数個しか残っていない局面になると,コンピューターは(ほぼ)しらみつぶしの探索によってその局面を解く(双方が最善手を続けたら先手が勝つのか,後手が勝つのか,引き分けになるのかを求める)ことができる。この探索をあらかじめ行ってデータベース化したものが「終盤データベース」である。コンピューターはこれを持っていればこのデータベースに含まれる局面で最善手を指すことができる。1980年代には盤面残り5駒のすべての局面の終盤データベースが作られた。1990年代から2000年代にかけて盤面残り6駒のほとんどの局面の終盤データベースが作られた(その間にコンピューターが世界チャンピオンに勝ってしまったので,終盤データベースを作る意味が薄くなったといえる)。
チェスはコンピューターにとってかなり難しいゲームであったので,チェスよりも場合の数が小さいチェッカー(場合の数は1040),オセロ(場合の数は1060)なども例題として取り上げられた。チェッカーは1994年(その後2007年に理論的に引き分けのゲームであることが判明した)に,オセロは1997年にコンピューターが世界チャンピオンに勝利した。
チェスは何度も人間との対戦を経た後,1997年にDeep Blueが世界チャンピオンのKasparovに勝利した。6回戦勝負で5回戦が終わった時点では,1勝1敗3引き分けのイーブンであったが,最終戦でKasparovが緊張のあまり序盤で大悪手を指して負けてしまった。これはフロック勝ち(まぐれ勝ち)で,この時点ではまだKasparovの実力がDeep Blueに勝っていたと思われる。その後の進歩によりコンピューターは人間より明らかに強くなっている。Deep Blueはスーパーコンピューターにチェス専用マシンを数百台並べた構成であったが,もはやパソコン1台でも人間がかなわないまでになっている。
チェスよりも場合の数が大きいゲームに中国将棋(10150),将棋(10220),囲碁(10360)が存在する。中国将棋は探索問題としてみるとチェスに近い(すでに人間よりもコンピューターの方が強くなっている)が,将棋と囲碁はチェスよりはるかに場合の数が大きく,チェスとは異なる手法が必要なので,チェスに続く例題として適切である。将棋はチェスと同じ敵の重要な駒(キングあるいは玉)を捕まえるゲームであるが,チェスは敵から取った駒が使えないのに対して将棋では敵から取った駒を再利用できる(「持ち駒」制度と呼ばれる)ため,終盤は序盤より分岐数が大きくなる。チェスは収束型(終盤に近づくほど指し手の可能性が低くなる)ゲームであるが,将棋は発散型(いつまでも指し手の可能性が高い)ゲームなのである。
将棋は日本固有のゲームなので,将棋を対象とした研究は当然のこととして日本が中心になった4)~9)。このことが日本におけるゲーム情報学研究を活発にして,ゲーム情報学において,世界で日本が主要な立場を占める原動力になったと思われる。
将棋のプログラムの開発は1970年代に始まったが,当時のコンピューターの能力では将棋はチェスのような全数探索は到底無理だったので,前向き枝刈りの探索手法注1)が盛んに研究された。ミニマックス法(アルファベータ法),反復深化などチェスで有効だった手法で将棋でも使える手法はおよそすべて使った。将棋は発散型ゲームなので,チェスで有効だった終盤データベースの手法は使えない。その代わりに詰め将棋という将棋から派生したパズルを解くアルゴリズムの研究が盛んになされた。詰め将棋の研究は1990年前後から本格的に進められ,その中でさまざまな探索の手法が試された。有効だったのはチェスで提案された(そしてチェスではあまり有効でないとされた)証明数・反証数を用いた手法である。詰め将棋のプログラムは2000年前後にはすでにプロ棋士を超える能力を示した。
評価関数はチェス同様に手作業で作成と改良を行っていたが,チェスの評価関数は駒の損得という明快な基準があったものの,将棋の評価関数は複雑でなかなか強くならなかった。2000年代の半ばに登場した保木邦仁の「ボナンザ(Bonanza)」によってコンピューター将棋は革命的な進歩を遂げた。保木の工夫は,
(1)それまで将棋は前向き枝刈りの探索をしていたのをチェスのように全数探索にした10)。
(2)それまで評価関数は手作業で作っていたのを棋譜からの機械学習で作るようにした11)。
の2点である。この工夫をしたボナンザが圧倒的な強さでコンピューター将棋のトップに立ったので,他の研究者・開発者もこぞってこれらの方法を取り入れた。特に上記の(2)の方法は強豪のプログラムすべてに導入されており,「ボナンザ・メソッド」と呼ばれている。保木はボナンザのアルゴリズムをすぐに公開し,またプログラムのソースコードも無償で公開した。これは後述するようにコンピューターチェスの文化を引き継いだものであるが,研究成果を公開するという習慣がこの研究領域の発展を支えているものと思われる。
2010年代になってコンピューターとプロ棋士が対戦するようになった。2010年には情報処理学会の50周年記念のイベントとして,女流プロ棋士の清水市代女流王将(当時)と合議制のコンピューター将棋「あから2010」が対戦して「あから2010」が勝利した(図1,図2)。2013年,2014年と電王戦と称してプロ棋士5人とプログラム5つが対戦したが,3勝1敗1分け,4勝1敗と,ともにコンピューターが圧勝した。すでにコンピューターはトップクラスのプロ棋士(竜王,名人)のレベルに達したと思われる。今トッププロ棋士とコンピューターが対戦すれば勝率的にはコンピューターが勝ち越す可能性が高い。現在のトップ棋士である羽生善治氏との対戦はすぐに実現しないと思われるので,情報処理学会は2015年10月に,将棋で人間とコンピューターの強さを問うことは学問的には結論が出たという終了宣言を行った。
囲碁は中国発祥のゲームであるが,中国では廃れて日本で盛んになった(今中国で盛んなのは,いわば日本からの逆輸入である)。囲碁は,「他に似たルールのゲームが存在しない」「漢字を使っていないので親しみやすい」などの理由で世界的に普及している。最初にコンピューター囲碁の研究がなされたのは1960年代のドイツである(チェスよりは遅いが将棋より早い)。囲碁もチェスのように探索によって次の手を決めようとしたが,囲碁の場合の数は10360とチェス(や将棋)よりはるかに大きく,普通の探索によってよい手を見つけるには候補手が多すぎて強くならなかった。2000年代になってもまだとても弱い状態であった(初心者レベルよりはましでも,せいぜい初級者レベルであった)。
囲碁にも将棋のボナンザ・メソッドのような革命的な手法が現れた。それが「モンテカルロ木探索」である。この元となったモンテカルロ法はvon Neumannの命名といわれるシミュレーションによって解を求める方法である。1990年代にこれを囲碁に適用するというアイデアが発表されたものの,そのときは成功しなかった。2000年代になってCoulomが「Crazy Stone」という囲碁プログラムの中でモンテカルロ法を応用した(UCTという見込みの高い手を集中的に読むアイデアを付け加えた)モンテカルロ木探索を採用し,このCrazy Stoneが圧倒的な強さを示した。囲碁にモンテカルロ法を適用するということは,ある局面から白と黒が交互にランダムに終局まで打ち進めるというシミュレーションを多数行って,勝つ確率が一番高い手を選ぶということである。そこには囲碁の知識はほとんど何も入っていない。この一見単純な方法(実はUCTなど細かい工夫が重要ではある)で強くなることに驚き,その後の囲碁プログラムはみんなこの方法を取り入れている。それで囲碁プログラムは一気にアマチュアの六段程度の実力に達した12)。
最近までは日本の「ZEN」(これもモンテカルロ木探索を用いている)がCrazy Stoneを抜いて最も強い囲碁プログラムであった。これらのプログラムはまだ互先(たがいせん)(ハンディなし)で戦うのは無理であるが,トッププロ棋士と4子(4個の石をあらかじめ隅の星の位置に置く)のハンディで勝つまでになっていた。トッププロ棋士に勝つのはまだ10年はかかると思われた。そこに2016年1月にGoogleの「AlphaGo」というプログラムが二段のプロ棋士に互先で5戦5勝の成績を上げたと発表して大ニュースになった13)。AlphaGoは,
・深層学習(ディープラーニング)
・モンテカルロ木探索
・強化学習
という3つの手法をうまく組み合わせている。大量のプロ棋士の棋譜をデータとして,深層学習によってある程度の強さのプログラムを作り,そのプログラム同士の強化学習によってさらに強くした。これまでコンピューター囲碁で成功しなかった評価関数を実質的に作ったことがAlphaGoの大きな特徴である。手を決める部分では従来手法であるモンテカルロ木探索を使っている。2016年3月には世界のトップクラスのイ・セドルという韓国人のプロ棋士と対戦して勝ち越して大きな話題になった。事実上囲碁でもコンピューターが人間を抜いたことになる。
二人・零和・有限・完全情報・確定のゲームで世界的に有名なものの中では,囲碁の場合の数が最も大きい。ということでもし囲碁で人間よりもコンピューターの方が強くなってしまえば,もはや残っているゲームは存在しない。前述したように流れとしては完全情報ゲームよりもコンピューターにとって扱いが難しい不完全情報ゲームに関心は移りつつある(囲碁は完全情報ゲームであるが場合の数が10360と圧倒的に大きく,その点で完全情報ゲームと不完全情報ゲームの橋渡しの役割を担っているといえる)。
不完全情報ゲームとしてはバックギャモン,コントラクト・ブリッジ,ポーカー,マージャンなどが研究の題材として取り上げられている。バックギャモンは強化学習によって世界チャンピオンに勝つようなプログラムが開発された(強化学習の成功例として有名である)。コントラクト・ブリッジはトランプのゲームとして世界で最もプレーされているゲームで,探索を含めてさまざまな研究が行われているがまだ人間に追い付いていない。ポーカーはさまざまなルールが存在するが,その一部のルールのポーカーについてはプログラムが世界チャンピオンを破っている(後で述べるように,あるルールのポーカーは「解かれて」いる)。マージャンは日本や中国などで非常に盛んで敵が3人もいる(4人1組)ゲームで,現実の社会に近く例題として優れているが,ギャンブル性が高く不健全な印象がある(マージャンというゲーム自体に罪はないが賭けてプレーされることが多い),世界的にさまざまなルールがあって統一されていない(標準となるルールを仮定しにくい)などの理由で以前は研究が少なかった。最近インターネット上で(賭けない)標準ルールのマージャンが盛んになってきたので,それを対象としたマージャンの研究が盛んになってきた。たとえば多数の牌譜(ぱいふ)(マージャンのプレー記録)のデータをインターネットマージャンから集めていわゆる格言の妥当性を統計的に調べる研究が行われている。
ゲームを解く(一般的な言い方であれば「必勝法を見つける」)のも,探索のよい例題である。(最強の)人間に勝つよりもそのゲームを解く方が一般に探索問題としては難しい。五目並べ(連珠)はハンディなしだと先手がとても有利なので,後手にハンディを与えて対戦するのが普通であるが,ハンディなしの五目並べは先手必勝であることが1990年代に解明されている。オセロの盤面は8×8であるが,それを6×6に小さくした「ミニオセロ」は後手必勝であることが,同じく1990年代に解明されている。8×8の本当のオセロは現在解く試みがなされているが,まだ解かれたという報告はない(おそらく6×6と同様に8×8も後手必勝と想像されている)。チェッカーは1990年代にコンピューターが世界チャンピオンに勝った後に解く試みがなされ,2007年に解かれている(引き分けであることがわかった)。不完全情報ゲームは偶然性があるので完全情報ゲームと同じ意味では解けない(いわゆる「必勝法」は存在しない)が,最適戦略を見つけることを解くと見なせば解くことは可能である。最近ポーカーの一種が解かれている。
ごく最近になって人狼(じんろう)(正式には「汝(なんじ)は人狼なりや?」。英語ではWerewolf)というゲーム注2)がゲーム情報学の研究対象となっている14)。人狼は不完全情報で非対称の多人数ゲームであるが,自然言語によるコミュニケーションが重要な役割を果たしている。今まで対象としてきた思考ゲームとはかなり異なるゲームなので,人狼を対象とした研究によって新たな知見が得られることが期待される。CEDEC(Computer Entertainment Developers Conference)2015では,人狼のプログラム同士が戦う「第1回人狼知能大会」が開催されている。
ゲーム情報学は日本では長いこと疎外され続けてきた。ゲームという遊びを研究の例題にするなどもっての外であるという風潮が強かったためである。一方で米国とヨーロッパはチェスなどのゲームを例題にした研究開発を盛んに進めてきた。例題はゲームであるが,その研究成果はゲーム以外の多くの現実の社会問題に対して広く使われている。ShannonとTuringという2人のコンピューターのパイオニアがチェスを例題にした研究をしたことも大きかったと思われる。日本のコンピューターのパイオニアは,日本には将棋と囲碁という,ゲームの中でもコンピューターにとってとても難しい,すなわちとてもよい例題が存在するのに,見向きもしなかった。日本は長い間それを疎外し続けてきたために,情報処理の極めて大事な部分で大きく出遅れてしまったことを認めなくてはならない。
幸い1999年に情報処理学会にゲームをテーマにした研究会(ゲーム情報学研究会)が発足し,ゲームの中心がチェスから将棋と囲碁に移行してきたこともあって日本にもゲーム情報学の研究者が増えてきて,よい研究成果を出しつつある。かつてチェスがそうであったように,将棋と囲碁を例題とした研究からゲーム以外の現実の社会に適用される研究成果が日本から出ることが強く期待される(たとえばボナンザ・メソッドを将棋以外の対象に適用する試みが始まっている)。
世界的に対象とするゲームが完全情報から不完全情報に移行しつつある(囲碁がちょうどその中間にある)。前述したように不完全情報ゲームの方が現実の社会に近いので,この研究領域が基礎から徐々に応用の方にシフトしていくと思われる。たとえばシミュレーション技術やVR技術などと結び付いて人生のシミュレーションを行うことも視野に入ってくるであろう。
これまでチェスのプログラムはチェスだけ,将棋のプログラムは将棋だけ,であったが,あるゲームのルールを入力すればそのゲームをプレーする(できるだけ強い)プログラムを出力するという汎用ゲームプレー(general game playing)の研究が盛んになりつつある。これは最近盛んになりつつある汎用人工知能(artificial general intelligence)の1つの例であり,今後の人工知能の研究開発の流れを示すものとして注目される。
1981年東京大学理学部情報科学科卒業。1986年同大学院工学系研究科情報工学専攻博士課程修了。同年通商産業省工業技術院電子技術総合研究所(現産業技術総合研究所)入所。2000年公立はこだて未来大学教授。人工知能,ゲーム情報学,観光情報学などに興味を持つ。人工知能学会会長,情報処理学会理事,観光情報学会理事。