フォン・ノイマン型から非フォン・ノイマン型へ

プロジェクトの基本理念−再説

ICOT・研究所所長 / 渕 一博



1984年11月に第2回「第五世代コンピュータ国際会議」が東京の京王 プラザホテルにおいて、内外の関係者約1100人の参加で開かれた。プロ ジェクト前期の総括とともに、中期に向けての開発課題について抱負を語っ たのが、この基調講演であった。前期で開発した逐次型推論マシンPSIを ベースに、プロジェクトは中期へと進んでいく。

述語論理をベースに仮説の証明

 本日から始まります国際会議に、世界各国から 多数の皆様がご出席いただきまして、主催者の一 人であります私としても非常に大きな喜びであり ます。

 私の話は、今日の午後から始まりますICOT プロジェクトの成果報告に先だち、その前置きと して、このプロジェクトのスタートにあたる基本 理念、技術的な枠組みについてそれをふり返って みたいと思います。前回の国際会議から3年経っ ており、また、プロジェクトがスタートしまして、 2年半経っているわけではあります。

 ひとことで申し上げますと、2年半ないしは3 年の私たちの体験というのは、当初に立てました 基本理念というものに対して、私たちの確信を深 めさせるものがあったと言ってもよろしいかと思 います。

 私たちの考えの基本には、コンピュータの歴史 の中で、次の第二の新しい時代が来るであろうと、 そして、その新しい時代に向けての準備をしなけ ればならないというのが、このプロジェクトだと 思っているわけであります。現在のコンピュータ の技術の体系、技術的な枠組みというものに、い ろいろな限界があるということについては、多く の人々が指摘しているわけでありますけれども、 私たちはその限界というだけではなくて、次の新 しい技術的な枠組みの可能性が見えてきたという ふうに判断したわけであります。もちろん、私た ちが提案した枠組みというのは、可能性の指摘で あります。

 したがって、仮説であるわけです。仮説である ということは、証明されていないということであ りまして、この仮説の証明をしようというのが、 このプロジェクトであると申し上げてもよろしい かと思います。私たちの仮説に対して、もちろん、 賛否両論がありますが、この3年ほどの体験とい うのは、私たちの中だけではなく、世界中に同じ 方向に対しての賛同者、理解者というものが、非 常に増えてきたということだと思うわけでありま す。いろいろな意味で、私たちのプロジェクト、 あるいは、私たちの提案というのが世界中にセン セーションを引き起こしたということがあります。 これは理解と同時に多くの誤解を引き起こしたわ けでありますけれども、いずれにしても、賛否両 論ということで大きなセンセーションを引き起こ したということは、やはり、基本的に言いますと、 多くの人々が、この次の、新しい時代への予感を 意識的に、あるいは無意識的に持っていたと、そ ういうところに、一つの刺激となったのでないか と、思っているわけであります。そういう意味で は、これももちろん証明ではありませんけれども、 多くの人々が、ある種の未来への予感を持ってい たというふうに言っていいと思いますし、それ自 体、一つの傍証になるんではないかと思うわけで あります。

 どういう技術的な枠組みであるかということに ついて、3年前にも申し上げましたし、その後、 いろいろ申し上げているわけでありまして、いま さらということもあるかと思いますけれども簡単 に復習させていただきますと、一番基本的な枠組 みというのは、これは非常に単純化した言い方で すが、述語論理と呼ばれる論理体系をべースにし まして、コンピュータのハードウェアとソフトウェ アの体系を再構築していこうということでありま す。 そういうことで、私たちの考えでの第五世代コン ピュータというのは、非常に単純化して申し上げ ると、述語推論マシン、あるいは推論マシンと言 っていいかと思うわけであります。現在のコンピ ュータには、機械語というものがありますけれど も、その機械語に相当するものとして、私たちは 核言語というレベルの言語を設定しようとしてお ります。この機械語というのは、コンピュータの 基本的な構成、アーキテクチャというものを規定 するものでありまして、現在の機械語というもの は、いわゆるフォン・ノイマン方式というものの 特徴を集中的に表しているわけですが、私たちの 構図では、この機械語に相当する核言語というと ころで、この、新しい考えを表していきたいとい うふうに思っているわけであります。

 こういう核言語に対して述語論理をもとにした 新しいプログラム言語、新しい言語を設定しよう ということであります。そういうものがうまく設 定できますと、それを実現するマシンとして、新 しいコンピュータが考えられると思います。それ には、並列処理であるとか、あるいは、連想的な 検索というものが、一つの必要な非常に有効なも のになってくる。そういうことで、いわゆるフォ ン・ノイマン型から、非フォン・ノイマン型へ進 む一つの道を見い出せるのではないかと、そうい うふうに思うわけです。

