# Multicanonical ensemble

In statistics and physics, multicanonical ensemble (also called multicanonical sampling or flat histogram) is a Markov chain Monte Carlo sampling technique that uses the Metropolis–Hastings algorithm to compute integrals where the integrand has a rough landscape with multiple local minima. It samples states according to the inverse of the density of states, which has to be known a priori or be computed using other techniques like the Wang and Landau algorithm. Multicanonical sampling is an important technique for spin systems like the Ising model or spin glasses.

## Motivation

In systems with a large number of degrees of freedom, like spin systems, Monte Carlo integration is required. In this integration, importance sampling and in particular the Metropolis algorithm, is a very important technique. However, the Metropolis algorithm samples states according to $\exp(-\beta E)$ where beta is the inverse of the temperature. This means that an energy barrier of $\Delta E$ on the energy spectrum is exponentially difficult to overcome. Systems with multiple local energy minima like the Potts model become hard to sample as the algorithm gets stuck in the system's local minima. This motivates other approaches, namely, other sampling distributions.

## Overview

Multicanonical ensemble uses the Metropolis–Hastings algorithm with a sampling distribution given by the inverse of the density of states of the system, contrary to the sampling distribution $\exp(-\beta E)$ of the Metropolis algorithm. With this choice, on average, the number of states sampled at each energy is constant, i.e. it is a simulation with a "flat histogram" on energy. This leads to an algorithm for which the energy barriers are no longer difficult to overcome. Another advantage over the Metropolis algorithm is that the sampling is independent of the temperature of the system, which means that one simulation allows the estimation of thermodynamical variables for all temperatures (thus the name "multicanonical": several temperatures). This is a great improvement in the study of first order phase transitions.
The biggest problem in performing a multicanonical ensemble is that the density of states has to be known a priori. One important contribution to multicanonical sampling was the Wang and Landau algorithm, which asymptotically converges to a multicanonical ensemble while calculating the density of states during the convergence.
The multicanonical ensemble is not restricted to physical systems. It can be employed on abstract systems which have a cost function F. By using the density of states with respect to F, the method becomes general for computing higher-dimensional integrals or finding local minima.

## Motivation

Consider a system and its phase-space $\Omega$ characterized by a configuration ${\boldsymbol {r}}$ in $\Omega$ and a "cost" function F from the system's phase-space to a one-dimensional space $\Gamma$: $F(\Omega )=\Gamma =[\Gamma _{\min },\Gamma _{\max }]$, the spectrum of F.
The computation of an average quantity $\langle Q\rangle$ over the phase-space requires the evaluation of an integral:
    $\langle Q\rangle =\int _{\Omega }Q({\boldsymbol {r}})P_{r}({\boldsymbol {r}})\,d{\boldsymbol {r}}$
where $P_{r}({\boldsymbol {r}})$ is the weight of each state (e.g. $P_{r}({\boldsymbol {r}})=1/V$ correspond to uniformly distributed states).
When Q does not depend on the particular state but only on the particular F's value of the state $F({\boldsymbol {r}})=F_{\boldsymbol {r}}$, the formula for $\langle Q\rangle$ can be integrated over f by adding a dirac delta function and be written as
    ${\begin{aligned}\langle Q\rangle &=\int _{\Gamma _{\min }}^{\Gamma _{\max }}\int _{\Omega }Q(F_{\boldsymbol {r}})P_{r}(F_{\boldsymbol {r}})\delta (f-F_{\boldsymbol {r}})\,d{\boldsymbol {r}}\,df\\&=\int _{\Gamma _{\min }}^{\Gamma _{\max }}Q(f)\int _{\Omega }\delta (f-F_{\boldsymbol {r}})P_{r}(F_{\boldsymbol {r}})\,d{\boldsymbol {r}}\,df\\&=\int _{\Gamma _{\min }}^{\Gamma _{\max }}Q(f)P(f)\,df\\\end{aligned}}$
where
    $P(f)=\int _{\Omega }P_{r}(r)\delta (f-F({\boldsymbol {r}}))\,d{\boldsymbol {r}}$
is the marginal distribution of F.
When the system has a large number of degrees of freedom, an analytical expression for $\langle Q\rangle$ is often hard to obtain, and Monte Carlo integration is typically employed in the computation of $\langle Q\rangle$. On the simplest formulation, the method chooses N uniformly distributed states ${\boldsymbol {r}}_{i}\in \Omega$, and uses the estimator
    ${\overline {Q}}_{N}=\sum _{i=1}^{N}Q({\boldsymbol {r}}_{i})VP_{r}({\boldsymbol {r}}_{i})$
for computing $\langle Q\rangle$ because ${\overline {Q}}_{N}$ converges almost surely to $\langle Q\rangle$ by the strong law of large numbers:
    $\lim _{N\rightarrow \infty }{\overline {Q}}_{N}=\langle Q\rangle .$
