Opening the Black Box Inside Grover's Algorithm (2303.11317v2)
Abstract: Grover's algorithm is a primary algorithm offered as evidence that quantum computers can provide an advantage over classical computers. It involves an "oracle" specified for a given application whose structure is not part of the formal scaling of the quadratic speedup guaranteed by the algorithm. Grover's algorithm also requires exponentially many calls to the quantum oracle to succeed (about $\sqrt{2n}$ calls for $n$ qubits), raising the question of its implementation on both noisy and error-corrected quantum computers. In this work, we construct a quantum-inspired algorithm, executable on a classical computer, that performs Grover's task in a linear number of calls to (simulations of) the oracle - an exponentially smaller number than Grover's algorithm - and demonstrate this algorithm explicitly for Boolean satisfiability problems. The complexity of our algorithm depends on the cost to simulate the oracle once which may or may not be exponential. Indeed, Grover's algorithm does not have an a priori quantum speedup as soon as one is given access to the "source code" of the oracle. Our findings illustrate this point explicitly as our algorithm exploits the structure of the quantum circuit used to program the quantum computer to speed up the search. There remain problems where Grover's algorithm would provide an asymptotic speedup if it could be run accurately for large enough sizes. Our quantum-inspired algorithm provides lower bounds, in terms of circuit complexity, for quantum hardware to beat classical approaches for these problems. These estimates, combined with the unfavorable scaling of the success probability of Grover's algorithm - which in the presence of noise decays as a double exponential in the number of qubits - makes a practical speedup unrealistic even under extremely optimistic assumptions of the evolution of both hardware quality and availability.