We show how to translate a subset of RISC-V machine code compiled from a subset of C to quadratic unconstrained binary optimization (QUBO) models that can be solved by a quantum annealing machine: given a bound $n$, there is input $I$ to a program $P$ such that $P$ runs into a given program state $E$ executing no more than $n$ machine instructions if and only if the QUBO model of $P$ for $n$ evaluates to 0 on $I$. Thus, with more qubits on the machine than variables in the QUBO model, quantum annealing the model reaches 0 (ground) energy in constant time with high probability on some input $I$ that is part of the ground state if and only if $P$ runs into $E$ on $I$ in no more than $n$ instructions. Translation takes $\mathcal{O}(n^2)$ time turning a quantum annealer into a polynomial-time symbolic execution engine and bounded model checker, eliminating their path and state explosion problems. Here, we take advantage of the fact that any machine instruction may only increase the size of the program state by $\mathcal{O}(w)$ bits where $w$ is machine word size. Translation time comes down to $\mathcal{O}(n)$ if memory consumption of $P$ is bounded by a constant, establishing a linear (quadratic) upper bound on quantum space, in number of qubits, in terms of algorithmic time (space) in classical computing. The generated QUBO models only have $\mathcal{O}(2^w\cdot n^2)$ solutions out of $\mathcal{O}(2^{n^2})$ choices and only require $\mathcal{O}(wn)$ attempts to find a solution on a quantum machine. The construction motivates a temporal and spatial metric of quantum advantage and provides a non-relativizing argument for $NP\subseteq BQP$ effectively utilizing the optimality of Grover's algorithm. Our prototypical open-source toolchain translates machine code that runs on real RISC-V hardware to models that can be solved by real quantum annealing hardware, as shown in our experiments.
翻译:我们展示如何将从 C 子集中编译的 RISC- V 机器代码子集( $P$ ) 转换成 QUB 模型中比变量多的 QUBO 优化( QUBO) 模型中, 可以用量子反射的量子平方位( 美元) : 如果一个程序中输入美元, 美元不会超过美元, 执行一个特定程序状态 $E, 执行不超过美元 美元 的机器指令。 翻译需要美元美元=美元=美元 美元=美元 美元=美元 。 因此, 在QUBO 模型中, 更多的量子平价平方( 美元) 数字=美元 。 当我们用量子平时, 直线性模型的量子值 =( 美元) 只能用量子平价平方平方平方平方平方平方平方平方平方平方平方平方平方平方平方平方平方平方平方平方平方平方平方平方平调 。