人工知能応用の新しい技術基盤

 一方、ソフトウェアに関しましては、新しいレ ベルの核言語というものをべースに、その上で、 ソフトウェアを構築していく。つまり、現在のレ ベルよりは非常に高い水準から出発する。したが って、ソフトウェアとしては、非常に高い機能ま でのぼっていけるというふうに考えるわけです。 そういう能力を生かしまして、自然言語の扱いと か、あるいは、知識処理というものをより有効に 実現していくべースを作っておきたい。というの は、非常に簡単でありますけれども、私たちの構 図であるわけであります。先ほど申し上げました ように、この構図というのは仮説でありまして、 いわば、作業仮説であるわけです。しかし、仮説 と言いましても適当に選んだというつもりではあ りません。むしろ、情報処理の研究分野で、これ までいろいろ研究されてきたこと、それから、そ れを取り巻くいろいろな関連技術の動向、あるい は社会的なニーズというものを総合して、その中 からしぼり出した仮説だと、私たちは思っている わけであります。いろいろな分野が関係するわけ でありますけれども、一つの大きな分野というの は、いわゆる人工知能の分野であります。

 この人工知能というもの、あるいは、その応用 というものが、将来の情報処理の世界にとって非 常に大きな意味をもつということは、いろいろな 人々が言っておられるわけであります。私どもも、 そのとおりだと思い、そういう新しい応用に向け ての技術的なべースを作っていくべきであろうと いうことが基本にあるわけです。

 ただ、この数年、人工知能の応用ということに 関しては、いわゆるAIビジネスというものが、と りざたされておりまして、一つの産業になろうと しているわけであります。このこと自体は、非常 に喜ばしいし、いいことだと思いますけれども、 私たちのプロジェクトの関連でいいますと、私ど もの立場は、このAIビジネスに対して直接かかわ ることはないと言っていいと思うわけであります。

現在のAIビジネスというのは、ベースになるマシ ンとしては、現在のコンピュータの上で構築され ているわけです。それはそれなりに有効性があり ますけれども、いずれ限界が来る。そのため人工 知能の持っている本来的な意義を、さらに未来に 向けて伸ばすためには、新しい技術的基盤が必要 だというのが、私たちの立場でありまして、そう いう基盤を作るべく努力する。将来、人工知能の 応用がより健全に大きく発展していくためのべー スを作っていくということに、われわれの問題意 識があると言っていいと思います。

 私達のプロジェクトというのは、人工知能の問 題に深くかかわっておりますけれども、人工知能 プロジェクトそのものではありません。あるいは 人工知能の応用としての知識工学、ないしはエキ スパートシステムのプロジェクトそのものでもあ りません。人工知能という研究のゴールは、我々 の知能のメカニズムの解明ということでありまし て、これは非常に高い目標であります。これは、 10年〜20年で解明されるというほど、私は楽観的 ではありません。非常に基礎的な研究が多数積み 上げられて、21世紀には、かなりのことがわかっ てくるかもしれないというふうに思うわけであり ます。また、そういう意味では、非常に息の長い 努力を必要とすると思います。

 エキスパートシステム、知識工学といいますと、 これは様々な応用分野に広がっていくわけであり ます。応用分野との関連で、新しい技術の検証を するということは、非常に大事ではありますけれ ども、すべての分野についてのエキスパートシス テムを作るということは、一つのプロジェクトで は不可能でありまして、これはいろいろな立場の 世界中の人々の努力の総和として進んでいくもの であると思います。そういうことで、非常に人工 知能の問題に深くかかわっておりますが、その人 工知能プロジェクトであるというふうに、単純に 言うことはできないと思います。

