We examine the "Guessing Secrets" problem arising in internet routing, in which the goal is to discover the identity of two objects from a known finite set
Ω by asking yes/no questions. The best known classical algorithm requires
O(logN) questions and
O(log2N) steps to process the answers, where
N=∣Ω∣. We apply the Deutsch-Jozsa algorithm and show that the number of necessary calls to the oracle is independent of the size of the domain and that the output from each run of the algorithm has immediate meaning. In doing so, we extend the types of questions that the quantum algorithms can be used to solve.
This presentation gives a comprehensive overview of quantum query algorithms, beginning with an introduction to the query model of computation where input is accessed via an oracle function. It then details several foundational quantum algorithms that demonstrate a quantum advantage over classical approaches: Deutsch's problem is solved with a single query using phase kickback to determine if a function is constant or balanced; the Deutsch-Jozsa algorithm extends this to n-bit inputs, efficiently distinguishing constant from balanced functions with one query versus an exponential need classically; the Bernstein-Vazirani algorithm identifies a hidden string with one query, outperforming classical linear requirements; and Simon's algorithm, which finds a hidden period in a two-to-one function with a linear number of queries, showcases an exponential speedup over the best classical probabilistic algorithms.
The Deutsch-Jozsa algorithm is one of the first examples of a quantum algorithm that is exponentially faster than any possible deterministic classical algorithm. It was proposed by Deutsch and Jozsa in 1992 with improvements by Cleve, Ekert, Macchiavello, and Mosca in 1998. The Deutsch-Jozsa problem is a promise problem and we can equivalently describe it as a partial function ${\text{DJ}}_{n}^{0}:{{0,1}}^{n}\ensuremath{\rightarrow}{0,1}$ defined as
DJn0(x)=1 for
∣x∣=n/2,DJn0(x)=0 for
∣x∣=0,n, and it is undefined for the rest of the cases, where
n is even, and
∣x∣ is the Hamming weight of
x. The optimal quantum algorithm needs only one query to compute
DJn0 but the classical deterministic algorithm requires ${2}^{n\ensuremath{-}1}+1$ queries to compute it in the worse case. In this article, we generalize the Deutsch-Jozsa problem as
DJnk(x)=1 for
∣x∣=n/2,DJnk(x)=0 for
∣x∣ in the set ${0,1,...,k,n\ensuremath{-}k,n\ensuremath{-}k+1,...,n}$, and it is undefined for the rest of the cases, where $0\ensuremath{\le}k<n/2$. In particular, we give and prove an optimal exact quantum query algorithm with complexity
k+1 for computing the generalized Deutsch-Jozsa problem
DJnk. It is clear that the case of
k=0 is in accordance with the Deutsch-Jozsa problem. Also, we give a method for finding the approximate and exact degrees of symmetric partial Boolean functions.
Abstract In 1985, David Deutsch proposed the original quantum algorithm, a simple yet remarkable demonstration of the enhanced computational power offered by quantum mechanics. Deutsch’s algorithm provides a reduction in the number of queries to an unknown function required to discern some property of that function, relative to the best possible classical counterpart. This is known as an advantage in query complexity, and whilst the attention of the quantum computing community has, by and large, moved on to quantum algorithms that provide an advantage in computational rather than query complexity, it is still instructive to study some of the most important quantum algorithms for query problems. Such algorithms are historically important and, moreover, reveal the source of the computational power of quantum mechanics in a clear and easy to understand manner. This chapter studies four algorithms for query problems: Deutsch’s algorithm, the Deutsch–Jozsa algorithm, the Bernstein–Vazirani algorithm, and Simon’s algorithm.
Deutsch's algorithm and Grover's quantum search are theoretically interesting, but it is not obvious that these two algorithms are actually useful for anything important. We next consider a selection of more advanced algorithms, several of which may have real-life applications. Some of these will be too complicated to explain fully, and their properties will only be sketched briefly. The Deutsch–Jozsa algorithm Deutsch's algorithm is simple, but important, as it shows that a quantum algorithm can find a property of an unknown function (its parity) with a smaller number of queries than any possible classical algorithm (one rather than two). For this reason we can say that quantum computing is more efficient than classical computing within the oracle model of function evaluation. (It is widely believed that quantum computing is more efficient than classical computing in general, but this is a surprisingly hard thing to prove.) The simplicity of the algorithm is also an advantage, as it can be implemented on very primitive quantum computers. Beyond this, however, Deutsch's algorithm is also important as the simplest member of a large family of quantum algorithms, including most notably Shor's quantum factoring algorithm. The second simplest algorithm in the family is the Deutsch–Jozsa algorithm, which solves a very closely related problem. Consider an unknown binary function with n input bits, giving N = 2 n possible inputs, and a single output bit.