0 1 1 1 or 0 1 1010 00 a quick example of such a

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: f such a function with n = 3 is 001 if x = 000 or 011 010 if x = 001 or 010 f ( x) = 100 if x = 111 or 100 111 if x = 110 or 101 where s = 011. The problem of Simon’s algorithm is to determine s. Classically A simple way to solve this problem classically would be to randomly input values to the black box until we find two inputs that produce the same output, and compute their direct sum. But there are 2n−1 possible outputs, so despite √ the help from the birthday paradox, we expect it to take 2n−1 = 2(n−1)/2 attempts to find s: still exponential time. 44 CHAPTER 4. FOURIER SAMPLING & SIMON’S ALGORITHM Furthermore, it can be shown that no classical computer can find s faster than exponential time. We will use the power of quantum computing to find a faster way. Quantum To utilize the power of quantum computing, we will access the function in superposition. So suppose instead of a black box we are given the circuit Cf for computing |f ￿, from which we can construct the unitary transformation Uf : | x￿ | x￿ Uf |0￿ | f ( x) ￿ Figure 4.2: Black Box Circuit The￿ point here is that the input can be a superposition over all n-bit ￿− − strings N=01 αx |x￿ (N = 2n ), yielding the output N=01 αx |x￿ |f (x)￿. This x x can be thought of as querying f in superposition. Simon’s Algorithm consists of 3 main steps. 1 Step 1: Prepare the random superposition √2 (|x0 ￿ + |x0 ⊕ s￿) Step 2: Use Fourier sampling to produce a y such that y · s = 0 Step 3: Repeat until there are enough such y ’s that we can classically solve for s. Now lets see the details on how to do each step. 1 Step 1: Prepare the random superposition √2 (|x0 ￿ + |x0 ⊕ s￿) First query the function with a uniform superposition of the n-bit strings. To prepare this uniform superposition, start with the state |0￿ then apply the Hadamard transform. With N = 2n , this is written: ￿ N −1 1￿ H ⊗n |0￿ |0￿ −→ | x ￿ | 0￿ N x=0 Next we will use the unitary transformation Uf to query f in uniform superposition. ￿ N −1 ￿ N −1 Uf 1￿ 1￿ |x￿ |0￿ −→ | x ￿ |f ( x ) ￿ N N x=0 x=0 Now what happens if we measure the second register containing |f (x)￿? It must collapse into |f (x0 )￿ for some x0 ∈ Zn . But this reveals information 2 4.7. SIMON’S ALGORITHM 45 about the first register, and it will also collapse into the pre-images of f (x0 ): x0 and x0 ⊕ s. ￿ N −1 1￿ measure f 1 |x￿ |f (x)￿ −→ √ (|x0 ￿ + |x0 ⊕ s￿) |f (x0 )￿ N 2 x=0 1 The first register is now the state √2 (|x0 ￿ + |x0 ⊕ s￿) where x0 is a random n-bit string. The challenge is to read off s from this superposition. We cannot simply measure the state because the superposition will be destroyed, and the result we get will have no information about s. Step 2: Use Fourier sampling to find a y such that y · s = 0. 1 1 We now show that H ⊗2 ( √2 |x0 ￿ + √2 |x0 ⊕ s￿ is a uniform superposition ove...
View Full Document

This document was uploaded on 09/22/2013.

Ask a homework question - tutors are online