Quantum counting algorithm
Quantum counting algorithm is a quantum algorithm for efficiently counting the number of solutions for a given search problem. The algorithm is based on the quantum phase estimation algorithm and on Grover's search algorithm.
Counting problems are common in diverse fields such as statistical estimation, statistical physics, networking, etc. As for quantum computing, the ability to perform quantum counting efficiently is needed in order to use Grover's search algorithm (because running Grover's search algorithm requires knowing how many solutions exist). Moreover, this algorithm solves the quantum existence problem (namely, deciding whether any solution exists) as a special case.
The algorithm was devised by Gilles Brassard, Peter Høyer and Alain Tapp in 1998.
Consider a finite set of size and a set of "solutions" (that is a subset of ). Define:
In other words, is the indicator function of .
Without any prior knowledge on the set of solutions (or the structure of the function ), a classical deterministic solution cannot perform better than , because all the elements of must be inspected (consider a case where the last element to be inspected is a solution).
The input consists of two registers (namely, two parts): the upper qubits comprise the first register, and the lower qubits are the second register.
The initial state of the system is . After applying multiple bit Hadamard gate operation on each of the registers separately, the state of the first register is
and the state of the second register is
an equal superposition state in the computational basis.
which is the state of the second register after the Hadamard transform.
in the orthonormal basis .:252:149
Estimating the value of
From here onwards, we follow the quantum phase estimation algorithm scheme: we apply controlled Grover operations followed by inverse quantum fourier transform; and according to the analysis, we will find the best -bit approximation to the real number (belonging to the eigenvalues of the Grover operator) with probability higher than .:348:157
Note that the second register is actually in a superposition of the eigenvectors of the Grover operator (while in the original quantum phase estimation algorithm, the second register is the required eigenvector). This means that with some probability, we approximate , and with some probability, we approximate ; those two approximations are equivalent.:224–225
Thus, if we find , we can also find the value of (because is known).
is determined by the error within estimation of the value of . The quantum phase estimation algorithm finds, with high probability, the best -bit approximation of ; this means that if is large enough, we will have , hence .:263
Grover's search algorithm for an initially-unknown number of solutions
Thus, if is known and is calculated by the quantum counting algorithm, the number of iterations for Grover's algorithm is easily calculated.
Speeding up NP-complete problems
The quantum counting algorithm can be used to speed up solution to problems which are NP-complete.
A simple solution to the Hamiltonian cycle problem is checking, for each ordering of the vertices of , whether it is a Hamiltonian cycle or not. Searching through all the possible orderings of the graph's vertices can be done with quantum counting followed by Grover's algorithm, achieving a speedup of the square root, similar to Grover's algorithm.:264 This approach finds a Hamiltonian cycle (if exists); for determining whether a Hamiltonian cycle exists, the quantum counting algorithm itself is sufficient (and even the quantum existence algorithm, described below, is sufficient).
Quantum existence problem
Quantum existence problem is a special case of quantum counting where we do not want to calculate the value of , but we only wish to know whether or not. A trivial solution to this problem is directly using the quantum counting algorithm: the algorithm yields , so by checking whether we get the answer to the existence problem. This approach involves some overhead information because we are not interested in the value of .
- Brassard, Gilles; Hoyer, Peter; Tapp, Alain (July 13–17, 1998). Automata, Languages and Programming (25th International Colloquium ed.). ICALP'98 Aalborg, Denmark: Springer Berlin Heidelberg. pp. 820–831. arXiv:quant-ph/9805082. doi:10.1007/BFb0055105. ISBN 978-3-540-64781-2.
- Chuang, Michael A. Nielsen & Isaac L. (2001). Quantum computation and quantum information (Repr. ed.). Cambridge [u.a.]: Cambridge Univ. Press. ISBN 978-0521635035.
- Benenti, Guiliano; Strini, Giulio Casati, Giuliano (2004). Principles of quantum computation and information (Reprinted. ed.). New Jersey [u.a.]: World Scientific. ISBN 978-9812388582.
- Cleve, R.; Ekert, A.; Macchiavello, C.; Mosca, M. (8 January 1998). "Quantum algorithms revisited". Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences. 454 (1969). arXiv:quant-ph/9708016. Bibcode:1998RSPSA.454..339C. doi:10.1098/rspa.1998.0164.