2014年4月19日土曜日

メアリー・ポピンズとCommon Lisp

分室のブログとどちらに書こうか迷ったのですが、技術的な話もあるのでこちらに書きます。

評論家の岡田斗司夫さんが、自身の無料メルマガ「岡田斗司夫の毎日メルマガ~力尽きるまで」で、映画「ディズニーの約束」のことを書いていらっしゃいました。YouTubeに音声が上がっています

ディズニーの映画「メアリー・ポピンズ」の制作裏話です。

メアリー・ポピンズは、バンクスさんの家に、子供たちの住み込み家庭教師として雇われます。

この映画、前半は原作の雰囲気そのままに進むのですが、後半になって銀行員であるバンクスさんの話に変わっていきます。堅物だったお父さんが、どうなるのかはぜひ映画を見てください。そして、なぜそうなったのかが「ディズニーの約束」で描かれているそうです。なかなか面白そうなので見たいと思います。

さて、この「メアリー・ポピンズ」、米国では誰もが見ている作品のようです。だから「ディズニーの約束」もメアリー・ポピンズを見ていることを前提に話が進むそうで、多くの日本人にとってはちょっと分かりにくいみたいです。

そこで本題。

Common Lispというプログラミング言語があります。Lispという言語は、1950年代に設計され、1960年頃には広く使われていた非常に古い言語です。

ところが、主に人工知能研究に使われており、産業界では普及しなかったせいでしょうか、多くの方言があります。

自然科学の研究が、仮説→実験→検証→再仮説、というサイクルを回すように、人工知能の研究は、仮説→コーディング(プログラム作成)→検証(実験)→再仮説というサイクルを回します。実験と同じくらいプログラムを書くので、同じプログラムを使い続けることはほとんどありません(部分的な再利用はあります)。だから標準化して、他の人のプログラムをそのまま使えるようにする必要もなかったのでしょう。

プログラムは、事前に手順が決まっているから「実験」というのは奇異な感じがするかもしれません。自然科学だとこうなります。

  1. Aという3つの現象がある
  2. Aを満たすモデルMAを考える
  3. Bという現象が見つかった
  4. MAのある部分を修正すればBも説明できるし、Aも説明できる
  5. 修正MAは、より確からしいモデルである

人工知能も同じように考えて、適用範囲が広がり、整合性がとれるようにプログラムを拡張していきます。

Lispには、主な系列でもMIT(マサチューセッツ工科大学)のMacLisp、ゼロックス社のパロアルト研究所(PARC)やスタンフォード大学で広く使われていたInterlispがあります。東海岸と西海岸ですね。

Common Lispは、1980年代の人工知能ブームに乗ってきた産業界の要請に応える形で、Lispの集大成として計画され、従来のLispにScheme(スキーム)という、Lispベースの言語のエッセンスを取り入れて作られたプログラム言語です(Schemeをベースに、の方が近いかもしれません)。

「どうせなら、良いアイデアをたくさん取り入れよう」ということで、Common Lispは既存のLispとはどれとも違うものになりました。多くの人が集まって規格を決めるとこうなります。

内容はともかく、この時の仕様書の名前が凝っています。仕様書を作ったのは、G. L. Steele Jr.、有名なコンピュータ科学者です。

  • 1981年: Swss Cheese...スイスチーズには穴が空いているところから「穴だらけ」(「トムとジェリー」によく出てくるチーズです)。
  • 1982年: Flat Iron...古い(電気式でない)アイロンの意味で「シワが残る」そうです。
  • 1982年: Colander...水切りざるの意味です。「穴は増えたが前より小さい」そうです。
  • 1982年: Laser...コヒーレントでありますように。「コヒーレント」とは、「首尾一貫した」という意味ですが、光学分野では「位相がそろった」という意味を持ちます。コヒーレントな光のことを「レーザー」と呼ぶのでLaser Editionと名付けられました。
  • 1983年: Excelsior...荷造りのための詰め物だそうです。仕様が確定し、明確なバグ以外は受け付けないということになったので「(荷物を)固定する」という意味なのでしょう。
  • 1983年: Mary Poppins...「Practically Perfect In Every Way(あらゆる意味でほとんど完璧)」という、映画のメアリー・ポピンズの台詞に由来します。

私の知る限り、小説版のメアリー・ポピンズには...「Practically Perfect In Every Way」という台詞はありません。映画では、自己紹介でメアリー・ポピンズが自分のことをこう言います。

Mary Poppinsと言うだけでPerfectと結びつくのは、ディズニーの映画がいかに広く知られているかということですね。

すみません。あんまり技術は関係ありませんでした。