ベイスンホッピング法は、
応用数学の分野で用いられる大域最適化アルゴリズムの一つであり、特に高次元空間における
最適化問題、例えば
分子の最低エネルギー構造の探索などでその威力を発揮します。この手法は、1997年にDavid J. WalesとJonathan Doyeによって初めて記述されました。
ベイスンホッピング法の基本的な考え方は、解空間を探索する際に、単に局所的な最適解に囚われることなく、より広い範囲での最適解、すなわち大域的な最適解を見つけ出すことを目指す点にあります。アルゴリズムは、以下のステップを繰り返すことで進行します。
1.
ランダムな摂動: 現在の解の位置(
座標)に、ランダムな変動を加えます。これにより、探索空間内での位置をわずかに変化させ、局所最適解から脱出する可能性を高めます。
2.
局所最適化: 摂動によって得られた新しい位置を初期値として、局所最適化アルゴリズムを適用します。これにより、その位置から見て最も近い局所的な最適解を求めます。
3.
採択・棄却: 局所最適化によって得られた新しい局所最適解と、現在の最適解とを比較します。新しい解がより良い(例えば、最小化問題であれば関数値がより小さい)場合は、新しい解を現在の解として採択します。そうでない場合は、何らかの条件(例えば、メトロポリス基準などの確率的な条件)に基づいて、新しい解を採択するか、現在の解を維持するかを決定します。
これらのステップを繰り返すことで、アルゴリズムは徐々に探索空間全体を探索し、大域的な最適解に近づいていきます。この手法の名称である「ベイスンホッピング」は、エネルギー地形を連想させるもので、各局所最適解が「ベイスン(盆地)」に相当し、アルゴリズムがこれらの盆地を「ホッピング」しながら、より深い盆地を探す様子を表現しています。
このアルゴリズムは、LiとScheragaによって提案されたモンテカルロ最適化法から着想を得ています。モンテカルロ法は、ランダムなサンプリングを用いて解空間を探索する手法であり、ベイスンホッピング法は、そのランダム性を活かしながらも、局所最適化を組み合わせることで、効率的な探索を実現しています。
ベイスンホッピング法は、
分子の構造最適化の他にも、化学、物理学、生物学、材料科学など、様々な分野での
最適化問題に適用されています。特に、多変数で複雑な関数を扱う場合に有効であり、その適用範囲は広範囲にわたります。
この手法は、実装が比較的容易である一方、パラメータの調整が結果に大きな影響を与えるため、適用する問題に合わせて適切なパラメータ設定を行う必要があります。また、大域的な最適解を保証するものではなく、あくまで発見的な手法であるという点に注意が必要です。