BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース プロセスをプログラミングする

プロセスをプログラミングする

「The Secret Curse of Expert Archer(プロ射手にかけられた秘密の呪い)」(リンク)という記事でNew York TimesのコラムニストのKatie Thomas氏が「ターゲットパニック」として知られる奇妙な苦悩について言及している。これは世界レベルの射手が目標に向かって矢を放つ時に説明のできないコントロール喪失があらわれることを指す。これは通常心理学上の問題とされるが、新たな研究でターゲットパニックは実際は神経学上の疾患である可能性が示されている。

神経学者たちはこれまで説明のできなかった脳の疾患の原因を知ろうと脳の奥深くの作用を調べ始めている。たとえばThe New Yorkerに掲載された最近の記事 (リンク) で、Atul Gawande博士は「幻肢痛」に対する新しい治療法について述べている。この症状は手や脚を切断された患者がもう存在しない手足に鋭い痛みを感じるというものだ。「鏡の箱」という心理療法では、医師が手足が全てあるように映し出されるトリッキーな鏡の前に患者を立たせ、患者にいろいろなこと、たとえば架空のオーケストラの指揮などをさせる。Walter Reed病院の研究者による新しい研究でこの療法が幻肢痛の治療に非常に効果的であることがわかった。そして驚くべきことに、予期されなかった新しい感覚入力が脳にあると、その入力が処理される脳の部位によって脳内で起きる作用が変化するらしいことがわかった。

もちろん人工知能の世界ではデータを処理するアルゴリズムをデータによって変化させるという考え方はは何も驚くことではない。たとえば音声認識からクレジットカードの不正使用検知にまで利用されている学習アルゴリズムがそうだ。実際のところほとんどの学習アルゴリズムでは、より大量のデータ集合を扱うようになるにつれて、アルゴリズム自体よりも与えられるデータの方が重要になるように見受けられる。Startup School 2008でのプレゼンテーション(presentation)でPeter Norvig氏は、自然言語処理において5つの自己改良型の学習アルゴリズムのパフォーマンスの違いについて述べ、より良いアルゴリズムの選択によって得られるパフォーマンス向上は、単純により多くのデータを処理することで得られるパフォーマンス向上ほど良くなることは滅多にないことを示した。

これはソフトウェア開発プロセスのメタファではないだろうか?著書「Metaphors We Live By(身近なメタファ)」(リンク)でGerorge Lakoff氏とMark Johnson氏はメタファがどのように理解を形成するか、そしてメタファが私たちの周りにある世界を明らかにするのと同時に曖昧にすることについて述べている。脳、そしてソフトウェア、さらにソフトウェア開発にとって、支配的となっているメタファは機械、つまりハードウェアのメタファだ。しかしいずれの場合であっても、そのプロセスをエラーは起きるが修正が容易なプログラム可能なソフトウェアとして見るほうが前進するのにはいいのかもしれない。もしソフトウェアがソフトウェア開発のメタファとなれば、ソフトウェアが作られては洗練されるべきものであるようにソフトウェア開発のプロセスも作られては洗練されるべきもので、ソフトウェアと同じように最初はルーズだが必要に応じた分だけしっかりしたものになり、そして常に反復的でテスト駆動なものになるべきだろう。

慣例的に最善だとされているプロセスの考え方を放棄するのは怖いことではあるが、プロセス定義のこと忘れてプロセスの発展にフォーカスすることが一定の人々にとって最善のソフトウェア開発プロセスとなるという事が人間の脳とソフトウェ自体とに一番共通する現実のように思える。

原文はこちらです:http://www.infoq.com/news/2008/08/programming-processes

この記事に星をつける

おすすめ度
スタイル

BT