**Deutsch**–Jozsa algorithm

The ** Deutsch–Jozsa algorithm** is a deterministic quantum algorithm proposed by David

**Deutsch**and Richard Jozsa in 1992 with improvements by Richard Cleve, Artur Ekert, Chiara Macchiavello, and Michele Mosca in 1998.

^{[1]}

^{[2]}Although of little current practical use, it is one of the first examples of a quantum algorithm that is exponentially faster than any possible deterministic classical algorithm.

^{[3]}

## Problem statement[edit]

In the **Deutsch**–Jozsa problem, we are given a black box quantum computer known as an oracle that implements some function . The function takes n-bit binary values as input and produces either a 0 or a 1 as output for each such value. We are promised that the function is either constant (0 on all inputs or 1 on all inputs) or *balanced* (returns 1 for half of the input domain and 0 for the other half).^{[1]} The task then is to determine if is constant or balanced by using the oracle.

## Motivation[edit]

The **Deutsch**–Jozsa problem is specifically designed to be easy for a quantum algorithm and hard for any deterministic classical algorithm. The motivation is to show a black box problem that can be solved efficiently by a quantum computer with no error, whereas a deterministic classical computer would need a large number of queries to the black box to solve the problem. More formally, it yields an oracle relative to which **EQP**, the class of problems that can be solved exactly in polynomial time on a quantum computer, and **P** are different.^{[4]}

Since the problem is easy to solve on a probabilistic classical computer, it does not yield an oracle separation with **BPP**, the class of problems that can be solved with bounded error in polynomial time on a probabilistic classical computer. Simon's problem is an example of a problem that yields an oracle separation between **BQP** and **BPP**.

## Classical solution[edit]

For a conventional deterministic algorithm where *n* is number of bits, evaluations of will be required in the worst case. To prove that is constant, just over half the set of inputs must be evaluated and their outputs found to be identical (remembering that the function is guaranteed to be either balanced or constant, not somewhere in between). The best case occurs where the function is balanced and the first two output values that happen to be selected are different. For a conventional randomized algorithm, a constant evaluations of the function suffices to produce the correct answer with a high probability (failing with probability with ). However, evaluations are still required if we want an answer that is always correct. The **Deutsch**-Jozsa quantum algorithm produces an answer that is always correct with a single evaluation of .

## History[edit]

The **Deutsch**–Jozsa algorithm generalizes earlier (1985) work by David **Deutsch**, which provided a solution for the simple case where .

Specifically we were given a boolean function whose input is 1 bit, and asked if it is constant.^{[5]}

The algorithm as **Deutsch** had originally proposed it was not, in fact, deterministic. The algorithm was successful with a probability of one half.
In 1992, **Deutsch** and Jozsa produced a deterministic algorithm which was generalized to a function which takes bits for its input. Unlike **Deutsch**'s algorithm, this algorithm required two function evaluations instead of only one.

Further improvements to the **Deutsch**–Jozsa algorithm were made by Cleve et al.,^{[2]} resulting in an algorithm that is both deterministic and requires only a single query of . This algorithm is still referred to as **Deutsch**–Jozsa algorithm in honour of the groundbreaking techniques they employed.^{[2]}

## Algorithm[edit]

For the **Deutsch**–Jozsa algorithm to work, the oracle computing from has to be a quantum oracle which doesn't decohere . It also mustn't leave any copy of lying around at the end of the oracle call.

The algorithm begins with the bit state . That is, the first n bits are each in the state and the final bit is . A Hadamard transform is applied to each bit to obtain the state

- .

We have the function implemented as a quantum oracle. The oracle maps the state to , where is addition modulo 2 (see below for details of implementation). Applying the quantum oracle gives

- .

For each is either 0 or 1. Testing these two possibilities, we see the above state is equal to

- .

At this point the last qubit may be ignored and the following remains:

- .

We apply a Hadamard transform to each qubit to obtain

where is the sum of the bitwise product (where is addition modulo 2).

Finally we examine the probability of measuring ,

which evaluates to 1 if is constant (constructive interference) and 0 if is balanced (destructive interference). In other words, the final measurement will be (i.e. all zeros) if is constant and will yield some other states if is balanced.

**Deutsch**'s algorithm[edit]

**Deutsch**'s algorithm is a special case of the general **Deutsch**–Jozsa algorithm where n = 1 in . We need to check the condition . It is equivalent to check (where is addition modulo 2, which can also be viewed as a quantum XOR gate implemented as a Controlled NOT gate), if zero, then is constant, otherwise is not constant.

We begin with the two-qubit state and apply a Hadamard transform to each qubit. This yields

We are given a quantum implementation of the function that maps to . Applying this function to our current state we obtain

We ignore the last bit and the global phase and therefore have the state

Applying a Hadamard transform to this state we have

if and only if we measure and if and only if we measure . So with certainty we know whether is constant or balanced.

## See also[edit]

## References[edit]

- ^
^{a}^{b}David**Deutsch**& Richard Jozsa (1992). "Rapid solutions of problems by quantum computation".*Proceedings of the Royal Society of London A*.**439**(1907): 553–558. Bibcode:1992RSPSA.439..553D. CiteSeerX 10.1.1.655.5997. doi:10.1098/rspa.1992.0167. S2CID 121702767. - ^
^{a}^{b}^{c}R. Cleve; A. Ekert; C. Macchiavello; M. Mosca (1998). "Quantum algorithms revisited".*Proceedings of the Royal Society of London A*.**454**(1969): 339–354. arXiv:quant-ph/9708016. Bibcode:1998RSPSA.454..339C. doi:10.1098/rspa.1998.0164. S2CID 16128238. **^**Simon, Daniel (November 1994). "On the Power of Quantum Computation".*94 Proceedings of the 35th Annual Symposium on Foundations of Computer Science*: 116–123. doi:10.1109/SFCS.1994.365701. ISBN 0-8186-6580-7. S2CID 7457814.**^**Johansson, N.; Larsson, JÅ. (2017). "Efficient classical simulation of the**Deutsch**–Jozsa and Simon's algorithms".*Quantum Inf Process (2017)*.**16**(9): 233. arXiv:1508.05027. Bibcode:2017QuIP...16..233J. doi:10.1007/s11128-017-1679-7. S2CID 28670540.**^**David**Deutsch**(1985). "Quantum Theory, the Church-Turing Principle and the Universal Quantum Computer".*Proceedings of the Royal Society of London A*.**400**(1818): 97–117. Bibcode:1985RSPSA.400...97D. CiteSeerX 10.1.1.41.2382. doi:10.1098/rspa.1985.0070. S2CID 1438116.