pBestとgBest

pBestとgBest

執筆済 最適化PSO

PSO が持つ 2 種類の記憶。

記憶 記号 中身 役割
pBest pi その粒子が過去に訪れた最良の位置 個体の経験
gBest g 群れ全体が見つけた最良の位置 共有された知識

なぜ両方要るのか#

gBest だけにすると、全粒子が同じ 1 点へ向かう。収束は速いが、 その点が局所解なら全員がそこで止まる(早すぎる収束)。

pBest だけにすると、各粒子が自分の周りを独立に探すだけになり、 良い解が見つかっても他へ伝わらない。群れである意味が無くなる。

両方を足すことで、粒子は「自分の経験」と「仲間の発見」の間を漂う。 pig の中間あたりが最も密に探索される領域になる。

更新のタイミング#

  • pi … その粒子の現在位置が pi より良ければ置き換える
  • g … 全 pi の中で最良のものを取る

g を更新する範囲を群れ全体ではなく近傍に限ると lBest 型になり、 情報の伝わり方が変わる。

停滞の兆候#

pi が長く更新されなくなり、かつ全粒子が g の近くに集まったら、 群れは動けなくなっている。速度がほぼ 0 になるためで、 このとき粒子数を増やしても改善しない。再初期化するか、 ABC の Scout Bee のような 打ち直しの仕組みが要る。

参考文献#

ノート一覧を閉じる