Can machines think? [1]
1950年に発表したエッセイ [2] で、Alan Turing は「機械は考えることができるか?」という問いを提案している。
そして、彼が出した答えは「イエス」。オン (=1) とオフ (=0) の2進数の信号をあつかうことが可能で、信号を蓄え処理するのに十分な容量をもち、信号を通して人のつくった命令文のアルゴリズムを実行する機械をつくれば、その機械は考える能力をもつだろう。
(ぼくたちは今、その機械をコンピュータと呼ぶ)
彼の文章やそのアウトラインから、この「イエス」を宣言することに、大きな勇気が必要だったことが読み取れる。彼は、想定される反論を7つにまとめ、その反論への反論にエッセイの3分の1を割いている (その最初が神学からの反論であるところに、当時の彼が置かれていた社会状況が映し出されていると思う。今の日本に暮らす自分の幸運と、Turing らの残した功績の大きさも実感する)。
そしてその反論の中には、分野を超えた新しい研究活動、のちにコンピュータ科学と呼ばれるようになる分野や心理学、生物学などが取り組むべき大きな課題もあげられている。
「考える」を機械に命令する?
仮に上にあげた条件を備えた、人の命令を実行する機械が完成したとしよう。しかし、その機械に「考えなさい」と命令しても動かない。つまり、自然言語では意味のありそうに見える「考える」を、機械は理解できない。機械と人の共通語である命令文 (今のプログラム言語) では、意味が成立していない。では、どのような命令をすれば、機械が考えてくれるのか。
その解決に imitation game を使う。このゲームでは、質問者から見えない場所にいる A と B のうちたとえば A が機械であることを、質問者が、テキスト情報のやりとりだけで言い当てなければならない。機械 A の立場から見ると、質問者の繰出す、ありとあらゆる質問に対し、人である B と見分けられないように答えることができれば、A は質問者に勝利できる。そのためには、機械 A がさまざまな質問に対して、人である B が考え出す答えをうまく模倣 imitation できるような命令文を、設計者が考えればよいのだ。そうすれば、100回目のゲームで機械と見破られた A は、101回のゲーム以降、同じ質問をクリアできる。
この模倣を命令するかんたんな方法は、人である B の答え方を、間のとり方や間違え方まで記録しておき、同じ質問がでたら、その通りに実行することだ。しかし、ここで大きな問題にぶつかる。機械 A の情報処理容量は有限である。だから、単に答え方を記憶していくだけの方法では、質問者が次から次へと新しい質問を考え出し続けていけば、いつか、その機械は記憶容量が足りなくなり、答えを出せなくなる。
記憶容量を大きくしその検索速度を早くするだけでは、「考える」の本質を模倣できないのだ。
有限から無限をつくりだせるか?
つまり、imitation game が提起しているのは、有限の情報処理容量しかもたない自分 (機械) が、無限に想定される質問への答えを生み出し続けるアルゴリズムを見つけられるか、という課題である。
そしてもし、機械に「考える」を実行させる有限の長さのアルゴリズムをつくることができれば、そのアルゴリズムこそ「考える」そのものである。
このエッセイでは、オンとオフの信号をあつかい、蓄えた情報をアルゴリズムにしたがって実行する機械、コンピュータの限りなく大きな価値を説明しているだけでなく、考えるとは何かという問いに答える手段として、機械への命令文を使うことが強力な武器になる、という提案も示されているのだ。
おわりに
以上が、今のぼくの理解である。仕事の合間に少しずつ読んでいるので、今後も、まちがいをみつけたり理解が変わったら、修正するか新しくお話ししたいと考えている。
このアイディアを受けた研究は、その後どれくらい進んだのだろう。この大きな提案は、それからの 60–70 年でどう成長し、あるいは頓挫し、人類はどのような答えを手にしているのだろう。
Turing のこのエッセイは、Mind という学術雑誌で発表されたものだが、多くの人たちに読まれることを意識して書かれたものだと思う。だから、もし興味をもった人がいたら、原文を読むこともおすすめしたい。Turing がここで伝えようとしているアイディアの迫力を、少しでも多くの人に味わってもらえれば、と感じている。
最後に補足を少し。「考える」を理解するために、機械への命令文のアルゴリズムを使うというアプローチは、とても強力であり、他の問題にも応用できる。たとえば「考える」を「進化する」に置き換えれば、生命の進化を理解する道具として使うことができる。
今は常識になった computer simulation という手法も、ここから生まれたのだと思う。一般的にこの手法の役割として、時間や費用がかかりすぎて現実には実行できない実験を、仮想空間で実現できる点が第一にあげられる。しかし、このエッセイから考えると、simulation というアプローチの本質はコンピュータの中での仮想実験という部分だけではなく、その命令文にもあることになる。この言葉中心のアプローチに、ぼくは大きな魅力を感じている。
そして、ぼくたちが今、コンピュータを使う (機械と会話する) ときに利用する道具であるソフトウェアや OS の本質を理解する鍵も、この視点にあるのではないだろうか。
そう。はじめに言葉ありき、なのだ。