2011年を振り返って

2011年も, もうすぐ終わろうとしています. 決して感慨深くなったりはしないたちなのですが, 振り返るのも悪く無いかなと思い, 書いています.

東日本大震災について

思えばこれの始まりは3/4でした.

地震前兆か?☆鯨52頭海岸に…茨城県★NZ でも 「茨城県鹿嶋市の下津海岸で3月4日夜、クジラ約50頭(後刻、52頭と判明)が打ち上げられているのが見つかった。」 2011-03-06 01:27:52


記事の投稿日は3/6, 「ソース」は「読売ONLINE 3月5日11時37分」, クジラが上がったのが3/4とあります.

(どうやら読売の方は記事が消えているようです.)

これと地震とを結びつける論拠が過去の実例である, ニュージーランド地震でした.

Is New Zealand earthquake linked to the mysterious deaths of more than 100 pilot whales? By Chris Powers 22/02/2011

内容は記事を読めばいいのですが, 100以上のクジラが打ち上がった翌日に地震が起こった, これが関係するのではないかということです.


しばらくして, この話はTwitterで拡散しました. 当時の様子がJ-CASTのニュースが残っていました.

【拡散希望】「今夜、200年に一度の大地震が」 ツイッターのデマ情報で一時騒然 J-CASTニュース 2011/3/ 7 19:05

この時点では, 多くの人が

という状況だったと思います.

(いわゆる「世紀末的状況」にはワクワクしてしまう性が人間にはあるようで, 隕石騒ぎなどもありましたね.)


この状況を逆転させたのが3/9の地震でした.

2011年3月9日11時45分ころ、三陸沖を震源とするM7.3の地震が発生しました。

マグニチュードは7.3, 震源地は三陸沖(牡鹿半島の東、約160km付近)、深さ8km(暫定値)とのことでした.
平成23年3月9日11時45分頃の三陸沖の地震について  報 道 発 表 資 料 平 成 23 年 3 月 9 日 13 時 00 分 気 象 庁

さらに, 津波注意報も出ていました.
2011 年3月9日 11 時 45 分頃に発生した三陸沖の地震について  宮城県で震度5弱を観測  東北地方に津波注意報発表 報 道 発 表 資 料  平成 23 年3月9日 13 時 00 分  仙 台 管 区 気 象 台


この地震で一気にオカルト派の形勢逆転です. 「ほれみろ地震が来たではないか」と. しかし, 後から思えばこれも予兆に過ぎなかったんですね.



クジラと地震は関係あるのでしょうか. 真実は分かりません. クジラが打ち上がったのは, 地場の影響ではないかという人もいます. いわゆる「数撃ちゃ当たる」で, 実際に来なかった予言が無数にあるのです. 「根拠のないデマ」と言えばそうなのですが, もし, クジラと地震を結びつけるような科学的な証拠が出てくれば, 少しは身構えたりしてもいいと思います.

Twitter

ツイート数も70000を超えてしまい, ますますTwitterが手放せなくなったのですが, コミュニケーション率がとても低いんですよね. 最近は, ツイートする前に「それは本当にツイートするにあたる内容なのか?」とか考え始めてしまって, ツイートをタイプした後に全部消して「おっぱい」とか適当にツイートしてしまう, そういう事が多いです. あと承認願望ヤバイですね. ふぁぼすたー更新連打!!!

プログラミング

今年はLocal Playerに始まりこれに終わる一年でした.

軽い気持ちで書き始めた音楽プレイヤーでしたが, 7000人のユーザー数(アプリを消す人と新しくインストールする人が拮抗しているようです.)を持ち, もっと良くしようと思うまま, だらだら書いています. mp3のid3タグからアートファイルを読もうとしているのですが, なかなか面倒です.

Local Playerを書く中でJavaScriptのことをいっぱい知りました.

  • prototypeチェーンを理解しました.
  • ECMAScript5の仕様を頻繁に見るようになりました.
  • Firefox厨がますます嫌いになりました.
  • jQueryのすべてのバージョンをローカルに用意し, 気になるたびに読むようになりました.
  • Google ChromeのContents script, Background pageについて理解し, message passingで情報をやり取りする方法を知りました.
  • アプリケーションとDOMを扱うコード, キーバインドを扱うコードを完全に分離する方法を作りました.
これらは全て, 今年自分が成長したことです.

小さな事ですが, 関数呼び出しの

var x = foobar ("hoge");

のように, カッコの前にスペースを打つようになりました. 多分Haskell

x = foobar (1, 2, 3)

のようにタプルだと, スペースがあったほうがいいからです. ただ, JavaScripterで, カッコの前にスペースを打つ人他に見た事無いので, そのうち戻るかも. あと,

var obj = { hoge: foo
          , bar: baz
          , fuga: bazaa
          };

のように, カンマファースト教に入りました. これは, R言語を書いていると

plot ( data$x
     , data$y
     , pch = 19
     , col = 4
     , xlim = c (0, 200)
     , ylim = c (1e-3, 10)
     , xlab = "x"
     , ylab = "y"
     , log = "y"
     )

