あなたが一番好きなアルゴリズムを教えてください。 また、その理由やどんな点が好きなのかも教えてください。 - 人力検索はてな
http://q.hatena.ne.jp/1195950564
「あなたが一番好きなアルゴリズムは何か」という質問に半分ジョークで答えると、「自分が考えたアルゴリズム(複数)とその基盤になったモンテカルロ粒子フィルターのアルゴリズムが一番好きです」になるのですが、それだと皆さんにバカにされそうなので、まじめに考えます。
上記のジョークを除外して考えると、一番好きなアルゴリズムはカルマンフィルターなのではないかと思います。
さて、カルマンフィルターとは何かなのですが・・・・
まず、空を飛んでいる飛行機を観測して、その位置を知りたいとします。
問題は我われの手元には観測データしかないという点です。
そして、観測データには(1)観測誤差、(2)システムの誤差の二つが含まれています(システム誤差というのは、例えば飛行機が飛ぶ時に、気流の変化などにより、飛行機が飛ぶ速度が必ずしも一定ではないこと(など)から生じます)。
で、飛行機の真の位置を知りたいならば「観測データから、観測誤差を引いて、さらにシステムの誤差も引く」必要があります。
カルマンフィルターは「観測データから、観測誤差を引いて、さらにシステムの誤差も引く」効率的なアルゴリズムです。
これがあったからこそ、アポロ計画で人類は月にも行けました。
20世紀が生んだ最高のアルゴリズムのうちの一つだと思います。