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. This result motivates a temporal and spatial metric of quantum advantage. 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机器代码子集从C子集到量子反射优化(QUBO)模型中可以通过量子反射机器解决的二次调整的二进制优化(QUBO)模型中比变量多的方位数:考虑到一个受约束的美元,一个程序需要投入美元(P美元),因此,美元运行到一个特定的程序状态不超过美元(E$),只要QUBO模型($-n美元)的QUB 模型对美元进行以美元计价为零。因此,如果QUBO模型中比QUBO模型的变量多,那么模型的量子(QUBO)的量子(QQQQQB),在固定的输入时间值中, 某些输入的美元(I美元,只有美元美元以美元计算美元货币货币的美元, 才能将一个货币货币的量值转换成一个货币的量子体数。(nP2) 将一个硬度的量的量的量的量值转换成一个硬度执行引擎和捆绑定的模型检查器的量的量, 将一个货币的货币的量的量的量的量的量的值的值的值的值的量值的量值的值的值的值的值的值 运行到一个硬质值的值 。