Planner(プランナー)とは
Plannerとは、米MITの大学院生だったカール・ヒューイット氏が1969年の論文で発表した、AI研究のためのプログラミング言語です。論文は冒頭で、PLANNERを、ロボットの中で定理を証明し、まわりの世界のようすを表したデータを扱うための言語だと説明しています。日程表を作るアプリや、いまの生成AIのエージェントで計画を受け持つプランナーエージェントとは別物。
英語表記:PLANNER(1969年の論文での表記)/Micro-Planner(実際に使われた簡略版)
「AならばB」を、手順としても読む
論文の出発点は、ひとつの文が持つ二つの顔。たとえば「AならばB」は、事実を述べた文として読めます。PLANNERでは同時に、これを手順の指示としても読みます。「Aが登録されたら、Bも登録すべきか考える」「Bを示すのが目標になったら、Aを示すことを小さな目標にするか考える」といった具合です。論理プログラミングの研究者ロバート・コワルスキー氏は、1988年の回想で、これを1つの「ならば」から4通りの手順を作る仕組みとして紹介しています。
もう1つ独特だったのが、手順の呼び出し方。ふつうのプログラムは、使う手順を名前で呼びます。PLANNERでは「こういう形のデータを扱える手順」という条件で呼び出すため、論文は「呼ばれる関数の名前は、たいてい分からない」と書いています。世界が変われば、登録した事実を取り下げることもできました。うまくいかないときは、直前に決めたところまで戻ってやり直す(バックトラック)のが、既定の動きでした。
論文の結びは、この言語の使いどころを「計画(plan)」という言葉で説明しています。大まかな解き方の計画と、役に立ちそうな手順がたくさんあるときに、計画を細かくする手順を選び、予定どおりにいかなければ順番を柔軟に入れ替える。予定どおりに進まないことを、はじめから織り込んだ設計といえるでしょう。
実際に動いたのは、簡略版のMicro-Planner
積み木の世界で英語の会話をしたSHRDLUは、結論を導く仕組み(演繹)にPLANNERを使いました。作者のテリー・ウィノグラード氏の1971年の報告書によると、使ったのは「Micro-Planner」。ヒューイット氏の元の言語を簡略にした版で、ウィノグラード氏、ジェラルド・サスマン氏、ユージン・チャーニアク氏がLispで実装したものです。SHRDLUでは、文の解析の進め方を決める段階から、積み木の世界について事実を導くところまで、あらゆる段階でこれが使われ、積み木の世界の知識そのものも、PLANNERの定理の集まりとして書かれていました。
PlannerとPrologは、どういう関係?
コワルスキー氏の回想によると、1970年代の初めの北米のAI研究では、導出原理などを使う汎用の定理証明に頼るやり方から、知識を手順として書き、分野ごとに専用の解き方を作るやり方へと、流れが変わっていました。その考えをおそらく最も雄弁に打ち出したのがウィノグラード氏の論文で、考えを形にしたものと見られていたのがPlanner。ただし同氏は、Plannerも論理に基づいていた、と付け加えています。
1972年の夏には、フランスのマルセイユで最初のPrologが誕生。コワルスキー氏は、Prologを単なる「Plannerの焼き直し」と見た初期の批判は誤りで、論理の式をそのまま汎用のプログラミング言語として使える、という肝心の点を見落としていた、と書いています。
Topic論文の見せ方に助言したのは、SHRDLUを書いていたウィノグラード氏だった
1969年の論文は、ヒューイット氏が大学院生としてMITのProject MACで行った研究の報告です。謝辞には、論文の見せ方を良くする提案をくれた人として、シーモア・パパート氏とテリー・ウィノグラード氏の名前があります。1968年から70年にかけてSHRDLUを書いたのが、このウィノグラード氏。論文の参考文献をたどると、PLANNERという名前は、1967年7月のMITの研究メモに、すでに登場しています。
Plannerに関するよくある質問
- いまのAIエージェントの「プランナー」と関係がありますか?
- 指すものが違います。Plannerは、1969年の論文で発表されたプログラミング言語の名前です。プランナーエージェントは、生成AIのエージェントのチームで、作業を分けてほかのエージェントへ割り振る役割の呼び名です。
- Plannerは、導出原理を使う定理証明と何が違うのですか?
- 1969年の論文は、推論の規則が1つだけの導出原理を、とても簡素な体系だと述べています。そのうえでPLANNERは、推論の仕組みをあえて手厚くし、計算の進め方を細かく制御できるようにした、と説明しています。長い計算でも手に負えないほど膨らまないようにするためです。コワルスキー氏は1988年の回想で、Plannerはプログラマにより強い制御を与えたが、その分、統一性に欠けた、と評しています。