* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Lecture 7
Quantum teleportation wikipedia , lookup
Particle in a box wikipedia , lookup
Orchestrated objective reduction wikipedia , lookup
Canonical quantization wikipedia , lookup
Quantum key distribution wikipedia , lookup
Hidden variable theory wikipedia , lookup
Quantum state wikipedia , lookup
Symmetry in quantum mechanics wikipedia , lookup
Quantum machine learning wikipedia , lookup
Quantum electrodynamics wikipedia , lookup
Quantum Computing MAS 725 Hartmut Klauck NTU 2.4.2012 Question: Can we solve NP complete problems efficiently on a quantum computer ?? Of course we cannot disprove such a possibility More specific: Is it possible by using only black box techniques? And not the precise problem structure E.g. SAT Problem: given a CNF formula on n variables, is there a satisfying assignment? Trivial approach: Try all 2n assignments of the variables Can a quantum computer do this efficiently? Black Box Model Can we solve SAT quickly in the black box model? I.e., assume all we can do is test assignments, we cannot use more information about a formula n Boolean variables, N=2n assignments Search problem: for bits x0,...,xN-1 find xi=1 if such an i exists Search problems Problem 1: Given x0,...,xN-1, find i with xi=1 if possible Problem 2 : Given x0,...,xN-1 with a guarantee that there is exactly one xi=1, find i Problem 3: Given x0,...,xN-1, compute OR(x0,...,xN-1) Problem 4: Given x0,...,xN-1 with guarantee that either exactly one xi=1 or no xi=1, decide which 2),3) are easier than 1), and 4) is easier than 2),3) Classical algorithms Consider any randomized algorithm with error 1/3 for Problem 4) We will show: (N) queries are necessary Quantum algorithms How fast can quantum computers search? Grover’s algorithm needs O(N1/2) queries! A matching lower bound was proved 2 years earlier… Every quantum algorithm for Problem 4) needs (N1/2) queries This rules out “brute force” algorithms for SAT, they need time 2n/2 Grover’s algorithm [Grover 96] Needs N1/2 queries in the worst case More general: If there are t positions i with xi=1, then we need (N/t)1/2 queries Grover’s algorithm We start by assuming there is exactly one xi=1, unknown to us (Problem 2) Consider vectors |ii and the vector |0i=j=0...N-1 1/N1/2 |ji ”Goal” und “Start” We try to decrease the distance between the two? Consider the plane spanned by|ii and |0i; Let|ei be orthogonal to |ii in that plane Grover’s algorithm Consider the plane spanned by|ii and |0i; Let|ei be orthogonal to |ii in that plane Reflect around |ei and then around |0i Result: |ii |0i |ei Grover’s algorithm Consider the plane spanned by|ii and |0i; Let|ei be orthogonal to |ii in that plane Reflect around |ei and then around |0i Result: |ii |0i |ei Grover’s algorithm Consider the plane spanned by|ii and |0i; Let|ei be orthogonal to |ii in that plane Reflect around |ei and then around |0i Result: rotation by 2 |ii |0i |ei Grover’s algorithm |ii Consider the plane spanned by|ii and |0i; Let|ei be orthogonal to |ii in that plane Reflect around |ei and then around |0i Result: rotation by 2 If our vector has an angle to |0i, then first -- to |ei and then 2 + to |0i |0i |ei Grover’s algorithm Reflect around |ei and then around |0i Result: rotation by 2 |ei=ij 1/(N-1)1/2 |ji How many iterations? At most (/2)/(2) iterations 1/N1/2 = hi|0i = cos(/2- ) = sin() Then 1/N1/2 = sin() ¼ and we need around /4 ¢ N1/2 iterations Grover’s algorithm |ii Reflect around |ei and then around |0i Result: rotation by 2 |ei=ij 1/(N-1)1/2 |ji But how can we do it? Reflection around |ei: map a|ii+ b|ei to -a|ii+ b|ei We can do this with a query! Black box query can change sign for|ii when xi=1 |i |ei Grover’s algorithm |ii Reflect around |ei and then around |0i Reflection around |0i: Apply 2|0ih 0|- I Let N=2n, positions 0,...,N-1 in binary Implement this unitary by Hn P Hn, where P|0ni=|0ni and P|xi=-|xi otherwise |0i |ei Grover’s algorithm Operation 2|0ih 0|- I Implemented as Hn P Hn, where P|0ni=|0ni and P|xi=-|xi otherwise Grover’s algorithm Operation 2|0ih 0|- I Implemented as Hn P Hn, where P|0ni=|0ni and P|xi=-|xi Grover’s algorithm Operation 2|0ih 0|- I Other interpretation: vector (a0,...,aN-1) is mapped to vector with (2j aj/N)-ai in position i Inversion around the average Grover’s algorithm Black Box: Use additional qubit 1/21/2 (|0i-|1i) Apply the usual black box: |ii|ai is mapped to |ii|a©xii Trick with the additional qubit: black box maps |ii to (-1)xi |ii Grover’s algorithm Register with n qubits Starting state |0i=j=0...N-1 1/N1/2 |ji [Apply Hn to |0ni] Iterate roughly N1/2 times: Apply black box Apply Hn P Hn , where P|0ni=|0ni and P|xi=-|xi Measure i, test also, if xi=1 Grover’s algorithm H H H H H H O H H H H H H ¼/4 P N 1/2 H H H H H H Example x0=1, other xi=0 Start: j=0...N-1 1/N1/2 |ji Query: j=1...N-1 1/N1/2 |ji- 1/N1/2|0i Inversion around the average vector (a0,...,aN-1) maps to vector with (2j aj/N)-ai in position i Result: amplitude of |0i increases to roughly 3/N1/2, other amplitudes stay almost the same Repeat…. Finish after (/2)/(2/N1/2)=(/4) N1/2 steps Exact number of iterations If we iterate too many times we move away from the desired final state! Start: j=0...N-1 1/N1/2 |ji 1/N1/2 |i0i +ji0 1/N1/2 |ji kj: amplitude of i0 after j iterations; lj: other amplitudes after j iterations; k0,l0=1/N1/2 Next iteration kj+1= (N-2)/N ¢ kj+2(N-1)/N¢ lj lj+1= (N-2)/N ¢ lj -2/N¢ kj We can show that kj=sin((2j+1)); lj=1/(N-1)1/2 cos((2j+1)) where such that sin2()=1/N km=1 if (2m+1)=/2, if m=(-2)/(4) Error is smaller than 1/N if b/4 N1/2c iterations More than one solution Assume there are t values of i with xi=1 t known Same algorithm, fewer iterations Similar analysis as before, error t/N after b/4 ¢ (N/t)1/2c iterations Important observation: superposition over all marked positions |ii (the goal state) has inner product (t/N)1/2 with |Á0i and so angle between |Á0i and |ei is of that size Unknown number of solutions There are t values of i with xi=1 t is now unknown We use smaller and smaller estimates for t and run the previous algorithm s=N/2,N/4,N/8,...,¼ t/2,... Every time we make O((N/s)1/2) queries Total number of queries s=N/2,N/4,...,t/2 (N/s)1/2 = O((N/t)1/2) Consider (N/t)-1/2 ¢ a=1,...,log N-log t+1 2a/2=O(1) geometric sum Classical algorithms Consider randomized algorithms with error 1/3 for Problem 4) We show that we need (N) queries Classical algorithms Given: randomized algorithm If we have a randomized algo with T queries (worst case) and success probability p then there is a deterministic algorithm with T queries and success p for random x Ex Er [Success for x with r]=p ) there is r, such that Ex [Success for x]¸ p Fix r ) deterministic algorithm Classical algorithms Distribution on inputs: probability 1/2 for 0N, inputs 000010000 have probability 1/(2N) each Deterministic algo with error 1/3 and <N/3 queries Must be correct on 00000 If <N/3 xi are known there are >2/3¢ N positions, that could be one, hence the algorithm makes mistakes on >2N/3, error >1/3 Every algorithm needs at least N/3 queries Quantum search Grover does it in O(N1/2) Lower bound for Problem 4) (N1/2) The lower bound Consider quantum query algorithm A Run A on 0N , with T queries States 0...N-1 ai,t |ii |ui,ti |vi,ti i: address, u register for output of the black box , v for workspace, t=1..T time Define query magnitude M(i) = t=1...T|ai,t|2 Intuitively “probability of querying i” Ei M(i)· T/N Fix i with M(i)· T/N A has little information regarding xi, cannot decide well whether xi=1 or =0 The lower bound Query magnitude M(i) = t=1...T|ai,t|2 Fix i with M(i) · T/N Cauchy Schwarz: t=1...T|ai,t| · t=1...T1¢ |ai,t|· T1/2 (t=1...T|ai,t|2)1/2· T/N1/2 y(i) is a string with y(i)i=1 and 0 elsewhere Consider the following situations: In query 1 to t Black Box holds 0N From query t+1 Black Box holds y(i) Final state |(t)i |(0)i Final state on y(i); |(T)i Final state on 0N The lower bound Consider distance between |(t)i and |(t-1)i Then: Same until step t-1 In step t we introduce distance 21/2|ai,t| From step t+1 no change Set |E(t)i= |(t)i-|(t-1)i Then kE(t) k· 21/2|ai,t| The lower bound |(0)i final state on y(i); |(T)i final state on 0N k |(T)i - |(0)i k = k |(T)i - |(T-1)i +|(T-1)i - |(0)i k · k |(T)i - |(T-1)i k + k |(T-1)i - |(0)i k · t=1...T k |(t)i - |(t-1)i k = t=1...T k |E (t)i k · t=1...T 21/2 |ai,t|· 21/2 T/N 1/2 If T<N1/2/10, then the distance is some small constant, i.e., the error will be large and 0N and y(i) have the same output with some good probability