Classical polynomial-time algorithm estimates single output probabilities of shallow quantum circuits
The authors give a deterministic classical algorithm that estimates the probability of a specific output string from a shallow quantum circuit to within an additive error ε in polynomial time in the number of qubits n and 1/ε. In plain terms, for a constant-depth quantum circuit made of gates that each act on a fixed small number of qubits (bounded fan-in), their algorithm computes |⟨x|U|0^n⟩|^2 with error at most ε in time poly(n,1/ε). "Constant-depth" means the circuit uses only a constant number of layers of gates, independent of n.
Why this matters: shallow circuits are important for near-term quantum devices that cannot run many layers before noise ruins the result. They are also a central setting for studying potential quantum advantages over classical computation. Earlier classical algorithms for this task were slower: roughly n^{O(log n)} time for arbitrary connectivity, n^{O(log log n)} when gates are geometrically local, and polynomial time only for 2D nearest-neighbor circuits. This work removes the connectivity restriction and achieves polynomial running time for every fixed depth and gate arity.
How the algorithm works at a high level: the authors exploit two features of shallow circuits. First, two output bits can only be correlated if their parts of the circuit share a causal "light cone," so the natural connectivity graph of potential correlations has bounded degree. Second, for many output bits the circuit makes the bit likely to match the target string x (these are called "good" bits), so the distribution is sharply peaked on strings close to x. The method splits the outputs into good and bad bits, rewrites the target probability as a sum over small connecting regions, and then computes the needed marginal probabilities on the good parts using a cluster expansion technique (a well-known tool that approximates distributions that are small perturbations of an exactly solvable case). An inclusion–exclusion argument bounds the error coming from correlations with the bad bits, allowing the algorithm to truncate the sum and remain efficient.