What is the first quantum algorithm that students should learn? A common choice is the Deutsch-Jozsa algorithm because of its historical importance. However, the algorithm and the problem it solves are disconnected from familiar computational tasks and approaches. This paper provides an alternate starting point: the decision version of search. The main algorithmic idea is simple, involving encoding a function into a quantum state, and checking whether this quantum state is equal to a reference state. Moreover, we retain the Deutsch-Jozsa problem and algorithm as a special case of this presentation. We hope that students will find this a more satisfying start to studying quantum algorithms.
What is the first quantum algorithm that students should learn? A common choice is the Deutsch-Jozsa algorithm because of its historical importance. However, the algorithm and the problem it solves are disconnected from familiar computational tasks and approaches. This paper provides an alternate starting point: the decision version of search. The main algorithmic idea is simple, involving encoding a function into a quantum state, and checking whether this quantum state is equal to a reference state. Moreover, we retain the Deutsch-Jozsa problem and algorithm as a special case of this presentation. We hope that students will find this a more satisfying start to studying quantum algorithms.
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.
Quantum computing takes fully advantage of the superposition principle to increase greatly (even exponentially) the speed of calculations, relative to the classical approach. The Deutsch-Jozsa algorithm is the simplest quantum algorithm illustrating this power. Unfortunately, the standard derivation involves several ingenious steps which usually leave students feeling that they could never have figured out the algorithm by themselves. We present here a different formulation of the problem which allows students to derive the algorithm using only basic knowledge of quantum mechanics and linear algebra.
We are now ready to assemble quantum subroutines into quantum algorithms. A reasonable first question is: Are there problems which can be solved efficiently on a quantum computer? In his analysis of a universal quantum computer [25], Deutsch illustrated quantum parallelism by constructing a procedure to compute the parity f (0) ⊕ f (1) of a function on one bit. In a generalization of this context, Deutsch and Jozsa [27] defined a quantum algorithm that could solve a problem more efficiently than is possible on a classical computer. This problem helped motivate the search for algorithms that could solve “real” problems, and Simon [67] provided an example that inspired Shor’s subsequent work on the factoring problem and on the discrete logarithm problem. These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
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.
Although the basic ideas of quantum computation are fairly straightforward, the detailed manipulations required to extract a useful result from an entangled superposition of answers can be rather complicated. There are, however, a small number of algorithms which are simple enough to explain using only elementary methods. The best example is Deutsch's algorithm: as this only requires two qubits its properties are amenable to brute-force matrix calculations, and these calculations can be simplified using a variety of short cuts, which also give some insight into how and why the algorithm works. We will also explore the simplest case of Grover's quantum search algorithm, which is once again simple enough to be tacked by brute force. Finally we will look briefly at two methods used to stabilize quantum computers against errors. Deutsch's algorithm The invention of Deutsch's algorithm can be taken as defining the start of modern quantum computation, and it remains a key example, exhibiting many of the key properties of quantum algorithms in a particularly simple form. (Note, however, that the version of Deutsch's algorithm described here is not in fact the original but a later modification which is both more powerful and easier to understand.) Consider a binary function f from one bit to one bit, that is a function which takes in either 0 or 1 as its input and returns either 0 or 1 as its output. There are four such functions which may be conveniently labeled by their outputs as shown in Table 8.1.
That superpositions of states can be useful for performing tasks in quantum systems has been known since the early days of quantum information, but only recently has a quantitative theory of quantum coherence been proposed. Here we apply that theory to an analysis of the Deutsch-Jozsa algorithm, which depends on quantum coherence for its operation. The Deutsch-Jozsa algorithm solves a decision problem, and we focus on a probabilistic version of that problem, comparing probability of being correct for both classical and quantum procedures. In addition, we study a related decision problem in which the quantum procedure has one-sided error while the classical procedure has two-sided error. The role of coherence on the quantum success probabilities in both of these problems is examined.