ノーフリーランチ定理

提供: miniwiki
移動先:案内検索
ファイル:NoFreeLunch.gif
ノーフリーランチ定理の概念図。高度に最適化された特殊アルゴリズム(赤)と汎用アルゴリズム(青)。どちらも平均すれば同程度の性能となることに注意。

ノーフリーランチ定理(ノーフリーランチていり、no-free-lunch theoremNFLT)は、物理学者 David H. Wolpert と William G. Macready が生み出した組合せ最適化の領域の定理である。その定義は以下のようになる。

……コスト関数の極値を探索するあらゆるアルゴリズムは、全ての可能なコスト関数に適用した結果を平均すると同じ性能となる — Wolpert and Macready、1995年

この定理の名称は、ハインラインのSF小説『月は無慈悲な夜の女王』(1966年)で有名になった格言There ain't no such thing as a free lunch.に由来する[1]。数学的にありうべき全ての問題の集合について、どの探索アルゴリズムも同じ平均性能を示すことを説明したものである。これは、探索アルゴリズムに必ず何らかの偏向があるため、そのアルゴリズムが前提としている事が問題に当てはまらないことがあるからである。

右の図はノーフリーランチ定理を視覚化した例である。

一方、この定理は「あらゆる問題で性能の良い汎用最適化戦略は理論上不可能であり、ある戦略が他の戦略より性能がよいのは、現に解こうとしている特定の問題に対して特殊化(専門化)されている場合のみである」ということを立証している(Ho and Pepyne、2002年)。

この定理は、問題領域に関する知識を使わずに遺伝的アルゴリズム焼きなまし法などの汎用探索アルゴリズムを使うことに反対する論拠として使われる。他の汎用アルゴリズムにも適用されてきたが、一般にノーフリーランチ定理でカバーできない実世界の大きなサブセットを構築することも可能である。ノーフリーランチ定理は全てのコスト関数を対象として成立するものである。このため、コスト関数の真部分集合には適用できない。実際の問題解決への適用には、この点での制限をうける。

工学者や最適化の専門家にとって、この定理は、問題領域の知識を可能な限り使用して最適化すべきだということを示しており、領域を限定して特殊な最適化ルーチンを作成すべきであることを示している。

脚注

  1. かつて酒場で「飲みに来た客には昼食を無料で振る舞う」という宣伝が行われたが、「無料の昼食」の代金は酒代に含まれていて実際には「無料の昼食」なんてものは有る訳がないだろう、という意味。格言自体はハインラインの創作ではなく、1949年には既に用例がある。TANSTAAFL(タンスターフルと発音)というアクロニムも同作品で広まったが、これも表現自体は以前からある。参考文献:
    Martin, Gary (1996–2009). “There's no such thing as a free lunch” (英語). The Phrase Finder. . 2009閲覧.
    Wilton, Dave (2009年). “free lunch” (英語). Wordorigins.org. . 2009閲覧.

外部リンク