カッコウ探索
From Wikipedia, the free encyclopedia
カッコウ探索 (Cuckoo Search:CS)は、2009年にXin-she YangとSuash Debによって開発された[1]、カッコウの托卵行動をアナロジーとする発見的な最適化アルゴリズム(メタヒューリスティクス)である。さらにCSは、メタヒューリスティクスの中でも、群知能に分類される。群知能に分類される代表的なアルゴリズムとして、粒子群最適化(Particle Swarm Optimization:PSO)、差分進化(Differential Evolution:DE)、人工蜂コロニーアルゴリズム(Artificial Bee Colony Algorithm:ABC)などが挙げられる。 最近の研究によれば、CSは他の群知能のアルゴリズムと同等の性能を持つとされる。CS、PSO、DE、ABCの比較において、PSOやABCに比べ、CSとDEのほうが頑健だという結果が得られた[2]。
カッコウの托卵
自然界におけるカッコウの托卵とは、他の鳥の巣に卵を植え付け、卵及び雛の世話を他の個体に托す習性のことである。このとき、卵を植え付けられる巣の親鳥を仮親と呼ぶ。仮親は巣内の雛が仮親の雛と全く似ていない場合や、仮親よりも大きく育つ場合でも、巣内の雛に鳴かれると本能的に世話をする習性を持つため、カッコウの雛を育ててしまう。
さらに、仮親はカッコウに托卵されないように、自らの卵とは異なる卵を見つけると、雛が孵る前に巣から弾き出したり、新たな巣を作りカッコウの卵を巣ごと見捨てるようになる。すると、その一方でカッコウは、卵の色や柄を仮親の卵に似せて産むようになる。このように、托卵における様々な進化、生存競争が確認されている。
レヴィ分布とレヴィフライト
として与えられる。ここで、は確率変数、は最小値を決めるパラメータ、はスケールパラメータである。レヴィ分布は、動物の飛行パターンや採餌行動など、様々な自然現象や物理現象における確率的変動を表現できるとされている。
レヴィフライトは、ステップ幅がレヴィ分布に従うランダムウォークの一つである。ランダムウォークは、現在位置する点からのステップ幅をある確率分布に従う乱数とし、次の点を生成する方法である。ランダムウォークでは、次の点を
より生成する。ここで、は現在位置する点、は確率分布により決定されるステップ幅である。レヴィフライトではステップ幅がレヴィ分布に従う。最適化において、未知でより広い範囲の探索を行う場合、レヴィフライトを用いることで、正規分布によるランダムウォーク(Gaussian random walk)を用いる場合に比べ、効率的な探索を行うことができるとされている[3]。
レヴィフライトを数値計算上で行う方法として、要素ごとのステップ幅を、安定分布に従う乱数の生成法Mantegna's Algorithmにより決定する方法が提案されている。Mantegna' s Algorithmは乱数を
として作成する。ここで、 は以下の式で表される正規分布に従う乱数である。(はガンマ関数)
分布調整変数がのとき、が従う確率分布は、確率変数が0.1より十分に大きな値となる範囲においてレヴィ分布を近似する。 本稿では以下より、このMantegna's Algorithmによって生成される乱数を、分布調整変数を用いて、 またが従う分布を近似レヴィ分布と表記する。
CSの概要
カッコウの托卵行動は、大きく次の3つの要素で構成できると解釈できる。
- カッコウが他の個体の巣に自らの卵を産む。
- 仮親が質の悪い卵を巣から弾き出す。
CSはカッコウの托卵行動をアナロジーとしており、大きく分けてレヴィフライト、更新、排斥の3つのステップを繰り返すことで探索を行う。