2011-01-21

twitter より (2011-01-20)

  • 18:44  プログラム(コード)よりも、コンテンツを売り物にする傾向は加速するばかりだ。ふと思ったんだけど、自分の撮った写真で時計アプリを作れたらウレシイのかね? ウレシイのならそういうサービスが出てきてもおかしくないな。→ http://t.co/YEpyJWK
  • 19:00  2月末か。日本でも同時期だとしても時期的にビミョーだな。→ http://t.co/AKtZ6Rv
Powered by twtr2src.

2011-01-20

数学で犯罪を解決する ([著]キース・デブリン, ゲーリー・ローデン, [版]ダイヤモンド社)

数学なしには暮らせない

「数学なんて、日常生活で何の役に立つんだよ」と問われれば、「われわれは数学なしには暮らせない。知らないだけで、いつだって数学を使っているんだ」とチャーリーなら答えるだろう。チャーリーとは海外ドラマ「ナンバーズ」の主人公で、数学の天才。彼は著名な応用数学者にして、FBI の犯罪捜査に関するアドバイザーだ。

なんだ、フィクションの話か、と思われるかもしれない。もちろんドラマ自体はフィクションだが、登場する数学(のかけら)はフィクションではないし、実際に犯罪捜査に応用されている事実もあるようだ。

キース・デブリンによる「数学で犯罪を解決する」は、「ナンバーズ」で使われている数学を説明したものだ。これを読めば「ナンバーズ」自体はフィクションであっても、数学が犯罪捜査に役立つ(役立っている)ことがわかる。

数学は魔術?

ドラマの中で FBI の捜査官たちが求めるのは、数学を適用することで得られた分析の結果だ。犯人が誰なのか、どこに潜んでいるのか、どこを通って逃げようとするのか。つまりは、犯人を捕えるための決め手となる情報だ。それがどうやって導かれたものかは気にしない。劇中の捜査官たちは数学者(チャーリー)の説明を聞いて「魔術(ブードゥー)だ」とつぶやく。

シーズン 2 のあるエピソードでは、FBI が霊能力者を協力者として使う様子が描かれる。チャーリーはそれに強く反発するが、(チャーリーの兄をふくめた)捜査官たちにとっては数学者も霊能力者も同じに見えているのだ。どちらも彼らには理解できない仕組みで隠された情報を暴く。

充分に発達した科学技術は魔術と見分けがつかない、と言ったのはクラーク(→「クラークの三法則」)だが、数学はその最たるものかもしれない。

数学とはパターンを見つける方法

なぜ、数学を用いることで人の行動(犯罪者の逃走経路とか潜伏場所とか)を予測したり、言い当てることができるのだろう?

「画像エンハンス」(Chapter 5) のように犯罪捜査(と裁判)の直接的な証拠となる応用例もあるが、「ナンバーズ」で用いられる数学の多くは人の行動を分析し予測するものだ。典型的なのはドラマの第1話の連続殺人犯の活動拠点(自宅と勤務先)の場所を絞り込む手法だろう(Chapter 1)。

このエピソードでは、スプリンクラーから飛び出す水滴が落ちた場所からスプリンクラーの位置をつきとめる、という例え話で説明されている。同様に、複数の犯行現場から犯人の活動拠点をつきとめられる、というのがチャーリーの主張だ。物理法則だけにしたがう水滴と、自らの意思を持つ人の行動を同列に扱うことができるのはなぜだろう?

その根拠となるのは人の行動には(たとえ本人がランダムに見せかけようとしたとしても)パターンが現れる、というものだ。加えて、人は「ランダム=バラバラ」という偏見を持っている。犯行を重ねれば重ねるほどその場所は拠点の中心として同心円状に散らばっていく(実際の地理では地形や建物の状況、交通事情もあり円にはならない)。

完全にランダムなデータからはどんなパターンも読み取ることはできない。けれど、人の行動は(そこに意思がからむ以上)完全なランダムにはなりえない。そこには必ずパターンが生まれる。そして数学はパターンを見つけることに長けた人々が築き上げてきた体系だ。パターンを見つけ、記述するための道具がそこにはある。

数学を知らなくても暮らせる

たしかにチャーリーの言うように、現代の生活では様々な面で数学が使われている。けれど、その恩恵を享受するだけなら数学を知る必要はない。インターネットで買い物をするのに暗号の仕組みを知る必要はない。微分方程式が解けなくたってクルマの運転に支障はない。これは数学に限らず、人類がこれまで蓄積してきたあらゆる知識体系について言えることだ。iPhone のアプリを使うのにプログラミングの技術が必要ないのも同じ理屈だ。

もちろん、日常の生活の中でもパターンは生まれる。自分と自分の周囲のできごとを分析することでパターンを見つけ、将来に起きることを予測できるはずだ。しかし、そうする人は少ない。というか、そんな人はほとんどいないだろう。なぜなら、コストに見合わないから。データを収集し、分析し、パターンを見つけ、将来を予測する。どのステップにもコストがかかる。個人の生活では、そのコストに見合うだけの予測が必要になる場面はほとんどない。

(チャーリーのような)数学の天才は別として、「数学が役に立つ」ではなくて「(自分で)数学を知っていることが役に立つ」場面というのは、日々の暮らしの中では見つけられないだろう。数学はオモシロイんだけどな。