新しいアーキテクチャの コンピュータ開発

 次に関連します分野は、ソフトウェア工学の問 題でありまして、先ほどお話が出ましたようにソ フトウェアの生産性向上というのは、非常に大き な問題になりつつあります。そのために、それは 現在の問題でもありますから、そのためにいろい ろな、多彩な努力が必要であると思います。しか しながら、私たちのプロジェクトは、そういうい ろいろな努力の中の一つとして、将来を見通した 一つのアプローチを進めていきたいというふうに 思っているわけであります。したがって、現在の 段階ではいわゆるUNIXであるとか、新しい言語と いうものが、現実面では話題にのぼって当然だと 思いますけれども、私たちのプロジェクトには、 ADAというような言語というものは対象にならな い、もっと将来的な高いレベルの言語を追求して いこうというふうに思っているわけです。このソ フトウュアの生産性の問題をかなり画期的に改善 させるためには、単にソフトウェアの作り方だけ ではなくて、それを支えるハードウェアの助けも 必要になるわけであります。そういうことで、こ のハードウェアおよびソフトウェアを含めた一つ の新しい体系を確立するように努力していこうと いうのが、私たちのプロジェクトであると言って いいと思います。

 私たちのプロジェクトは、新しい時代のための ソフトウェア工学のプロジェクトである、そうい うふうに言っても間違いないと思いますが、それ を支える新しいアーキテクチャを持ったコンピュ ータの開発が必要であるというふうに言えると思 います。

 この新しいコンピュータのアーキテクチャの問 題に関しては、いろいろな提案が、最近出てきつ つあります。これらの著しい特徴というのは、単 に新しい並列処理方式というだけではなくて、新 しい言語との結びつきというものが強調されてい るわけであります。

 関数型言語との結びつき、あるいは関係型言語 との結びつき、あるいは対象指向型言語との結び つきというものが、非常に意識されているわけで あります。そういうことで研究の大きな流れの中 でもソフトウェアとハードウェアの密接な関連と いうものが生まれてきておりますし、ソフトウェ ア的な分野の中でもソフトウェア工学と人工知能 的なアプローチというのが融合してきているとい うふうに言えるわけであります。そういうことで、 コンピュータ技術を構成するいろいろな要素とい うものが、新しいベクトルをもってきている。 それは発散していくベクトルではなくて、10年後 か10数年後か、そこは定かではありませんが、そ の頃に一つの方向に融合していく、そういうベク トルであると私たちは観察しているわけでありま す。

