群知能
from 進化計算
Swarm Intelligence(群知能)
生物の群れは、集団としてまとまりのある振る舞いをみせることがある
鳥の群れは、特別なリーダーをもたずに集団として秩序のある飛行をする
https://gyazo.com/eaef97ca8c65a517afb71f2d075a04c0
(参考)近藤の撮影した鳥の群れの動画
蟻の群れは、フェロモンを利用して、仲間が見つけた「良い場所(エサのある場所など)」に集まる など
さまざまな群知能アルゴリズム
PSO(Particle Swarm Optimization):粒子群最適化
ACO(Ant Colony Optimization):蟻コロニー最適化
Firefly Algorithm:ホタルのアルゴリズム
Cockoo Search:カッコー探索
など、たくさん
PSO(粒子群最適化)
Particle Swarm Optimization (PSO)
群知能の代表的アルゴリズム
「粒子群最適化」ともいわれる
1995年に J.Kennedy と R.Eberhart によって提案]
PSOの基本的な考え方
最適化における解の候補が群れを構成する個体に対応(複数の解候補を考える)
各個体はそれぞれ速度と位置を持つ
位置が決定変数の値を示す(多次元ベクトル)
個体自身の履歴と群れ全体の履歴を利用して解空間を飛び回る(速度と位置の更新)ことで探索を行う
https://gyazo.com/2cb30f013908e47b3c79d97537d91e25
PSOのフローチャート
https://gyazo.com/86208751494d23790f86a9ef22ab933a
PSOの更新式
https://gyazo.com/24f67e3b1dda3caa9b430ca2145ccd40
PSOの利点
進化計算で述べたメタヒューリスティクスの特徴に対応した利点がある
多点探索(さまざまな可能性を並列に探れる)
→ 粒子「群」による探索
評価関数の形状が不明でも、評価関数の「値」だけ得られれば良い(微分により直接勾配を計算しなくてよい)
→ 値の差分を取るので実質的に勾配情報を得られる
確率的操作により局所解を抜け出し得る
→ 乱数がうまくはたらくと局所解を抜ける方向へ加速され得る