One typical problem of this convergence is that the variance of Q can be very high, which leads to a high computational effort to achieve reasonable results.
To improve this convergence, the Metropolis–Hastings algorithm was proposed. Generally, Monte Carlo methods' idea is to use importance sampling to improve the convergence of the estimator ${\overline {Q}}_{N}$ by sampling states according to an arbitrary distribution $\pi ({\boldsymbol {r}})$, and use the appropriate estimator:
    ${\overline {Q}}_{N}=\sum _{i=1}^{N}Q({\boldsymbol {r}}_{i})\pi ^{-1}({\boldsymbol {r}}_{i})P_{r}({\boldsymbol {r}}_{i})$.
This estimator generalizes the estimator of the mean for samples drawn from an arbitrary distribution. Therefore, when $\pi ({\boldsymbol {r}})$ is a uniform distribution, it corresponds the one used on a uniform sampling above.
When the system is a physical system in contact with a heat bath, each state ${\boldsymbol {r}}$ is weighted according to the Boltzmann factor, $P_{r}({\boldsymbol {r}}_{i})\propto \exp(-\beta F_{\boldsymbol {r}})$. In Monte Carlo, the canonical ensemble is defined by choosing $\pi ({\boldsymbol {r}})$ to be proportional to $P_{r}({\boldsymbol {r}}_{i})$. In this situation, the estimator corresponds to a simple arithmetic average:
    ${\overline {Q}}_{N}={\frac {1}{N}}\sum _{i=1}^{N}Q({\boldsymbol {r}}_{i})$
Historically, this occurred because the original idea was to use Metropolis–Hastings algorithm to compute averages on a system in contact with a heat bath where the weight is given by the Boltzmann factor, $P({\boldsymbol {x}})\propto \exp(-\beta E({\boldsymbol {r}}))$.
While it is often the case that the sampling distribution $\pi$ is chosen to be the weight distribution $P_{r}$, this does not need to be the case. One situation where the canonical ensemble is not an efficient choice is when it takes an arbitrarily long time to converge. One situation where this happens is when the function F has multiple local minima. The computational cost for the algorithm to leave a specific region with a local minimum exponentially increases with the cost function's value of the minimum. That is, the deeper the minimum, the more time the algorithm spends there, and the harder it will be to leave (exponentially growing with the depth of the local minimum).
One way to avoid becoming stuck in local minima of the cost function is to make the sampling technique "invisible" to local minima. This is the basis of the multicanonical ensemble.

## Multicanonical ensemble

The multicanonical ensemble is defined by choosing the sampling distribution to be
    $\pi ({\boldsymbol {r}})\propto {\frac {1}{P(F_{\boldsymbol {r}})}}$
where $P(f)$ is the marginal distribution of F defined above. The consequence of this choice is that the average number of samples with a given value of f, m(f), is given by
    $m(f)=\int _{\Omega }\delta (f-F_{\boldsymbol {r}})\pi ({\boldsymbol {r}})P_{r}({\boldsymbol {r}})\,d{\boldsymbol {r}}\propto \int _{\Omega }\delta (f-F_{\boldsymbol {r}})P_{r}({\boldsymbol {r}}){\frac {1}{P(F_{\boldsymbol {r}})}}d{\boldsymbol {r}}={\frac {1}{P(f)}}\int _{\Omega }\delta (f-F_{\boldsymbol {r}})P_{r}({\boldsymbol {r}})d{\boldsymbol {r}}=1$
that is, the average number of samples does not depend on f: all costs f are equally sampled regardless of whether they are more or less probable. This motivates the name "flat-histogram". For systems in contact with a heat bath, the sampling is independent of the temperature and one simulation allows to study all temperatures.

## Tunneling time and critical slowing down

Like in any other Monte Carlo method, there are correlations of the samples being drawn from $P({\boldsymbol {r}})$. A typical measurement of the correlation is the tunneling time. The tunneling time is defined by the number of Markov steps (of the Markov chain) the simulation needs to perform a round-trip between the minimum and maximum of the spectrum of F. One motivation to use the tunneling time is that when it crosses the spectra, it passes through the region of the maximum of the density of states, thus de-correlating the process. On the other hand using round-trips ensures that the system visits all the spectrum.
Because the histogram is flat on the variable F, a multicanonic ensemble can be seen as a diffusion process (i.e. a random walk) on the one-dimensional line of F values. Detailed balance of the process dictates that there is no drift on the process. This implies that the tunneling time, in local dynamics, should scale as a diffusion process, and thus the tunneling time should scale quadratically with the size of the spectrum, N:
    $\tau _{tt}\propto N^{2}$
However, in some systems (the Ising model being the most paradigmatic), the scaling suffers from critical slowing down: it is $N^{2+z}$ where $z>0$ depends on the particular system.
Non-local dynamics were developed to improve the scaling to a quadratic scaling (see the Wolff algorithm), beating the critical slowing down. However, it is still an open question whether there is a local dynamics that does not suffer from critical slowing down in spin systems like the Ising model.