2012年3月18日日曜日

自然科学の5つの基準

ふとした興味で三中信宏『系統樹思考の世界』という本を読んでいます。



この本の要旨は、生物の進化を記述する記法として系統樹を用いているが、

この記法を非生物のそれにも当てはめることができないだろうかという試みが書かれています。

更には、生物を分類する時に類とか科のように分類し系統立てて認識するが、

同様の試みを非生物に対しても行えないだろうかということが書かれています。

動機


本自体の存在は数年前に知っていたのですが、

最近ふと気になって買いました。

デブサミの最終日の打ち上げで、

@snskさん

じゃ、次回のAndroidテスト祭り、オレが探索的テストのデモやってみようか!

と述べており、その手順を聞いているうちに、ふと系統樹を思い出したというのが、

その気になった理由です。

内容


まだ、全体280ページ中、50ページ程度しか読んでいないので、なんとも言えませんが、

元々大学でアビ・ヴァールブルグとか読んでいた関係上、だいたいどういった方向に議論が進むのかは、

想定しています。

今日、ブログに残しておきたいこと


読んでいる途中に、自然科学の五基準という用語で

書かれていた項目が、我々プログラマーがUnit Testのために必要な条件と一致しているように思えたので、

それを残しておきたいと思いました。


というわけで、以下、自然科学の五基準

  • 観察可能であること
    • ある現象に関する仮説なり理論をテストするためには、それが直接的に観察できなければならないという基準
  • 実験可能であること
    • ある化学反応(炎色反応のような)や物理現象(重力のような)に代表される自然界の過程に関しては、実験することによってはじめて科学的な知見が得られるという基準
  • 反復可能であること
    • ある自然現象に関する知見が正しいものであれば、同じ実験結果はいつでもどこでも誰がやっても確実に得られるという基準
  • 予測可能であること
    • 自然現象に関するある主張から導かれる予測を現実のデータに照らしてみることにより、その主張の正しさがテストできるという基準
  • 一般化可能であること
    • 現象に関する普遍的な法則性(万有引力の法則のように)として定式化できるという基準

(引用:三中信宏『系統樹思考の世界』, 講談社現代新書, p.38, 2006年)


1.の観察可能であることというのは、逆に観察可能でない場合にはテストは出来ません。

2.の実験可能であることというのも同様で、テストすると書いてあったりしますが、実際にそのコードを実行することができなければテストは出来ません。

3.の反復可能であることというのも、我々は誰がやっても同一のテスト結果に至るようにテストを実施できないとテストとしての信頼が確保できません。

4.の予測可能であることというのは、テストに際して、あるデータを投入したら、これこれのデータが出力されるような形で記述できていなければ、テストは行えません。

5.の一般化可能であること、これは定式化(仕様化)され得ないものについてはテストが実施できない(何が正しいのかわからない)ということから明らかです。


さて…


ここで三中が自然科学の基準としてこれらの項目をあげていますが、

これは、歴史学、ひいては生物進化学というものが科学たりうるのかという問いに対して、一般的な基準として示したものです。

三中の専門は生物進化学ですので、進化学、つまり歴史学が科学であることを説明付けなければなりません。

しかし、例えば、北京原人とアウストラロピテクスなどと行った人類の祖先っぽいものにかんして、

観察可能ではない(絶滅している)、実験可能ではない(サンプルが手に入らない)、

反復可能ではない(進化というのは非可逆の過程)、予測可能でない(どのように進化するかは想定できない)、

一般化可能でない(北京原人は絶滅したのに、アウストラロピテクスは進化に成功しているのを根拠付けて一般化できない)

といった理由で、進化学というものは歴史学と同様に科学という立場から見れば、

まったく根拠のないでたらめな学に成り下がってしまう可能性があるわけです。


これは探索的テストという、一般定式化がなされない方法論に対して、

テスト方法としてどうなのというような問いに対する答えのようなものが期待できるのではないか、

そして、探索的テストという属人的なテスト手法を体系化できる糸口があるのではないかという

そのような期待がこの本の中に込められているのではないかと思えるわけです。



最近流行っている分野でログ解析など大量データの分析をする機会が増えてくると思われます。

それにともなって、博物的に取得できる大量のデータを用いて、ユーザーなどの心理分析をする際に、

我々は系統樹としてユーザー心理 = 歴史を再現する必要が増えてくると思います。

ログ解析といった分野や探索的テストという方法論があるようでまだ方法論が確立していない分野に対して、

三中が述べるように系統樹思考を適用させることができるか、

それがこの分野でのチャンスではないかと思います。


気になった皆様も一読されてみてはいかがでしょうか?



0 件のコメント:

コメントを投稿