General Problem Solverは1957年にAlan NewellとHerbert Simonによって開発され、確実に問題を記述するできれば、すべての問題を解決するたった一つのコンピュータプログラムという壮大なvisionを与えられました。GPSが紹介されたたときにひきおこした混乱によって、知性マシンの偉大な時代がやってきたとAIのことを考えた人々もいました。SimonはGPSについてこう述懐しています
ショックを与えたかったんじゃないんだ。...でも、一番簡単にまとめようとすると、マシンが考え、学び、創造するということだった。もっと言えばその能力はどんどんすごい勢いで増大していく...未来においては、それらの扱うことのできる問題が人類の知性の広がりと同じだけのもつようになる、ということだ。
けれども重要なプログラムの歴史的な問題のせいで、GPSはその誇張された期待には応えられませんでした。最初のプログラムは解決の戦略的と問題の知識が分割されておらず、それが問題解決のための調査に拍車をかけました。これらすべての理由が学習にからみあったのです。
オリジナルのGPSプログラムほかにもいくつか小さな問題がありました。さらに、それあIPLという低レベルの言語で記述されていて、それが余計に複雑にしていました。事実、GPSにおける理由のおおきなものに、IPLによって起きる混乱がありました。プログラムが複雑であれば、それはより重要になります。オリジナルのプログラムを無視してCommonLispにおきかえれば、IPLを使うより明快になるでしょう。その結果、GPSはかなりシンプルになり、AIのいくつかの重要な点が明らかにされました。
一つの1レベルとして、この章ではGPSを扱います。しかし、もう一つのレベルとしてAIコンピュータプログラミング開発のプロセスをとりあげます。プログラム開発は5つのステージにわかれています。最初に問題の記述、英語の散文の記述についてのラフなアイデア、なにをしたいのか。次にプログラムの仕様、問題をどのようにコンピュータプロシージャに近い形に書きなおすべきか。3つめはCommonLispによる実装。4つめはテスト。5つめはデバッグと解析です。その境界は流動的で、各ステージは完全なものではありません。問題はステージをすすむと前のステージとは変化しますが、プロジェクトを再デザインしたり放棄したりということはありません。プログラマーは部分的に記述、仕様、実装、テストと完璧にしていき、よりよい理解にもとづく完璧な仕様を得ます。
5つのステージでGPSを開発すれば、GPSのプログラムはより読みやすく、書きやすくなることでしょう。まとめると、AIプログラミングの5つのステージは以下のとおりになります。
1. 問題をはっきりした形で記述する
2. アルゴリズムの形で問題の仕様を決める
3. 問題をプログラミング言語で実装する
4. 例を使って問題をテストする
5. 結果をDebugと解析し、プロセスを繰り返す。
最終更新:2008年01月10日 04:58