第五世代コンピュータ
第五世代コンピュータ(だいごせだいコンピュータ)計画とは、当時の通商産業省(現経済産業省)所管の新世代コンピュータ技術開発機構(ICOT)が、1982年から1992年にかけて進めた国家プロジェクトである。いわゆる人工知能コンピュータの開発が目的にされており、総額で540億円の国家予算が投入されている。非ノイマン型計算ハードウェア、知識情報処理ソフトウェア、並行論理プログラミング言語がプロジェクトの三本柱とされた。このプロジェクトの結果には賛否両論があるが、実用的なアプリケーションの生産段階まで進捗できなかったという点で概ね否定的に論評される傾向がある。他方で論理プログラミング研究による学術振興をもたらして情報工学の後進育成に寄与したとする肯定的な見方もあるが、国際学会では日本の研究成果が注目されたとは言い難く、日本が特に研究したPrologのISO規格化の際にもそれほど大きな影響力を持てなかった。
第五世代とはICOTが定義した電子計算機の分類に由来しており、第一世代(真空管)、第二世代(トランジスタ)、第三世代(集積回路)、第四世代(大規模集積回路)に続く、人工知能対応の次世代技術を意味していた。
1970年代後半になると日本のコンピュータ産業の輸出を含めた市場規模は当時の金額でおよそ2兆円まで成長した。通産省は1983年頃まで国内のコンピュータ開発企業に助成金を出していたが、その成熟に伴い従来のままの産業振興の意義が問われるようになっていた。日本のコンピュータ技術は一定の先進性を確立していたとはいえ、IBMのコピーキャットに甘んじていたのが実情であった。IBM互換機の輸出で利益拡大を続ける日本への風当たりも強くなっており、1982年にはかのIBM産業スパイ事件が発生している。IBMテクノロジへの過度の依存から脱するための国産コンピュータ技術の確立が望まれるようになり、1970年代当時もブームになっていた人工知能(AI)がそのスローガンにされ、IBMマシンに追い付き追い越すことを目標にした人工知能対応の新世代コンピュータ開発構想が産学官の間で浮上した。これは人工知能アルゴリズムに対して最適な計算ハードウェア構成にすることを意味していたので、まず人工知能ソフトウェア技術を確立することが計画の最要点になった。
1979年から具体的計画が進められ、その担い手となる電子技術総合研究所(現:産業技術総合研究所)の渕一博博士らは、論理型言語「Prolog」の潜在力に大きく注目していた。当時の人工知能研究の主流は関数型プログラミング言語「LISP」であったが、欧米の後追いをせずに日本独自の人工知能技術の確立を望んだ電総研は、論理プログラミングの選択を提唱した。これは自然言語処理など特定の推論分野への有用性は知られていたが、人工知能分野に対しては全くの未知数であった。論理型言語の中でもPrologは、特に簡素化された言わばBASIC的な言語であったので、その採用は取り分け欧米の研究者たちからは前衛的に受け止められた。
この人工知能対応の国産コンピュータ技術開発構想は、1970年代半ばに丁度確立されていた第四世代コンピュータ技術の更に一歩先を行くという展望から、第五世代コンピュータと命名された。プロジェクトが動き出した1981年、京王プラザホテルで第五世代コンピュータシステム国際会議(FGCS1981)が開催された。招待された欧米の研究者たちに日本側の抱負が語られ、同時に意見が求められた。人工知能研究の第一人者であったファイゲンバウム博士からの「何故すでに二十年来の研究実績があるLISPではないのか?」という問いかけに、渕博士は「私たちは技術的に若いがゆえに何でも取り入れる柔軟さがある」と答え、先方の二十年来のLISP研究を知識の硬直化になぞらえた上で、日本はその既存概念に捉われないというスタンスが表明された。
1982年に通産省所管の新世代コンピュータ技術開発機構(ICOT)が設立され、第五世代コンピュータ計画が始動された。人工知能ソフトウェアは知識情報処理と定義され、それを運用するための計算ハードウェアは要素プロセッサを並列的に搭載した並列推論マシンと定義された。計画の要点である人工知能構築にはPrologベースの並行論理プログラミングが採用された。多額の開発研究予算と各企業からの推薦人材が集まった一大プロジェクトの始動後まもなくして、ICOTの目標がより具体化され「述語論理を基礎にした自動推論を高速実行する並列推論マシンとそのOSを構築する」というものになった。プロジェクトの目標はいつの間にか鳴り物入りの人工知能から、その一分野である自動推論へとシフトされていた。
FGCS1981において通産省側は数々の意欲的な目標を掲げており、それらはいずれも人間の頭脳を超えるための人工知能の開発に集約されるものであった。例を挙げると、医学診断や金融判断や高度な機械制御に役立てられるエキスパートシステム、機械翻訳や言語解析を支える自然言語処理などである。他方でICOT側はプロジェクトの早い時期から、並行論理プログラムを実践するための並列推論マシンの開発が目標であると明言しており、プラットフォームが高性能化すれば自然にその応用(アプリケーション)も生産されていくだろうと考えていた。企画側と運営側の間に齟齬があったことは否めない。通産省側の意欲的な説明には、人工知能分野で高名な計算機科学者エドワード・ファイゲンバウムらが興味を示していた。当時の欧米の受け取り方は「日本が官民一体で高度な人工知能マシンの開発を試みている」というものだった。また朝日新聞などのマスコミも大々的に取り上げた。
1992年、およそ11年の歳月と540億円の予算が費やされたプロジェクトの完遂後に判明したのは、今後の有益なアプリケーションの実装と運用が期待される将来性を後世に託した並列推論マシンの数々のモデルと、その専用オペレーティングシステムと、日本独自の並行論理プログラミング言語だけが誕生したという事実であった。ICOT側が掲げていた目標は達成されていたが、産業分野や学術分野への具体的な活用方法は示されておらず、自動推論に必要な肝心の知識情報データベースの構築方法も、それぞれの運用現場への宿題にされたままだった。日本は10年の歳月をPrologと並行論理の研究に費やしたが、論理プログラミングの国際学会では日本の研究成果が注目されたとは言い難く、PrologのISO規格化の場でも大きな影響力を持てなかった。
IDC社のウィリアム・ザックマンは「The Japanese Give Up on New Wave of Computers」(International Tribune、東京版、1992年6月2日)で次のように述べている。AI型の応用の進展を阻んでいるのは、十分な知性を持った AI ソフトウェアが存在しないからであって、強力な推論マシンがないからではない。AI型の応用(アプリケーション・ソフトウェア)が既にたくさんあって、第五世代コンピュータのような強力な推論エンジン(ハードウェア)の出現を待ちわびていると思うのは間違いだ。また、ファイゲンバウムの談話として同じ記事で以下のように述べられている。第5世代は、一般市場向けの応用がなく、失敗に終わった。金をかけてパーティを開いたが、客が誰も来なかったようなもので、日本のメーカはこのプロジェクトを受け入れなかった。技術面では本当に成功したのに、画期的な応用を創造しなかったからだ。第五世代コンピュータの顛末は、同時期のΣプロジェクトと同様に、目に見える物作りのハードウェアの価値のみを重んじて、目に見えない抽象的なソフトウェアの価値を理解し得なかった当時の日本型思考に起因していたと言える。ビギナー論理型言語Prologが採用されて、それを並列推論マシンで運用すれば人工知能に化けると考えられたのも同様であった。
1982年: (財)新世代コンピュータ開発機構(ICOT)設立。第五世代コンピュータプロジェクトが開始され、5年分の予算が与えられた。
1985年: 最初の個人用逐次推論マシン PSI(Personal Sequential Inference Machine、パーソナルPIMとも)とそのオペレーティングシステム SIMPOS(SIM Programming and Operating System)がリリースされた。SIMPOS は Prologにオブジェクト指向プログラミングを取り入れた ESP で記述されていた。
1987年: 複数台のPSIを相互接続した形態の最初の並列推論マシン PIM(Parallel Inference Machine)が構築された。プロジェクトはさらに5年分の予算を与えられた。核となる言語も Guarded Horn Clauses(GHC)に基づいた KL1 にバージョンアップされ、OS は PIM の OS ということで PIMOS と名づけられた。
1991年: 実際に動作する PIM が完成した。
1992年: プロジェクトは当初の予定から一年延長され、この年に終了した。PIMOS のソースコードはパブリックドメインとして公開されたが、PIM でしか動作しないものだったため、KL1 を一般のUNIXマシンで動作させるためのプロジェクトが別途開始された。その成果はKLICとして公開されている。
PSI(Personal Sequential Inference Machine):シングルユーサー向けの逐次推論マシン
PSI-I:最初の逐次推論マシン。30KLIPS(Logical Inference Per Second、三段論法的推論を一秒間に実行できる回数)。CPUはワンチップ化されていない。
PSI-II:PSI-I のCPUをVLSI化して小型化・高速化したバージョン。
PSI-III:
CHI(Co-operative High-performance Inference machine)
CHI-I:285KLIPS
CHI-II:490KLIPS
PIM(Parallel Inference Machine):並列推論マシン
PIM/p:512プロセッサ(RISC)
PIM/m:256プロセッサ(CISC)
PIM/c:256プロセッサ(CISC)
PIM/k:16プロセッサ(RISC)
PIM/i:16プロセッサ(LIW)
KL0:PSIの機械語に相当する言語。
ESP:PSIのシステム記述言語
KL1:並列型言語
SIMPOS:PSIのOS
PIMOS:PIMのOS
並列データベースマネジメントシステム Kappa
並列VLSI-CADシステム