畑農鋭矢、(2009)、「財政赤字と財政運営の経済分析」書評(第2回)〜「ルドルフ・カルマンよ。あれ。」と神は言った〜

第1回に続き、畑農鋭矢、(2009)、「財政赤字と財政運営の経済分析」書評の第2回です。

財政赤字と財政運営の経済分析―持続可能性と国民負担の視点

財政赤字と財政運営の経済分析―持続可能性と国民負担の視点

[若きシュミットの悩み]
博士号を取得したばかりの若き研究者スタンリー・シュミット(当時33歳)がNASAアメリカ航空宇宙局)に呼び出されたのは1959年秋のことです。彼に課された研究課題はただ一つ。

「月探査ロケットを制御するために、その位置を正確に測定するにはどうすればいいか?」

当時、NASAは歴史上始めて人類を月面に送り込むべく、新しく検討を開始したばかりでした。その際に非常に問題になったのは「月探査ロケットの位置を正確に把握するにはどうすればいいか?」でした。ロケットの位置を正確に把握し地上から指示を送らなければ、宇宙飛行士達は宇宙で方向を失ってしまうかもしれません。

しかし、ロケットを地上から観測する際には常に分厚い大気を通して観測しなければならないため、大きな観測誤差が生じます。またロケットの動きそれ自体にも常にある程度の誤差が生じるため、ロケットの位置を正確に測定するにはそれらの誤差を取り除き「真の位置」を推測する統計学的手法が必要でした。

すでに他の研究者によりウィーナー・コルモゴロフフィルターを使った研究が進んでいました。しかし、シュミットは考えました。「ウィーナーフィルターは定常性を仮定し、過去のデータが完全に分かっている場合には有効だ。しかし、月探査ロケットは途中でジェットを使って姿勢制御をすることがあるから定常性を仮定できないし、データも不完全にしか得られないことが多い。だから、ウィーナーフィルターは使えない。」

「何か新しい手法を探す必要がある」とシュミットは頭を抱えました。

やがて1960年初頭、シュミットの元にJournal of Basic Engineeringの最新巻が届きました。シュミットはその中に"A new approach to linear filtering and prediction problems(線形フィルタリングと予測問題に関する新しいアプローチ)"という味気のない題名の論文を見つけました。ただ、ひたすら12ページにも渡って数式が並んだその難解な論文を読んで、シュミットは思いました。

「これだ」

この手法ならば、限定されたデータを使って非定常なロケット経路を推定できるかもしれない。急いでこの論文の著者に会わなければならない・・・名前は・・・ルドルフ・カルマン?聞いたことのない名前だ。

[「ルドルフ・カルマンよ。あれ。」と神は言った。]
カルマンが実際にNASAに招聘されたのは1960年の秋のことです。カルマンはなぜ自分のような若手研究者がNASAに呼ばれたのか分かりませんでした。カルマンが言われていたことは「新しい論文の内容を発表してほしい」だけでした。しょうがなくカルマンは話を始めました

「・・・・・こういった問題では、真の位置を推定しても、必ず実際の位置とはズレが出てしまいます。推定した値と、実際に観測した値の差を『予測誤差』と呼びます。その予測誤差に値「K」を掛けることによって改善された推定値が得られます。式で書くこんな形です*1。」

改善された「真の位置の推定値」=改善される前の「真の位置の推定値」+K×(予測誤差)

カルマンはその値「K」をいかに適切に計算するかを彼の新しい論文で導出していました。この「K」がカルマンフィルターにおいて最も重要な役割を果たしています。現在ではその「K」のことを「カルマンゲイン」と呼びます。カルマンフィルターの利点は、この式を繰り返し用いて、新しい観測データが得られるたびに推定値を修正するという繰り返し計算をするため、ウィーナー・コルモゴロフフィルターのように事前に過去のデータが完全に得られている必要がない点にあります。その都度、計算をやり直すというアルゴリズムであるため、非定常な推定にも比較的向いています。

やがてカルマンの発表が終わると、シュミットが手を上げて発言しました。「カルマン博士、あなたの理論を用いて、月探査ロケットの制御はできますか?」

しばらく考えてカルマンは答えました。「私の論文はまだ理論的なもので、実用化するにはまだ時間がかかります。大型コンピューターが必要だし、そのためのプログラムを書く必要があります*2。」

「そのプログラムなら私が書くさ。それにNASAにはIBM 704がある*3」シュミットが答えました。

1960年の秋、スタンリー・シュミットは34歳、ルドルフ・カルマンはさらに若い30歳でした。

[その後の2人]
1960年の秋、人類を月に送り込むその計画はまだ、アメリカ政府で正式には認められていませんでした。しかし、次の年、新しく大統領に就任した若きジョン・F・ケネディによってその計画は大々的に認められ、以下の名前で知られることになります。

アポロ計画

その後、スタンリー・シュミットは「カルマンフィルターを現実のプログラムに書いた最初の人間」さらには「拡張カルマンフィルターの開発者」としてその名を歴史に記録されることになります。

また、カルマンフィルターの開発により、カルマンはポントリャーギン、ベルマンと並んで「現代制御理論の創始者」の1人とされています。ポントリャーギンとベルマンはかなり前に亡くなっているので、現在も存命の「現代制御理論の創始者」はカルマン1人だけです*4

次回(第3回)、「カルマンフィルターを用いた日本における先行研究」

*1:言うまでもなくこのエントリーで示した式は正確なものではありません

*2:実際、Kalman (1960)にはカルマンフィルターの導出が述べられているだけで、現実問題への応用例やプログラム等についてはほとんど述べられていません。

*3:1954年にIBMによって開発されたメインフレーム(大型コンピューターの一種)。余談ですが、FORTRANLISPはこのIBM 704上で開発されたことが知られています。

*4:創始者にデイビッド・ルーエンバーガーを入れる場合もあるので、その場合は、カルマンとルーエンバーガーの2人が存命していることになります。