Table of Contents
Fetching ...

Optimization of a Quantum Subset Sum Oracle

Angelo Benoit, Sam Schwartz, Ron K. Cytron

TL;DR

A new method for computing bit-string comparisons that avoids arbitrarily large multiple-control gates, and a simple modification to the oracle that allows for approximate solutions to the Subset Sum problem via Grover search are introduced.

Abstract

We investigate the implementation of an oracle for the Subset Sum problem for quantum search using Grover's algorithm. Our work concerns reducing the number of qubits, gates, and multi-controlled gates required by the oracle. We describe the compilation of a Subset Sum instance into a quantum oracle, using a Python library we developed for Qiskit and have published in GitHub. We then present techniques to conserve qubits and gates along with experiments showing their effectiveness on random instances of Subset Sum. These techniques include moving from fixed to varying-width arithmetic, using partial sums of a set's integers to determine specific integer widths, and sorting the set to obtain provably the most efficient partial sums. We present a new method for computing bit-string comparisons that avoids arbitrarily large multiple-control gates, and we introduce a simple modification to the oracle that allows for approximate solutions to the Subset Sum problem via Grover search.

Optimization of a Quantum Subset Sum Oracle

TL;DR

A new method for computing bit-string comparisons that avoids arbitrarily large multiple-control gates, and a simple modification to the oracle that allows for approximate solutions to the Subset Sum problem via Grover search are introduced.

Abstract

We investigate the implementation of an oracle for the Subset Sum problem for quantum search using Grover's algorithm. Our work concerns reducing the number of qubits, gates, and multi-controlled gates required by the oracle. We describe the compilation of a Subset Sum instance into a quantum oracle, using a Python library we developed for Qiskit and have published in GitHub. We then present techniques to conserve qubits and gates along with experiments showing their effectiveness on random instances of Subset Sum. These techniques include moving from fixed to varying-width arithmetic, using partial sums of a set's integers to determine specific integer widths, and sorting the set to obtain provably the most efficient partial sums. We present a new method for computing bit-string comparisons that avoids arbitrarily large multiple-control gates, and we introduce a simple modification to the oracle that allows for approximate solutions to the Subset Sum problem via Grover search.
Paper Structure (23 sections, 9 equations, 8 figures)

This paper contains 23 sections, 9 equations, 8 figures.

Figures (8)

  • Figure 1: Overview of the steps for generating an oracle. $S$ is the set of integers and $T$ is the target for the sum. The $k$ value is described in Section \ref{['sec:opt']}.
  • Figure 2: Addition of qubits $v$ and $w$. As this is the first addition, the carry-in is the $\ket{0}$ qubit at the top of the circuit. The circuit was generated by Qiskit using our library.
  • Figure 3: Current method to determine $v=w$. In (a), qubits $v_i$ and $w_i$ are compared via exclusive-or, with the resulting same bit $\ket{0}$ if and only if they agree. The circuit continues in (b), where the multi-controlled X gate checks that all of the $same$ control bits are 0.
  • Figure 4: Example for approximate matching of $T$, with the bits of $T=157$ shown on the bottom.
  • Figure 5: Percentage of qubits saved over Fixed 32 bit by optimization (max value in set = 64, 128, 256 respectively)
  • ...and 3 more figures

Theorems & Definitions (1)

  • proof