Prologを出発点に

 いろいろな分野に関連しておりますけれども、 強調したいのは、この部分的な分野での可能性の 追求、これも必要なんですが、それだけではなく て全体を通した構図が描けるかどうかという、そ ういう発想ではないかと、そういう発想が必要で はないかと思うわけです。たとえば、非常に局部 的な分野で言いますと、知識を表現するための知 識表現言語という分野では、いろいろな提案があ ってもおかしくはない、あるいはアーキテクチャ のところで、いろいろな提案があってもおかしく ないわけです。あるいはプログラミングという場 面だけ取り上げていろいろな言語の可能性という ものがあってもいいわけです。しかしながら、そ ういう分野を全体として統一できるような考え方 があるかどうかという発想が必要だと思うわけで す。私たちとしては、そういうものが見えてきた と思っているわけでありますけれども、もちろん、 まだ見えないという意見があってもおかしくはあ りませんが、もし、見えないとすれば、それは現 在の体系が続いていくということでありますけれ ども、あるいは、だんだん賛同者が増えてきてい ると思いますけれども、そういう新しい可能性と いうのがより強く見えるようになってきたと、い うふうに言っていいと思います。この辺の議論に 関しまして、一番議論が集中しますのは、先ほど 申し上げた核言語というものの設定についてであ ります。

 一つは、私たちは、この核言語をソフトウェア とハードウェァを結ぶ一種の機械語のレベルだと 想定しているわけですけれども、これを将来とも、 ユーザが使うユーザ言語の提案だと思った議論と いうものもあるわけです。これは一種の誤解だと 申し上げていいかと思いますが、ユーザ言語とし て、我々が追究しようとしている論理型言語とい うものが、いいかどうかという議論がありますが、 これはそういう議論も必要ですが、必ずしも私た ちの設定と合っている議論ではないと思います。 それから、同じことですけれども、私たちの、こ の論理型言語の追究にあたって、基本として、 Prologというものを出発点にしたわけであります。 ところが、このPrologを最終的な解答として未来 に向けて、これが最終的な解答だと思っていろい ろ議論される方も結構多いわけです。これは、や はり私どもの意図が伝わっていないのではないか と思います。私たちは、当初から、このPrologを 出発点にしていますが、それには多くの拡張・改 良が必要だということを申し上げているわけです。

 それから、このPrologをべースにして出発した とか、あるいは論理型言語というものの枠組みを 取り上げたいということは、他のもの、他のアイ デアを排除するものではないわけです。たとえば、 関数型言語とか、対象指向型言語というのは、非 常に魅力的な特徴をもっているわけであります。

 私たちの考えは、これらの新しい方向へ向けて の言語というのは、いずれ一つの共通の基盤を持 って融合されるであろうということです。私たち の論理型言語の提案というのは、対象指向型言語 とか、関数型言語を排除しているものではないわ けです。むしろ、私たちの気持ちを言うとすれば、 この三者を融合する基盤として、論理型言語とい うのが一番基本的ではなかろうかという仮説を申 し上げているというふうに思っていただきたいと 思います。これも、もちろん仮説でありますから、 少し研究が進んでいけば、また、改定が必要かも しれませんが、しかし、現在までのところでは、 そういう仮説が、なかなか有効ではないかと思っ ているわけであります。