のように, 大量の引数を取ったりそれをコメントアウトしたりするので, カンマファーストの方がやりやすいなと思うようになっただけです.



また, Haskellにも少しだけ手を出しました. まだ人の前でHaskellについて語れるほど多くのことは分からないのですが, 特に型理論について興味を持ちました. TAPLを手に取りましたが, 結局今は放置しています. そのうち読みます. はい.

今年最後のアウトプットは, 数時間ほど前に書き上げたこの記事です.
代数的データ型と準同型写像
まさに今の自分の数学的な思考のレベルそのものです. このポストはかなり自分の思考の流れと近くて, かえって読みづらいかもしれません... フィードバックなくて凹む...


そして, 自然な流れで, マックレーン本を手にとってしまったのです.

数学への興味

マックレーン本を初めて手に取ったのは夏休みでした.

大学の図書館に常にあるので, 借りるまでもなく, 図書館に行けば何時でも読める状態でした. こんな本借りる物好きな人あまりいないのかな(´・ω・`) 内容はとても難しいものでしたが, この本を取ったことが自分に大きな影響をもたらしました. それは, 「数学の本質は何か」ということです. 数学って要は「一般化への夢」なんですね. 特に「代数学」はそうなのだと分かりました.(わー解析学の人, みかん投げないでー><)

私は「代数学」は分かりません. 「群」で心折られた人間です.
私は「代数幾何学」も分かりません. 「セル複体」で心折られた人間です.

しかし, 圏論を学ぶ中で, 「ある性質を持つ構造について, その構造について成り立つ定理を追究する. ある具体的な集合が, (演算の決まりなどを決めた上で,) その性質をすべて満たしてしまえば, 同じ定理が成り立ってしまう」 的なイメージを持つことが出来ました.

その「性質」が, いわゆる公理であり, 或いはFunctor則であり, Monad則だったりするわけですね. その「演算」が, 加算であり乗算であり, 関数の結合であったり, Monadのinstanceのbind(相当)だったりするわけですね.

圏論をかじったことで, 「関数全体の集合」とか, 「構造を他の構造に動かすような変換たちのなす構造」など, ありとあらゆる物の構造を考えることが有用であり, そういうあらゆる構造を含む構造の性質を調べることが重要であることにも気が付きました. ある対象から出ている射の集合のなす構造, とか, そういうのです.

モノイドは対象が一つの圏であり, 結合的で恒等元を持つ二項演算子を伴う離散圏としても表現できる.

この一文だけ見ても, 実に様々なことを吟味しなければなりません. その楽しさを知りました.


「一般化」については, これまでも経験してきたはずなのです.

7×9が, 中学校に入ってx*yになった時に「一般化した」という印象を持つべきでしたが, それに気が付くのに実に8年もかかってしまいました.

高学校に入って行列がAB≠BAであることを知った時, 「あ, 非可換じゃん」という印象を持つべきでしたが, 何の疑問も持つことなくスルーして, 大学に入ってしまいました.

時間がかかったとて, これに気がつけただけでもよかったと思います. 代数学に関してはおいおい学んでいきたいと思います.

物理学への興味

良い先生を持つことはしばしば人生をも大きく左右します. 幸せなことに, 今年, 私は良い先生に会いました. その人は古典物理学から現代物理学へのロードマップを明確に示して下さいました. そのロードマップを見て, 自分に欠けていることが解析力学であることが分かったのです.


思えば最初に量子力学と出会ったのは大学二回生でした. 私の所属する学科は電気電子なので, 要するに, みんな電子について学ばなくてはならないわけです. その中で, ニュートン力学しか知らない私の前に出てきたのが, シュレディンガー方程式でした. 「井戸型ポテンシャルはよろしい, 境界値を設定したら解けた. で, この波動関数ってなんなの?」状態ですね. ニュートン力学量子力学の隔絶に戸惑ったわけです.


私はすぐに図書館に走り, 解析力学を学び始めました. 結局, その時は, よく分かりませんでしたが, ポアソン括弧と量子力学の交換関係の対応(ヤコビの恒等式は満たしたか? うむ, よろしい, ならばリー環だ.)に初めてぶち当たった時, 鳥肌が立ちました. そして, この学問がただ単に架け橋であるだけでなく, 非常に普遍的に成り立つ原理から成る素晴らしい学問であることを知り, ますますこの重要性を感じたわけです.




実は, Haskellをやったことが, 自分の物理学への姿勢にも影響を及ぼしました. それは物理学の「単位」とプログラミングの「型」の対応です. 古典電磁気学を学んだのですが, E, D, P, B, H, M, .... 大量に訳の分からない(イヤ今は分かりますが)記号が大量に出てきました. そこでこれらを理解しやすくしてくれたのが「単位」でした. この話は後々ブログに書くことにしましょう. 覚えていれば.

という訳で

てきとーに振り返って見ました. 皆さん, 来年もよろしくお願いします.