why lambda, 情報系ばなれ (2008/12/03)


2008/10/29

論理演算子「⇒」だけを使って作れる他の演算子には何があるか?

「または」は作れる事が判っている。

(a > b) > b

これが「⇒」だけを使って作った「または」である。 以下は真理値分析の結果だ。

ほらね。

(a b)
[t t] t
[f t] t
[t f] t
[f f] nil
  

上は、本邦初公開の、自作論理式分析コードの実行結果である。 10年まえに GNU Emacs で書いた奴である。 10年ぶりに XEmacs で使ってみた。まさか動くとは思わんかった。 emacs のバッファに論理式を書いたのを範囲指定して M-x もげ っとやると いっちょあがりである。 命題変数の値が f なのに 式の値は nil だったりするところは御愛敬だ。 せめて論理式の書式を定義するとそこから parser を動的に生成するくらいの 事はやりたかったが、私のヌルい脳味噌では無理で、 そのあたりはバリバリにハードコードされており、 したがって、かっこわるくて到底公開できない。

なんと、ギリシャ時代には、もうこの式は知られていたそうだ。 おそるべしギリシャ人。

演習: 「かつ」は作れるかな? 作れる場合はその式を示せ。作れない場合は証明せよ。

はっはー。こりゃいい気分だな。 マスター ジェダイ コジーマや、「初歩的だよ、ワトソン君」 の気持がちょっと判ったよ。 証明への挑戦と反例構築の間に引き裂かれた 永遠の連鎖を乗り越えて見せよ。その上に現代の数学が存在するのだ。 なーんちゃって。

パっと解るやつはあっち行け。もう来なくていいよ。プンスカ

情報系ばなれ

情報系ばなれ、らしいです。

私は理学部出身なので、情報系ばなれ、といってもあまりピンと来ません。 というのは、理学部で人気の学科といえば物理学科で、あとはどんぐりの背比べなのです。 私が学生だった20年まえの工学部では、たしかに電気、情報系は人気の学科だったかもしれませんが、 私は工学には全く興味を持てなかったので、よく知りません。

人気低下という現象が事実としてあるのならば、おそらく情報系学科の最大の失敗は、 コンピュータ産業の下請け学科になった事です。 あるいは、もしもそれでよし、とするならば、 コンピュータ産業が成熟すると共に情報系学科が不要になるのは歴史の必然です。 歴史の必然であれば、 別に嘆くような事でも対策すべき問題でもないでしょう。

私は 「情報系 = プログラミング」という紋切りに強い違和感をおぼえます。 情報理論や計算理論はべつにコンピュータが無ければ存在しない、 というものではありません。 λ計算ができた時、動くプログラマブルマシンは一個も無かったし、 アルゴリズムの語源はアラビア語ですが、 語源となった人物が生きていた頃、汎用プログラマブルマシンは影も形も無かったわけです。 ソロバンくらいはあったかもしれませんが。

つまり情報処理とは何か、という根源的な問を発し続けるという努力が、 コンピュータ産業の景気に浮かれて不十分だったように思います。 これは比較の問題で、たとえば物理学ならば、物理学における最も根源的な課題とは何であり、 どんな問題に対し最も解決が望まれているのか、という事を、常に、 真剣に考えるのは 当り前です。 数学でもそうですよね。 そういう態度が情報系の学科に無いとは言いませんが、 比較的希薄ではないでしょうか。

p != np とか 「2024 年以内に解決されるんとちゃうけ?」なんていうKnuth のジョークが マジメな論文誌のアンケートの答えとして掲載されたりするくらいで ちょっと分野として課題を共有するという意向が無さ過ぎるのでは? とも思うわけです。 すなわち 情報系学部離れが進む3つの理由 なんて記事はいまいちピンと来ない感じ。

しかしこんな私の空騒ぎもちょっと感傷的に過ぎるようにも思えたりします。 この分野への興味は情報通信産業の隆盛や成熟とは無関係なところで 渋く連綿と持続されているわけで、 私や一般メディアがいちいち心配する必要も無いのかも知れません。

ちょっとしらべてみたところ、 東大では最近も普通に人気学科のようです。 東工大でもそうみたいですね。

というような話を、もうちょっと濃いめに味つけして 12/13日に話をすることになりました

why lambda

いつでも lambda できるしそれをいつでも参照できるのが ruby や scheme のいいところですね。

ruby1.9 では lambda の代わりに -> も使えるようになります。 とりあえず解りやすそうな例はこれ

まつもとさんの説明によると、->をビミョーに45度くらい左にまわすと、 λになる、ということになっています。

じつはですね、 Church (λ教の教祖)がλ計算を発明したわけですが なぜ lambda を λにしたのかというような事を、 あとになって訊かれるわけですよ。 これに答えた記事が幾つかあるらしいのですが、 どれがどこまで本当か解りません。 が、今のところ、二つの説があるようです。

つまり最初は ^ だったと。それが右に45度回転して λ になり、 このたび更に45度回転して -> になった。 この調子でいくと次の記号は、-> もしくは > を右に45度回して…


記事リストへ