逐次型推論マシンPSI 開発の意味

 私たちが、このプロジェクトの前期段階の中で 行ってきた活動に即して、考えてみたいと思いま す。

 ご承知のように、この逐次型推論マシンという ものを、前期において私たちは開発してきたわけ ですが、この目的は、中期以降の研究のためのツ ールであります。しかしながら、その設計にはも ちろん私たちの基本的な考えというものを盛り込 もうとしているわけであります。逐次型推論マシ ンの機械語としまして、KL0という言語を設定し ました。これは、プロジェクトのスタート直後に 設定したわけであります。そういうKL0、核言語 第0版というものを機械語とする逐次型マシンと して逐次型推論マシンを設定してきたわけであり ます。このKL0というのは、拡張Prologと申し上 げていいわけです。しかし、先ほど申し上げまし たように、このKL0というのは、機械語という設 定なわけであります。したがって、この新しい我 々のマシンに対するソフトウェア構築のために、 そういうシステムプログラムのために、私たちは、 ESPという、少し高いレベルの言語を設定してお ります。これは、たとえてみれば、現在の機械語 に対して、マクロアセンブラがあるようなもので して、KL0に対する一種のマクロアセンブラ的な 位置付けだと言っていいと思います。このESPに は、関数型のノーテーションとか、あるいは対象 指向型の書き方というものが取り入れられており ます。そういう言語を使いまして、現在、逐次型 推論マシン、PSIと呼ばれるマシンのオペレーティ ングシステム(OS)をも開発しつつあるわけです。

 このおおよそのプログラムというのはすべて ESPで書かれています。これは、この会場、あるい は次週のICOT研究所のオープンハウスで行うデモ ンストレーションで見ていただけると思いますけ れども、この論理型言語で制御プログラムを書く 一つの大きな実験になっていると思います。 このSIMPOSと呼ばれるOSも、必ずしも小さなプロ グラムではありませんで、かなり大規模なプログ ラムであります。しかも、オペレーティングシス テムのコントロール部分というのは、いろいろ細 かい制御を書かなければいけないんですけれど、 そういうものも、このESPというものを使って書 きつつあるということです。このESPを使ったとい うことは、このSIMPOSというOSを作るのに、非常 に有効であったと思います。それから、この、生 産性だけではなくて、できつつあるものの効率と いうものも、そう悪くはないと見ていただけると 思います。

 このKL0、それをマシン語とするPSIマシンの設 計、それからESPという言語の設定、それを使った SIMPOSの構築というような私たちの体験というの は、いろいろな批判に対する一つの答えになるの ではないかと思います。受けた質問ないしは批判 の一つは、論理型言語でコントロールプログラム は書けないのではないかということがありますけ れども、私たちは、それに対する一つの試みをし ている。それから、そういう論理型言語では、大 きなプログラムは書けないのではないかという意 見もありますけれども、それに対する一つの答え になると思います。もちろん、私たちの作業とい うのは進行中でありまして、まだ、大きなアプリ ケーションプログラムというのをのせる段階には 至っていませんけれども、現段階で申し上げれば、 いろいろな、次の、これからの展開に対する素材 を皆様にも提供できているのではないかと思うわ けであります。

中期に向けて核言語KL1の開発

私たちの研究は、もちろんPSIだけではありません で、いろいろなものを含んでおります。このKL0 核言語にしましても、中期に向けて、より高度な 機能をもたせるために、KL1というものの検討を進 めております。KL1の中には、並列性をもっと自然 に取り込むとか、そういうことが試みられている わけであります。それから、KL1というレベルだけ ではなくて、知識表現、あるいは自然言語の意味 表現という観点から、その核言語の上にのった、 より高い水準の知識表現言語、あるいは、知識プ ログラミング言語というものの研究も進めている わけであります。

 核言語の関連で、よく議論されることの一つは、 なぜPrologで、なぜLispでないかという、非常に 単純な質問がありますけれども、これは議論しま すと長くなりますが、ひとことだけ申し上げます と、Lispは、関数型言語であるという意味では、 私たちは大いに評価しているわけでありまして、 関数型言語と論理型言語というものの融合をめざ さなきゃいけないという立場からしますと、そこ に対立的な関係は、本来はないと思います。ただ、 よく議論されておりますのは、非常に近未来の実 用化システムを作るのに、どっちがいいかという 議論と、将来の新しい技術を作るための作業仮説 として、何がいいかという議論が混同されて議論 されていると、私は感じられるわけであります。

 近未来に実用的システムを作って商用化すると いう観点からは、まだ、いろいろな選択があって 当然だと思います。しかしながら、そういう議論 と、ハードウュア、ソフトウェアを含めたものに 対して、新しい技術的な枠組みの可能性を追究し ようという立場というのは、必ずしも同じではな いわけであります。新しいものを生み出す努力を するためには、私の考えでは、むしろ、非常にす っきりした作業仮説をもっているべきであろうと 思うわけです。

 日本の中では、いろいろな妥協することという のが美徳とされておりますけれども、いろいろな ものを混ぜこぜに含みつつ、非常に革新的なもの をねらうというのは、ただでさえ難しい目標をも っと難しくするものだと私は思うわけです。

 我々は、少し割り切りすぎかと思いますけれど も、理論的な立場から、一番有望であると思われ る仮説をまず取り上げると、それを追究すること によって、あるいはその可能性、あるいはその限 界というものが見えてくるだろう、それをもとに フィードバックをかけていくべきではないかと、 そういうふうに思うわけであります。

 いろいろな議論を、この3年間も、多くの人から いただいたわけですが、そういう議論というのは 私たちの考えをより豊かにする材料にもなったわ けであります。それから、これからの展開のため のいろいろな問題点というものを提起してもらっ たとも思っております。

 しかしながら、私として強調したいのは、基本 的なフィロソフィーというものに対して、私たち は、3年前より、より多くの、より強い確信を持っ てきているということであります。このことは、 単に私たちが、2年半プロジェクトを進めてきた ということだけではありません。むしろ、それを 含みますが、世界中で直接、間接に関連するいろ いろな研究が活発化してきた、特にこの2〜3年 活発化してきた。そういうものが、実は、やはり 私たちの構想の内容を豊かにするのに、やはり大 きく助けになっているわけです。そういう世界中 での新しい活動の活発化というものをべースにし て私たちが想定した路線というものの正しさを私 たちは私たちなりに確信を深めているというふう に言ってよろしいかと思います。

 来年から、私たちの中期の段階に入るわけです が、この中期の段階というのは、このプロジェク トの中で一番むずかしいステージだと、私たちは 思っております。前期というのは、中期のために 基本的な通路を整備するとか、あるいは、そのた めの基礎的な研究を展開するということで一種の 準備であったと思います。

