190 likes | 227 Views
Quantum Search Algorithms for Multiple Solution Problems. EECS 598 Class Presentation Manoj Rajagopalan. Outline. Recap of Grover’s algorithm for the unique solution case Grover’s algorithm for multiple solutions: multiplicity known
E N D
Quantum Search Algorithms for Multiple Solution Problems EECS 598 Class Presentation Manoj Rajagopalan
Outline • Recap of Grover’s algorithm for the unique solution case • Grover’s algorithm for multiple solutions: multiplicity known • Quantum search algorithm for multiple solutions: multiplicity unknown • Quantum counting to determine multiplicity
References • Quantum Computing and Quantum Information textbook • “A fast quantum mechanical algorithm for database search”, LK Grover, 1996 • “Tight bounds on quantum searching”, M Boyer, G Brassard, P Hoyer, 1996 • “Quantum counting”, G Brassard, P Hoyer, A Tapp, 1998
Notation • n = # qubits in the system • N = # of possible values of n qubits = 2n • M = multiplicity of solution • k = probability amplitude of system in solution state • l = probability amplitude of system in non-solution state • A = set of indices that denote solutions (good states) • B = set of indices denoting bad states • = rotation angle corresponding to Grover operator
Grover’s Algorithm for Unique Solution Case • Given F:{0,1}n {0,1}, find i0 F(i0)=1 and i i0F(i)=0 • Set up initial state |0n • Apply the Hadamard transform • Hn |0 | = • Let i0 be the solution: | = k |i0 + • Grover operator made of 4 steps • Apply the oracle • Apply Hn • Conditional phase shift: • Apply Hn
Unique Solution Case Recap (…contd) • Apply the Grover operator. After j iterations, • Need bound on the number of iterations
Unique Solution Case Recap (…contd) Let sin2 = 0 < For km = 1, (2m+1) = /2 => For large N, sin = m
Multiple Solutions: Multiplicity known Given F:{0,1}n {0,1}, find all i{0,1}n F(i)=1 M = number of solutions > 1 Define ‘good states’ A = {i | F(i) = 1} |A| = M ‘bad states’ B = {j | F(j) = 0 } |B| = N - M Suffices to tackle good and bad states as groups k = probability amplitude of each solution (element of set A) l = probability amplitude of each element of set B Mk2 + (N-M)l2 = 1
Multiple Solutions: Multiplicity known • Grover’s algorithm for the multiple solution case • Structurally the same as that in the case of unique solution • Set up initial state |0n • Apply the Hadamard transform • 3. Apply Grover operator repeatedly • Apply the oracle • Apply Hn • Conditional phase shift • Apply Hn • Differs in the oracle implementation: Oracle lends a relative phase shift of –1 to all solutions
Multiple Solutions: Multiplicity known Define After j iterations:
Multiple Solutions: Multiplicity known Let m = upper bound on number of iterations We want lm = 0 cos ((2m+1)) = => • | cos(2m+1) | | sin | • Probability of failure after exactly m iterations (N-M) lm2 = cos2((2m+1)) sin2 = Negligible for M << N
Multiple Solutions: Multiplicity known For M << N, sin Knowing M, we can predetermine the upper bound on the number of iterations, m. Unique solution problem is a special case of this for M=1.
Multiple Solutions: unknown Multiplicity Number of iterations required to obtain a solution with significant confidence depends on the solution’s multiplicity. If M is not known, then there is no way of telling how many iterations will suffice. Take m = to be on the safe side? (max # iterations) No! Probability of success minuscule when M = 4a2 where a is a small integer.
Multiple Solutions: unknown Multiplicity • Modified procedure for unknown M: • Initialize m = 1 and = 8/7 (actually 1 < < 4/3) • Choose integer j such that 0 j m • Apply j iterations of Grover’s algorithm • Measure and let outcome be i • If F(i) == 1 then solution found: exit program • Else m = min(m, ): goto step #2 • Theorem: This algorithm finds a solution in O( )
Multiple Solutions: unknown Multiplicity For M > 3N/4 constant expected time by classical sampling For 0 < M 3N/4, runtime = O( ) For M << N, runtime < 6 times runtime_if_M_were_known Knowing the number of solutions helps in reducing runtime. This motivates quantum counting
Quantum Counting • Aim: To determine the number of solutions M to an N item unstructured search problem • Classical computing consults the oracle (N) times to determine M • Quantum computing can combine Grover’s algorithm and phase estimation to determine M much faster! • Why count? • Fast estimation of M => rapid solution detection • Is there a solution at all? NP-Complete problems
Quantum Counting Recall: The computational bases can be partitioned into two subsets, the ‘good states’ set A containing all the solutions, and Letting we get in the basis.
Quantum Counting Eigenvalues of G are ei2 and ei(2-2) The value of can be determined by phase estimation From , the value of M can be calculated PHASE ESTIMATION Given a unitary operator U and one of its eigenvectors, the phase of its corresponding eigenvalue ei2 is determined
Quantum Counting Complexity of phase estimation algorithms