Your History

Menu

Boltzmann Acceptance Function

Description

In implementing the MCMC (Markov Chain Monte Carlo) sampling algorithm, the goal is generating an independent identically distributed (i.i.d.) sample \( \htmlClass{sdt-0000000046}{\mathbf{x}}_1 \), \( \htmlClass{sdt-0000000046}{\mathbf{x}}_2 \), ... , \( \htmlClass{sdt-0000000046}{\mathbf{x}}_n \) from some given probabilistic landscape. If some \( \htmlClass{sdt-0000000135}{P_{\text{accept}}} \) is equivalent or proportional to the target distribution, it can be used in the acceptance function formulation. Note that the normalization constant can be ignored as it cancels out.

\[\htmlClass{sdt-0000000135}{P_{\text{accept}}}(\htmlClass{sdt-0000000081}{\mathbf{x}^*} \,\vert\; \htmlClass{sdt-0000000046}{\mathbf{x}}_n) = \frac{ \htmlClass{sdt-0000000131}{X}measureFunction(\htmlClass{sdt-0000000081}{\mathbf{x}^*}) }{ \htmlClass{sdt-0000000131}{X}measureFunction(\htmlClass{sdt-0000000081}{\mathbf{x}^*}) + \htmlClass{sdt-0000000131}{X}measureFunction(\htmlClass{sdt-0000000046}{\mathbf{x}}_n) }\]

Symbols Used:

This symbol represents a random proposal for the next state in the sampling sequence.

\( X \)

This symbol describes the Z-Transform, a mathematical tool used in digital signal processing and control systems to analyze discrete-time signals.

\( \mathbf{x} \)

This symbol represents a state of the dynamical system at some time point.

\( P_{\text{accept}} \)

This symbol represents the probability of accepting a proposal for the next state.

Example

For simpler representation, let the ratio:

\[ r = \frac{\htmlClass{sdt-0000000133}{F}(\htmlClass{sdt-0000000081}{\mathbf{x}^*})}{\htmlClass{sdt-0000000133}{F}(\htmlClass{sdt-0000000046}{\mathbf{x}}_n)} \]

This allows us to write the acceptance probability in terms of \( r \) as follows:

\[ \htmlClass{sdt-0000000131}{X}acceptanceProbability(\htmlClass{sdt-0000000081}{\mathbf{x}^*} \,\vert\; \htmlClass{sdt-0000000046}{\mathbf{x}}_n) = \frac{ r }{ r + 1 } \]

Assume we would like to sample from the Boltzmann distribution:

\[p(\htmlClass{sdt-0000000091}{\mathbf{s}}) = \frac{1}{\htmlClass{sdt-0000000077}{Z}} \exp\left\{ - \frac{ \htmlClass{sdt-0000000100}{E}(\htmlClass{sdt-0000000091}{\mathbf{s}}) }{ \htmlClass{sdt-0000000029}{T} } \right\}\]

We can assign the measure function to the (normalized or not) probability value:

\[ \htmlClass{sdt-0000000131}{X}measureFunction(\htmlClass{sdt-0000000046}{\mathbf{x}}) = \exp\left\{ - \frac{ \htmlClass{sdt-0000000100}{E}(\htmlClass{sdt-0000000046}{\mathbf{x}}) }{ \htmlClass{sdt-0000000029}{T} } \right\} \]

This gives a value for the ratio \( r \):

\[ \begin{align*} r &= \frac{\htmlClass{sdt-0000000131}{X}measureFunction(\htmlClass{sdt-0000000081}{\mathbf{x}^*})}{\htmlClass{sdt-0000000131}{X}measureFunction(\htmlClass{sdt-0000000046}{\mathbf{x}}_n)} = \frac{ \exp\left\{ - \frac{ \htmlClass{sdt-0000000100}{E}(\htmlClass{sdt-0000000081}{\mathbf{x}^*}) }{ \htmlClass{sdt-0000000029}{T} } \right\} }{ \exp\left\{ - \frac{ \htmlClass{sdt-0000000100}{E}(\htmlClass{sdt-0000000046}{\mathbf{x}}_n) }{ \htmlClass{sdt-0000000029}{T} } \right\} } \\ &= \exp\left\{ - \frac{1}{\htmlClass{sdt-0000000029}{T}} \left[ \htmlClass{sdt-0000000100}{E}(\htmlClass{sdt-0000000081}{\mathbf{x}^*}) - \htmlClass{sdt-0000000100}{E}(\htmlClass{sdt-0000000046}{\mathbf{x}}_n) \right] \right\} \\ &= \exp\left\{ \frac{1}{\htmlClass{sdt-0000000029}{T}} \left[ \htmlClass{sdt-0000000100}{E}(\htmlClass{sdt-0000000046}{\mathbf{x}}_n) - \htmlClass{sdt-0000000100}{E}(\htmlClass{sdt-0000000081}{\mathbf{x}^*}) \right] \right\} \\ r &= \exp\left\{ \htmlClass{sdt-0000000100}{E}(\htmlClass{sdt-0000000046}{\mathbf{x}}_n) - \htmlClass{sdt-0000000100}{E}(\htmlClass{sdt-0000000081}{\mathbf{x}^*}) \right\}^{ \frac{ 1 }{ \htmlClass{sdt-0000000029}{T} }} \end{align*} \]

The Boltzmann acceptance probability for \( \htmlClass{sdt-0000000081}{\mathbf{x}^*} \) can now be easily computed, knowing the energy of the two states and the temperature of the system.

References

  1. Jaeger, H. (n.d.). Neural Networks (AI) (WBAI028-05) Lecture Notes BSc program in Artificial Intelligence. Retrieved June 9, 2024, from https://www.ai.rug.nl/minds/uploads/LN_NN_RUG.pdf