A sampler for any system whose risk is dominated by pairwise correlated failure. The Hamiltonian and the algorithm are fixed; the domain only changes what the couplings mean.
Every node carries a binary state \( z_i = \pm 1 \): operating or failed. Failure propagates along pairwise couplings \( J_{ij} \), each node has an intrinsic vulnerability \( h_i \), and the aggregate stress level enters as a temperature \( 1/\beta \). That is the complete specification of an Ising model on the network:
Nothing in this structure is domain specific. If a system has units that can fail, edges along which failure propagates, and a stress level, it is this model; only the reading of \( J_{ij} \) changes. The grid further down lists eight domains that share it, from financial contagion to rush-hour traffic.
The normaliser \( Z \) is a sum over \( 2^n \) configurations, and every question a decision-maker asks is an expectation under \( P(z) \): the probability that more than \( k \) institutions default together, the full covariance matrix, the marginal effect of stabilising one node. Exact enumeration is feasible at the sizes on this page (\( n \le 12 \), a few thousand states, re-enumerated in your browser for the ranking panel) and becomes hopeless as \( n \) grows past a few dozen. Sampling is the only general route, and the quantity that ranks interventions is exactly the one naive sampling measures worst.
An intervention is a field edit: stabilising node \( j \) by amount \( \omega \) means \( h_j \to h_j - \omega \). Its value is the response of \( \langle z_i \rangle \) to that edit, and the fluctuation-dissipation relation identifies the response with a covariance:
So the whole decision problem reduces to one estimation task: sample \( P(z) \) well enough that the covariances \( \chi_{ij} \) come out with the right sign and roughly the right size. Average \( \chi_{ij} \) over \( i \) and you have the marginal value of intervening at \( j \); sort those means and you have the intervention ranking.
Single-spin Metropolis proposes flipping one node at a time and accepts with
which converges to \( P(z) \) exactly. The difficulty is mixing time. Near a tipping point \( P(z) \) has two deep basins, most nodes healthy and most nodes failed, separated by a free-energy barrier. Single-spin moves that cross the barrier are exponentially rare, so within any realistic budget the chain sits in whichever basin it started in, and covariances estimated inside one basin give a ranking that is wrong in exactly the cases that matter.
QeMCMC changes the proposal and nothing else. A quantum circuit evolves under the Trotterised Hamiltonian
and its measurement is handed to the same classical Metropolis test above. That test is what keeps the chain exact: whatever noise the hardware injects, the stationary distribution is still \( P(z) \), because bad proposals are simply rejected. The bit-flip term in that mix lets a proposal move far in Hamming distance while staying close in energy, so the chain tunnels between basins instead of diffusing over the barrier. The measured advantage is a smaller iteration budget to reach a trustworthy \( \chi \); nothing is claimed about wall-clock time, and the quantum arm on this page is an exact statevector simulation.
| Ising object | Risk meaning | Consequence |
|---|---|---|
| \( z_i = \pm 1 \) | node survives / fails | one configuration is one complete scenario |
| \( J_{ij} \) | contagion strength between i and j | the correlated failure the model exists to capture |
| \( h_i \) | intrinsic vulnerability of node i | shifts marginal failure odds regardless of neighbours |
| \( 1/\beta \) | aggregate environmental stress | low: worst-case cascades dominate; high: failures look random |
| \( \chi_{ij} = \beta\, \mathrm{Cov}(z_i, z_j) \) | how much stabilising j helps i | fluctuation-dissipation makes it the intervention ranking |
Across the classical and quantum literature a shock enters an Ising risk model in exactly three ways, and all three are diagonal: they keep the target a classical Boltzmann distribution, which is what makes the Metropolis acceptance test and the exact certification possible at all.
An intervention is the same operation with the opposite sign, \( h_j \to h_j - \omega \). A bank bailout and a road widening are the same edit to the same object, which is why the sampler never has to know which domain it is in.
Given a large enough step budget, both samplers converge. The result is a time-to-accuracy gap: how many iterations each one needs before its intervention ranking matches the exact answer. The quantum arm here is an exact statevector simulation, so no wall-clock speedup is claimed. Per-step cost is reported alongside every result, and ground truth comes from exact \( 2^n \) enumeration, in your browser. The advantage is also empirical and small-scale: Layden et al. demonstrated it on 27 qubits at n = 10.
Each of these is the same Hamiltonian with a different reading of Jij. Two are built; the rest need only a coupling matrix and a vocabulary.
A domain is a good fit when three things hold: correlations dominate (if failures really are independent, a quantum sampler adds nothing); tail risk is the decision variable; and the coupling graph is sparse enough to keep proposal circuits shallow.
Finance and traffic, chosen because both have published classical baselines to check against. Each scenario replays a recorded run of QeMCMC against classical Metropolis on the same Hamiltonian, same temperature, same observables, and lets you score your own intervention.