コンピューティング史見聞録(12)
ジョン・マッカーシーの発想と発明

2024年2月1日

前回に引き続き、人工知能の父の一人であるジョン・マッカーシーについて触れていこう。

マッカーシーは1950年代半ばに人工知能Artificial Intelligence)という用語を考案し、「ダートマス会議」の中心人物として分野の発展に多く貢献した。
この時代以前にもサイバネティクスという言葉に代表される同様の分野の研究は行われていたのだが、マッカーシーは30歳前にしてここに新たな潮流をもたらす核となったわけである。

ジョン・マッカーシー

■マッカーシーとLisp

マッカーシーは、コンピューティングの歴史に残る「知的な発明」を多く生み出した。彼が学生だった頃はコンピューターを専門の研究分野としていた人はもちろんいなかったわけだが、数学や科学の他分野で訓練を積んだ研究者たちが、培った知見や研究態度をコンピューティングの分野で発揮することによって、異なる考え方を含んだ豊かな土壌が生まれることにつながった。マッカーシーはもともと数学者であり、「概念を徹底的に洗練して、最小限必要な要素のみを抽出する」という数学的な思考法を大いに発揮した。

マッカーシーは、コンピューター上に論理学で使えるプログラミング言語を作れるのか、という議論を同僚と行うための道具として、関数抽象関数適用、そしてデータの「リスト」だけを作ることができる、さらには関数そのものも同じ種類のデータとして表現する、という言語を設計した。マッカーシー自身は、実際にその言語を動作させるつもりで考案したわけではなかったのが、スティーブ・ラッセルという若い「ハッカー」が、マッカーシーが紙の上での議論するために作った仕様が、実はコンピューター上で実装できることに気づき、マッカーシー本人も含めた周囲の懐疑的な目を気にせずに実際に作ってしまった。Lispと名付けられたこのプログラミング言語は、最小限の構文要素と評価規則だけを用意しておき、他に必要となる機能は「自分で作る」という設計になっている。この方針は一見不便なようにも見えるが、逆にいうと必要なものは自分で自由に作れるという「発展性」を与える仕組みであり、黎明期に実装された言語でありながら、現在でも根強いユーザーがいるとともに、「プログラミング言語の設計をするようなプロになるのであれば必ず知っておかなくてはならない」という地位を保っている。

Lispのマニュアルと、有名な「Lispで書かれたLispインタープリターのページ」

■ガーベージコレクションの発明

プログラミング言語処理系を実装する際の技術である「ガーベージ・コレクション」もマッカーシーの発明である。ガーベージ・コレクションは、「メモリーが無限にあると思ってプログラムを書けるとしたらどのようなスタイルのプログラムになるのか」という一方に振り切れた発想を出発点としながらも「言語とシステムの設計が工夫されていれば、二度と使われることがないメモリ領域を機械的に判別することができる」という発明である。現在のプログラミング言語でも重要な機能でありいろいろな改良が行われ続けているが、まずは大元にある「まずはメモリーが無限にあると思ってみよう」という発想が天才的であった。

■タイム・シェアリングという発想

マッカーシーはSAGEシステムの研究をしていたリンカーン研究所にも出入りしており、「実時間でユーザーの入力に応答するコンピューター」がとても素晴らしいものである、ということを理解していた。この経験から、マッカーシーは「タイムシェアリング」という概念を最初期に提唱した一人となった。つまり、コンピューターから見れば、人間がちまちまと行うキーボード入力を待つのは時間の無駄であり、ある人を待っている間に他の人からの入力があれば、それを処理してしまえば、接続している複数の人々にとっては自分が入力した時にはコンピューターが即座に反応してくれているように使うことができる、という発想である。

現在では、人工知能というとニューラル・ネットワークを基本とした、いわば統計的な手法が主流となっているが、マッカーシーは当初から、そして晩年に至るまで論理的な推論を基礎に置いた手法を研究し続けた。その手法による人工知能も1980年代には「エキスパート・システム」という名前がつけられて産業界でも使われるようになり、限られた分野ではそれなりの成功を収めた。ただ、「人間のように考える機械」には程遠いものではあったが。AIに関する手法の違いについては、のちに稿を改めて触れてみたいと思う。

次回掲載予定は2024年3月上旬頃→3月1日に公開しました(こちら

著者:大島芳樹
東京工業大学情報科学科卒、同大学数理・計算科学専攻博士。Walt Disney Imagineering R&D、Twin Sun社、Viewpoints Research Instituteなどを経て、現在はCroquet Corporationで活躍中。アラン・ケイ博士と20年以上に渡ってともに研究・開発を行い、教育システムをはじめとして対話的なアプリケーションを生み出してきた。2021年9月に株式会社京都テキストラボのアドバイザーに就任。2022年8月より静岡大学客員教授。