Bennett acceptance ratio
# Bennett acceptance ratio

The Bennett acceptance ratio method (BAR) is an algorithm for estimating the difference in free energy between two systems (usually the systems will be simulated on the computer). It was suggested by Charles H. Bennett in 1976.

## Preliminaries

Take a system in a certain super (i.e. Gibbs) state. By performing a Metropolis Monte Carlo walk it is possible to sample the landscape of states that the system moves between, using the equation

    $p({\text{State}}_{x}\rightarrow {\text{State}}_{y})=\min \left(e^{-\beta \,\Delta U},1\right)=M(\beta \,\Delta U)$

where ΔU = $U(State_y)$ − $U(State_x)$ is the difference in potential energy, β = 1/kT (T is the temperature in kelvins, while k is the Boltzmann constant), and $M(x)\equiv \min(e^{-x},1)$ is the Metropolis function. The resulting states are then sampled according to the Boltzmann distribution of the super state at temperature T. Alternatively, if the system is dynamically simulated in the canonical ensemble (also called the NVT ensemble), the resulting states along the simulated trajectory are likewise distributed. Averaging along the trajectory (in either formulation) is denoted by angle brackets $\left\langle \cdots \right\rangle$.

Suppose that two super states of interest, A and B, are given. We assume that they have a common configuration space, i.e., they share all of their micro states, but the energies associated to these (and hence the probabilities) differ because of a change in some parameter (such as the strength of a certain interaction).

The basic question to be addressed is, then, how can the Helmholtz free energy change (ΔF = $F_B$ − $F_A)$ on moving between the two super states be calculated from sampling in both ensembles? The kinetic energy part in the free energy is equal between states so can be ignored. Also the Gibbs free energy corresponds to the NpT ensemble.

## The general case

Bennett shows that for every function f satisfying the condition $f(x)/f(-x)\equiv e^{-x}$ (which is essentially the detailed balance condition), and for every energy offset C, one has the exact relationship

    $e^{-\beta (\Delta F-C)}={\frac {\left\langle f\left(\beta (U_{\text{B}}-U_{\text{A}}-C)\right)\right\rangle _{\text{A}}}{\left\langle f\left(\beta (U_{\text{A}}-U_{\text{B}}+C)\right)\right\rangle _{\text{B}}}}$

where $U_A$ and $U_B$ are the potential energies of the same configurations, calculated using potential function A (when the system is in superstate A) and potential function B (when the system is in the superstate B) respectively.

## The basic case

Substituting for f the Metropolis function defined above (which satisfies the detailed balance condition), and setting C to zero, gives

    $e^{-\beta \Delta F}={\frac {\left\langle M\left(\beta (U_{\text{B}}-U_{\text{A}})\right)\right\rangle _{\text{A}}}{\left\langle M\left(\beta (U_{\text{A}}-U_{\text{B}})\right)\right\rangle _{\text{B}}}}$

The advantage of this formulation (apart from its simplicity) is that it can be computed without performing two simulations, one in each specific ensemble. Indeed, it is possible to define an extra kind of "potential switching" Metropolis trial move (taken every fixed number of steps), such that the single sampling from the "mixed" ensemble suffices for the computation.

## The most efficient case

Bennett explores which specific expression for ΔF is the most efficient, in the sense of yielding the smallest standard error for a given simulation time. He shows that the optimal choice is to take

* $f(x)\equiv {\frac {1}{1+e^{x}}}$, which is essentially the Fermi–Dirac distribution (satisfying indeed the detailed balance condition).
* $C\approx \Delta F$. This value, of course, is not known (it is exactly what one is trying to compute), but it can be approximately chosen in a self-consistent manner.

Some assumptions needed for the efficiency are the following:

