シミュレーテッドアニーリングとは
シミュレーテッドアニーリングは、必ずしも最適ではありませんが、問題の解決策を見つけることができるコンピューター技術です。 アニーリングの冶金プロセスを模倣するため、そのように名付けられました。 金属では、アニーリングは金属を加熱してからゆっくり冷却することによる精製プロセスです。 コンピュータープログラムは、残っているものが最高または最高に近いソリューションになるまで、ソリューションスペースを「精製」します。
シミュレーテッドアニーリングプログラムのユーザーが指定する必要がある2つの重要な要素があります。開始温度、または調査可能なより悪い解の割合です。 そして、冷却の割合は、その割合が減少する割合です。 開始温度が低いと、多くの場合、結果が最適値から大きく外れてしまいます。 非常に高い温度で開始すると、検索に必要以上に時間がかかる可能性があります。 同様に、冷却速度が速すぎると結果が悪くなりますが、冷却速度が非常に遅いとプログラムが非常に長時間実行されます。
シミュレーテッドアニーリングプログラムの「高温」状態は、すでに見つかったソリューションよりも悪いものを含め、幅広いソリューションを見ることができる設定です。 コンピュータは、現在のソリューションよりも悪い多くのソリューションを調べて、最良のものよりもかなり悪いローカルミニマムに固執することを避けることができます。 例として、ベースに到達することを目標に、丘または山の頂上から開始することを想像できます。 途中で、渓谷や割れ目があります。 コンピュータが外に出るのに十分なほど上り坂に行けない場合、ベースにどこにも近くなくてもスタックします。
プログラムがどこまで登れるかは、プログラムが調査を許可されているより悪いソリューションの割合によって決まります。 時間の経過とともに、次第に優れたソリューションが見つかり、深い溝のリスクが減少するため、コンピューターが探索できる悪いソリューションの割合は減少します。 この割合を減らすことを「冷却」と呼びます。 温度が事前に設定された割合(0である必要はない)に達すると、検索は終了します。
シミュレーテッドアニーリングまたはその他の人工知能検索技術を使用する理由は、最適に近いソリューションを見つけるのに必要な時間を管理可能な量に減らすためです。 多くの問題については、徹底的な検索-考えられるそれぞれの解決策と互いの考えられる解決策のテスト-に数か月または数年かかることがあります。 シミュレーテッドアニーリングの最も広く知られている代替手段は、遺伝的アルゴリズムです。 他の一般的な人工知能検索アルゴリズムには、アリのコロニー最適化、粒子群最適化、最近傍およびベイジアン分類器が含まれます。