1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 467 / Phys 767 C&O 481 / C&O 681 Richard Cleve DC 3524 Course web site at: Lecture 15 (2005)
2 Contents Grover’s quantum search algorithm Optimality of Grover’s algorithm
3 Grover’s quantum search algorithm Optimality of Grover’s algorithm
4 Quantum search problem Given: a black box computing f : {0,1} n {0,1} Goal: determine if f is satisfiable (if x {0,1} n s.t. f(x) = 1 ) In positive instances, it makes sense to also find such a satisfying assignment x Classically, using probabilistic procedures, order 2 n queries are necessary to succeed—even with probability ¾ (say) x1x1 xnxn yy xnxn x1x1 y f ( x 1,...,x n ) UfUf Grover’s quantum algorithm that makes only O( 2 n ) queries Query: [Grover ’96]
5 Applications of quantum search The function f could be realized as a 3-CNF formula: Alternatively, the search could be for a certificate for any problem in NP 3-CNF-SAT FACTORING P NP PSPACE co-NP The resulting quantum algorithms appear to be quadratically more efficient than the best classical algorithms known
6 Prelude to Grover’s algorithm: two reflections = a rotation 11 22 11 22 Consider two lines with intersection angle : reflection 1 reflection 2 Net effect: rotation by angle 2 , regardless of starting vector
7 Grover’s algorithm: description I x1x1 xnxn yy xnxn x1x1 y [ x = ] U0U0 x1x1 xnxn yy xnxn x1x1 y f ( x 1,...,x n ) UfUf U f x = ( 1) f(x) x H H H H X X X X X X Hadamard Basic operations used: Implementation? U 0 x = ( 1) [ x = 0...0] x
8 Grover’s algorithm: description II 1.construct state H 2.repeat k times: apply H U 0 H U f to state 3. measure state, to get x {0,1} n, and check if f (x) =1 00 00 UfUf HHU0U0 HUfUf HU0U0 H iteration 1 iteration 2... (The setting of k will be determined later)
9 Grover’s algorithm: analysis I and N = 2 n and a = | A | and b = | B | Let A = { x {0,1} n : f (x) = 1 } and B = { x {0,1} n : f (x) = 0 } Letand BB AA H Consider the space spanned by A and B Interesting case: a << N goal is to get close to this state
10 Grover’s algorithm: analysis II Algorithm: ( H U 0 H U f ) k H BB AA H Observation: U f is a reflection about B : U f A = A and U f B = B Question: what is H U 0 H ? Partial proof: H U 0 H H = H U 0 = H ( ) = H U 0 is a reflection about H
11 Grover’s algorithm: analysis III Algorithm: ( H U 0 H U f ) k H BB AA H 22 22 22 22 Since H U 0 H U f is a composition of two reflections, it is a rotation by 2 , where sin ( )= a/N a/N When a = 1, we want (2k+1)(1/ N) / 2, so k ( / 4) N More generally, it suffices to set k ( / 4) N/a Question: what if a is not known in advance?
12 Grover’s quantum search algorithm Optimality of Grover’s algorithm
13 Optimality of Grover’s algorithm Proof (of a slightly simplified version): f U0U0 U1U1 U2U2 U3U3 UkUk fff and that a k -query algorithm is of the form where U 0, U 1, U 2,..., U k, are arbitrary unitary operations Theorem: any quantum search algorithm for f : {0,1} n {0,1} must make ( 2 n ) queries to f (if f is used as a black-box) f |x|x ( 1) f(x) | x Assume queries are of the form |
14 Optimality of Grover’s algorithm Define f r : {0,1} n {0,1} as f r ( x ) = 1 iff x = r frfr U0U0 U1U1 U2U2 U3U3 UkUk frfr frfr frfr |0|0 | ψ r,k Consider versus I U0U0 U1U1 U2U2 U3U3 UkUk III |0|0 | ψ r, 0 We’ll show that, averaging over all r {0,1} n, || | ψ r,k | ψ r, 0 || 2 k / 2 n
15 Optimality of Grover’s algorithm Consider I U0U0 U1U1 U2U2 U3U3 UkUk Ifrfr frfr |0|0 | ψ r,i k ik i i | ψ r,k | ψ r, 0 = ( | ψ r,k | ψ r,k 1 ) + ( | ψ r,k 1 | ψ r,k 2 ) ( | ψ r,1 | ψ r,0 ) Note that || | ψ r,k | ψ r, 0 || || | ψ r,k | ψ r,k 1 || || | ψ r,1 | ψ r,0 || which implies
16 Optimality of Grover’s algorithm I U0U0 U1U1 U2U2 U3U3 UkUk Ifrfr frfr |0|0 | ψ r,i query i query i +1 || | ψ r,i | ψ r,i -1 || = | 2 i,r |, since query only negates | r I U0U0 U1U1 U2U2 U3U3 UkUk IIfrfr |0|0 query i query i +1 | ψ r,i-1 Therefore, || | ψ r,k | ψ r, 0 ||
17 Optimality of Grover’s algorithm Therefore, for some r {0,1} n, the number of queries k must be ( 2 n ), in order to distinguish f r from the all-zero function Now, averaging over all r {0,1} n, (By Cauchy-Schwarz) This completes the proof
18