参考文献

数学で犯罪を解決する
キース・デブリン, ゲーリー・ローデン
ダイヤモンド社 ( 2008-04-11 )
ISBN: 9784478004203

「ナンバーズ」は DVD で観ることもできる。以下は「数学で犯罪を解決する」に数学的あらすじが解説されているシーズン 3 までのもの。シーズンを重ねるごとに数学風味が薄れてくるように思う。ま、それは仕方ないことか。

ナンバーズ 天才数学者の事件ファイル シーズン1
ロブ・モロー, デビッド・クラムホルツ, ジャド・ハーシュ, アリミ・バラード, サブリナ・ロイド / パラマウント ホーム エンタテインメント ジャパン ( 2009-06-12 )
ナンバーズ 天才数学者の事件ファイル シーズン2 コンプリートDVD-BOX
ロブ・モロー, デビッド・クラムホルツ, ジャド・ハーシュ, アリミ・バラード, サブリナ・ロイド / パラマウント ホーム エンタテインメント ジャパン ( 2009-08-07 )
ナンバーズ 天才数学者の事件ファイル シーズン3 コンプリートDVD-BOX Part 1
ロブ・モロー, デビッド・クラムホルツ, ジャド・ハーシュ, アリミ・バラード, ナビ・ラワット / パラマウント ホーム エンタテインメント ジャパン ( 2010-06-11 )
ナンバーズ 天才数学者の事件ファイル シーズン3 コンプリートDVD-BOX Part 2
ロブ・モロー, デビッド・クラムホルツ, ジャド・ハーシュ, アリミ・バラード, ナビ・ラワット / パラマウント ホーム エンタテインメント ジャパン ( 2010-07-09 )

関連リンク

2011-01-17

オフライン機能の実現 #6 (MacBloggerGlass)

GData API 経由で取得したフィードデータをローカルに保存できるようになり、すっかりオフライン機能が完成したと思い込んでいたが(→「FeedManager が完成 - オフライン機能の実現 #5」)、実はまだ未完成だった。というのも、フィードを保存するだけでは、テキスト以外のリソースは保存されないからだ。フィードには記事のテキストしかふくまれていないから、たとえばスクリーンショット画像を表示するにはやはりネットにアクセスしなければならない。

このブログで使っているテキスト以外のリソースは主に画像とスクリプトだ。画像はスクリーンショット等で使っているし、スクリプトは Gist でコードを貼り付けるのに使っている。

さて、この問題、どう解決したものだろう?

解決の方針

まず必要になるのは、リソース(画像等)をローカルストーレジの所定の場所に保存する仕組みだ。所定の場所はフィードと同様 ~/Library/BloggerGlass/<account>/<Blog ID> とする。ここにリソースのタイプごとにディレクトリを作って保存する。画像なら images、スクリプトなら scripts となる。このとき、ファイル名はリソースの URL から生成したハッシュ値を用いる。

次に必要になるのは、フィードのテキストから対象となるリソースの URL を抜き出す仕組み。さらには、その URL をローカルなファイルへのものに置き換える仕組みも必要だ。これは、すでに内部リンクの置き換えの実現で似たような処理を作り込んでいる。ここにはいくつか工夫の余地がありそうだが、動かすだけなら素直な(ただし愚直な)方法で実現できる。

関連記事

2011-01-16

Snow Leopard アップデート (10.6.5 → 10.6.6)

Mac 用の App Store のスタートにあわせて、Mac OS X (Snow Leopard) のアップデートがリリースされた。10.6.5 から約 2 ヶ月と短い間隔のアップデートだが、これは App Store 対応のアップデートだから(だと思う)。

iMac & MacBook

iMac と MacBook (クライアント版)の場合。

Snow Leopard (client) 10.6.6 update
iMac (Mid 2010)
サイズは 114.8 MB。10.6.5 のときの 680 MB とくらべるとかなり小さめのアップデートだ。
MacBook (Early 2008)
MacBook 用のサイズも iMac と同じ 114.8 MB だった。

About パネルは以下のようになった。

Snow Leopard (client) 10.6.6 About dialog
iMac (Mid 2010)
MacBook (Early 2008)

Mac mini Server

サーバ版の場合。

Snow Leopard Server 10.6.6 update
Mac mini Server (Late 2009)
Server も client と同じサイズだ。

以下は、Mac mini Server の About パネル。

Snow Leopard Server 10.6.6 About dialog
Mac mini Server (Late 2009)

カーネルバージョン

例によって、カーネルバージョンも記録しておく。これまで同様(→「Snow Leopard アップデート (10.6.4 → 10.6.5)」参照)、サーバとクライアントで同一になっている。

[mini] mnbi% uname -a
Darwin mini.private 10.6.0 Darwin Kernel Version 10.6.0: \
Wed Nov 10 18:13:17 PST 2010; root:xnu-1504.9.26~3/RELEASE_I386 i386
[imac] mnbi% uname -a
Darwin imac.private 10.6.0 Darwin Kernel Version 10.6.0: \
Wed Nov 10 18:13:17 PST 2010; root:xnu-1504.9.26~3/RELEASE_I386 i386

関連リンク

関連記事