マルチカノニカル法
である。 F に対する状態密度は以下のように与えられる。
ρ ( f ) = 1 V ∫ Ω δ ( f − F ( r ) ) d r {\displaystyle \rho (f)={\frac {1}{V}}\int _{\Omega }\delta (f-F({\boldsymbol {r}}))\,\mathrm {d} {\boldsymbol {r}}}
これは、もし Q と p の両方が特定の状態には依存せず、以下のようにその状態における F の値 F ( r ) = F r {\displaystyle F({\boldsymbol {r}})=F_{\boldsymbol {r}}} にのみ依存するならば、
Q ( r ) = Q ( F r ) , p ( r ) = p ( F r ) , {\displaystyle Q({\boldsymbol {r}})=Q(F_{\boldsymbol {r}}),p({\boldsymbol {r}})=p(F_{\boldsymbol {r}}),}
⟨ Q ⟩ {\displaystyle \langle Q\rangle } の定義式をデルタ関数と f についての積分を追加することにより以下のように書き換えることができる。
このように選ぶと、コスト関数が低いような状態がよりサンプルされやすくなる。
歴史的には、もともとのアイデア(英語版)ではメトロポリス・ヘイスティングス法は熱浴に接続された系における平均値を計算するために用いていたため、状態の重みはボルツマン因子と一致していた。このような系では、上述した状態の選び方により物理系の研究がずいぶん進展した。
しかし、サンプリング分布を重み関数と一致させる必要は必ずしもない。重み関数と一致しないサンプリング分布を用いる理由の一つは、メトロポリス・ヘイスティングス法はコスト関数が複数の極小値を持つ場合に収束しないことである。これは、このアルゴリズムが局所的ステップによるランダムウォークを用いているためである。つまり、ランダムウォークは通常、エネルギーの差分がオーダーひとつ分であるようなステップを実行する。このことから、このアルゴリズムにおいてある極小値近傍の領域から抜け出すための計算コストはコスト関数の極小値の値に対して指数関数的に増加する。つまり、極小値が深ければ深いほど、このアルゴリズムはそこに長く留まってしまい、そこから抜け出すのは(深さに対して指数関数的に)難しくなる。
これがマルチカノニカル法を導入する動機である。サンプル時にはコスト関数の極小値の存在を「見えなく」してやることによって、最小値近傍に囚われてしまうのを防ぐというアイデアである。