中期の課題ー並列型 推論マシンの開発へ

 本来のねらいである並列型推論マシンの研究で あるとか、あるいは、その上に立ったより高度の 推論機能をもとにした問題解決システムの追究と いうようなことは、中期の大きな課題であります。 これは、必ずしも容易でないということは、その 当初から予想していたことでありますし、皆様も ご覧になるかと思いますが、そういう困難な課題 に挑戦していかなければいけないというわけであ ります。そのためには、そのために必要なことの 一つは、自分たちが言っていた基本理論というも のをもう一度ふり返ってみて、それをより明確な 形で設定することだと思うわけであります。そう いうことで、あえて長々とお話ししたわけであり ますけれども、中期の展開にもこの基本理念の再 確認というものが大事なことだと、私は思ってい るわけであります。また、私たちのプロジェクト は何を含んでいるか、何をねらっているかという ことを、正しく多くの人に理解していただくとい うことが必要なわけであります。そして、新しい 時代に向けて世界中の人々が協力していく必要が あります。

 したがって、国際的な協力というものが必要で あるということでありますけれども、この国際的 な協力のための一つの大きな前提というのは、我 々は何をめざしているのかということをお互いに、 よくわかり合うことだと思うわけであります。一 番大事なことは、近未来で産業レベル、ビジネス レベルでのコンペティションではなくて、新しい 時代へ向けて、新しい技術的な体系が構築できる かどうかという、非常に大きな仮説に対して世界 中の人々が一致協力して、そういう問題を追究し ていくことだと言っていいと思うわけであります。

 これは、もちろん、だれかがだれかを強制する というものではなくて、個人レベルでもそうでし ょうし、国レベルでもそうだと思いますけれども、 それぞれの立場における自発的な努力というもの が非常に大事な前提だと思いますが、そういうも のを前提として大きな協力体制ができていくと私 は信じているわけであります。そういうことで何 度も申し上げていることを繰り返したことになっ たかもしれませんけれども、この第2回の、実質 的には第1回のFGCS'84国際会議の最初にあたりま して、私たちが立てた基本理念を振り返ってみた わけであります。本日以降、私たちのプロジェク トの成果発表、それから世界中での、いろいろな 研究の発表というものが行われます、そういうも のが私たちの願いであり、この新しい時代に向け ての大きな新しい努力に対して、非常に大きな役 割を持つことを期待しまして、私の話を終えさせ ていただきたいと思います。

どうも、ご清聴ありがとうございました。