「情報科学の急速な発展により、また、健康医療分野への行政の後押しもあり、医療の構造に根本的な変革がもたらされることが期待される。コンピュータサイエンスは、医師の知的機能を強化したり、場合によっては、知的機能の大部分を置き換えることになるだろう」

 これは、遡ること40年以上前の1970年、世界的な医学雑誌であるNew England Journal of Medicineに、「Medicine and the Computer」という題名で掲載された論文の冒頭である。コンピュータが人間のように思考する、そして医師などの知的労働を代行する、という発想は、コンピュータが発明されて以来、いや発明される前から、人類が抱いてきたことである。今回は、思考するコンピュータは、どこまで人間である医師に近づいたかについて考察したい。

ボードゲームでコンピュータはどう思考するか?

 「人工知能」あるいは「AI」と聞いて、何を連想するだろうか。ひところはAI家電というジャンルもあったが、一般的な連想では、将棋、囲碁、チェス、オセロなどのボードゲームであろうか。筆者も、時々これらのゲームを楽しんでおり、20年以上前からソフトウエアがどれほど強いのか、興味本位(?)で観察を続けている。以前は「まだまだだな」と余裕で対応できたソフトウエアも、今ではカミソリのような鋭い手を打たれて、思わず絶句してしまうほど強くなった。

 読者の中には詳しい方もいると思うが、ボードゲームの思考エンジンについて簡単にまとめてみたい。概略を説明すると、ボードゲームでのコンピュータの振る舞いは、盤面の探索と盤面の評価の大きく二つの要素からなる。

 まずは、盤面の探索である。図1に三目並べゲームの盤面について図示した。

 1段目は、ゲームが開始されていない盤面である。2段目は、1手目(1ply)における可能性のある盤面を示している。1手目では9マスのどこに「×」を入れても良いので、9通りの可能性がある。

図1●三目並べの盤面の探索。図では1手目と2手目の可能性のある盤面が示されている。盤面の可能性を図示したものをゲーム木(game tree)という。
図1●三目並べの盤面の探索。図では1手目と2手目の可能性のある盤面が示されている。盤面の可能性を図示したものをゲーム木(game tree)という。
[画像のクリックで拡大表示]

 図の3段目は、1手目の盤面の一つについて、可能性のある2手目の盤面を示した。ここでは1つ「×」が入った盤面において、残り8マスから1つを選んで「○」を入れるので、1手目の盤面一つにつき8通りの可能性がある。

 このように、可能性のある盤面を並べた図をゲーム木(game tree)と言い、図の1手目、2手目、のような「手目」を英語でply(プライ)と呼ぶ。三目並べでは、マスの数と打つ手(×か○)が限られているため、全ての盤面の可能性を網羅することが容易にできる。

 盤面の可能性の数について、三目並べでは1000(=103)程度とされるが、オセロで1028、チェスで1050、将棋で1069(一説には10220とも)、囲碁(19路盤)では10170と推定されている(『コンピュータ囲碁』 松原仁編 共立出版)。

 盤面の評価は、可能性のある盤面のうち、どの盤面を選択するのが最も有利かを計算することになる。どのような計算方法や値をもって「有利」とするかは、ゲームの種類によって異なるし、当然ながらソフトウエアの「強さ」を決める要因となる。

 さて、コンピュータが人間に勝利するためには、何手先まで読めばよいのだろうか。囲碁や将棋は、まだまだ人間に分があるようだが、人間がコンピュータにほぼ勝つことができなくなってしまったチェスを例に挙げよう。IBMのスーパーコンピュータDeepBlueが、1997年にチェスの世界チャンピオンに勝利したことは、多くの人の記憶に残っているのではないだろうか(実際には2勝1敗3引き分け)。この対局においてDeepBlueは、平均で6~16ply、最高で40plyまで深く先を読んでいたと報告されている。

 ここで念のため説明するが、ボードゲームにおいてコンピュータが思考する、とは、可能性のある盤面を網羅的に並べ上げ(=検索空間の生成)、それらを点数付け(=評価)しながら、一番得点の高い盤面を選択(=検索)していることを指す。