* The densities of the two super states (in their common configuration space) should have a large overlap. Otherwise, a chain of super states between A and B may be needed, such that the overlap of each two consecutive super states is adequate.
* The sample size should be large. In particular, as successive states are correlated, the simulation time should be much larger than the correlation time.
* The cost of simulating both ensembles should be approximately equal - and then, in fact, the system is sampled roughly equally in both super states. Otherwise, the optimal expression for C is modified, and the sampling should devote equal times (rather than equal number of time steps) to the two ensembles.

## Multistate Bennett acceptance ratio

The multistate Bennett acceptance ratio (MBAR) is a generalization of the Bennett acceptance ratio that calculates the (relative) free energies of several multi states. It essentially reduces to the BAR method when only two super states are involved.

## Relation to other methods

### The perturbation theory method

This method, also called Free energy perturbation (or FEP), involves sampling from state A only. It requires that all the high probability configurations of super state B are contained in high probability configurations of super state A, which is a much more stringent requirement than the overlap condition stated above.

**The exact (infinite order) result**


    $e^{-\beta \Delta F}=\left\langle e^{-\beta (U_{\text{B}}-U_{\text{A}})}\right\rangle _{\text{A}}$

or

    $\Delta F=-kT\cdot \log \left\langle e^{\beta (U_{\text{A}}-U_{\text{B}})}\right\rangle _{\text{A}}$

This exact result can be obtained from the general BAR method, using (for example) the Metropolis function, in the limit $C\rightarrow -\infty$. Indeed, in that case, the denominator of the general case expression above tends to 1, while the numerator tends to $e^{\beta C}\left\langle e^{-\beta (U_{\text{B}}-U_{\text{A}})}\right\rangle _{\text{A}}$. A direct derivation from the definitions is more straightforward, though.

**The second order (approximate) result**

Assuming that $U_{\text{B}}-U_{\text{A}}\ll kT$ and Taylor expanding the second exact perturbation theory expression to the second order, one gets the approximation

    $\Delta F\approx \left\langle U_{\text{B}}-U_{\text{A}}\right\rangle _{\text{A}}-{\frac {\beta }{2}}\left(\left\langle (U_{\text{B}}-U_{\text{A}})^{2}\right\rangle _{\text{A}}-\left(\left\langle (U_{\text{B}}-U_{\text{A}})\right\rangle _{\text{A}}\right)^{2}\right)$

Note that the first term is the expected value of the energy difference, while the second is essentially its variance.

**The first order inequalities**

Using the convexity of the log function appearing in the exact perturbation analysis result, together with Jensen's inequality, gives an inequality in the linear level; combined with the analogous result for the B ensemble one gets the following version of the Gibbs-Bogoliubov inequality:

    $\langle U_{\text{B}}-U_{\text{A}}\rangle _{\text{B}}\leq \Delta F\leq \langle U_{\text{B}}-U_{\text{A}}\rangle _{\text{A}}$

Note that the inequality agrees with the negative sign of the coefficient of the (positive) variance term in the second order result.

### The thermodynamic integration method

writing the potential energy as depending on a continuous parameter, $U_{\text{A}}=U(\lambda =0),U_{\text{B}}=U(\lambda =1),$

one has the exact result ${\frac {\partial F(\lambda )}{\partial \lambda }}=\left\langle {\frac {\partial U(\lambda )}{\partial \lambda }}\right\rangle _{\lambda }$ This can either be directly verified from definitions or seen from the limit of the above Gibbs-Bogoliubov inequalities when ${\text{A}}=\lambda ^{+},{\text{B}}=\lambda ^{-}$. we can therefore write

    $\Delta F=\int _{0}^{1}\left\langle {\frac {\partial U(\lambda )}{\partial \lambda }}\right\rangle \,d\lambda$

which is the thermodynamic integration (or TI) result. It can be approximated by dividing the range between states A and B into many values of λ at which the expectation value is estimated, and performing numerical integration.

## Implementation

The Bennett acceptance ratio method is implemented in modern molecular dynamics systems, such as Gromacs. Python-based code for MBAR and BAR is available for download at .

