Peter Høyer www.cpsc.ucalgary.ca/~hoyer Quantum Searching August 1, 2005, Université de Montréal The Fifth Canadian Summer School on Quantum Information.

Slides:



Advertisements
Similar presentations
Quantum Lower Bound for the Collision Problem Scott Aaronson 1/10/2002 quant-ph/ I was born at the Big Bang. Cool! We have the same birthday.
Advertisements

Quantum t-designs: t-wise independence in the quantum world Andris Ambainis, Joseph Emerson IQC, University of Waterloo.
Quantum Versus Classical Proofs and Advice Scott Aaronson Waterloo MIT Greg Kuperberg UC Davis | x {0,1} n ?
The Future (and Past) of Quantum Lower Bounds by Polynomials Scott Aaronson UC Berkeley.
Limitations of Quantum Advice and One-Way Communication Scott Aaronson UC Berkeley IAS Useful?
Quantum Search of Spatial Regions Scott Aaronson (UC Berkeley) Joint work with Andris Ambainis (U. Latvia)
Pretty-Good Tomography Scott Aaronson MIT. Theres a problem… To do tomography on an entangled state of n qubits, we need exp(n) measurements Does this.
If you have not watched the PowerPoint on the unit circle you should watch it first. After you’ve watched that PowerPoint you are ready for this one.
Quantum Computation and Quantum Information – Lecture 3
The simplex algorithm The simplex algorithm is the classical method for solving linear programs. Its running time is not polynomial in the worst case.
Incremental Linear Programming Linear programming involves finding a solution to the constraints, one that maximizes the given linear function of variables.
Efficient Discrete-Time Simulations of Continuous- Time Quantum Query Algorithms QIP 2009 January 14, 2009 Santa Fe, NM Rolando D. Somma Joint work with.
Quantum Computing MAS 725 Hartmut Klauck NTU
Quantum Computing MAS 725 Hartmut Klauck NTU
Theory of Computing Lecture 3 MAS 714 Hartmut Klauck.
Sorted list matching & Experimental run-Time COP 3502.
1 Today’s Material Medians & Order Statistics – Ch. 9.
Complexity 18-1 Complexity Andrei Bulatov Probabilistic Algorithms.
Quantum Speedups DoRon Motter August 14, Introduction Two main approaches are known which produce fast Quantum Algorithms The first, and main approach.
CIS 101: Computer Programming and Problem Solving Lecture 6 Usman Roshan Department of Computer Science NJIT.
Randomized Computation Roni Parshani Orly Margalit Eran Mantzur Avi Mintz
Department of Computer Science & Engineering University of Washington
Algorithms in Exponential Time. Outline Backtracking Local Search Randomization: Reducing to a Polynomial-Time Case Randomization: Permuting the Evaluation.
1 Quantum Computing: What’s It Good For? Scott Aaronson Computer Science Department, UC Berkeley January 10,  John.
Grover. Part 2. Components of Grover Loop The Oracle -- O The Hadamard Transforms -- H The Zero State Phase Shift -- Z O is an Oracle H is Hadamards H.
The Goldreich-Levin Theorem: List-decoding the Hadamard code
Superposition, Entanglement, and Quantum Computation Aditya Prasad 3/31/02.
How should a computer shuffle?. Intro - 2 Comp 122, Goal  Input: Given n items to shuffle (cards, …)  Output: Return some list of exactly those n items;
Quantum Computing Joseph Stelmach.
Quantum Search Algorithms for Multiple Solution Problems EECS 598 Class Presentation Manoj Rajagopalan.
1 Recap (I) n -qubit quantum state: 2 n -dimensional unit vector Unitary op: 2 n  2 n linear operation U such that U † U = I (where U † denotes the conjugate.
Quantum Algorithms II Andrew C. Yao Tsinghua University & Chinese U. of Hong Kong.
Shor’s Algorithm Osama Awwad Department of Computer Science Western Michigan University July 12, 2015.
Searching – quantum & classical Quantum Searching Fixed Point Searching The search algorithm combines the two main building blocks for quantum algorithms---fast.
A Few Simple Applications to Cryptography Louis Salvail BRICS, Aarhus University.
October 1 & 3, Introduction to Quantum Computing Lecture 2 of 2 Richard Cleve David R. Cheriton School of Computer Science Institute for Quantum.
Approximation Algorithms Pages ADVANCED TOPICS IN COMPLEXITY THEORY.
Section 7.1. Section Summary Finite Probability Probabilities of Complements and Unions of Events Probabilistic Reasoning.
Lecture note 8: Quantum Algorithms
Algorithms Artur Ekert. Our golden sequence H H Circuit complexity n QUBITS B A A B B B B A # of gates (n) = size of the circuit (n) # of parallel units.
October 1 & 3, Introduction to Quantum Computing Lecture 1 of 2 Introduction to Quantum Computing Lecture 1 of 2
Quantum Computing MAS 725 Hartmut Klauck NTU
Quantum Factoring Michele Mosca The Fifth Canadian Summer School on Quantum Information August 3, 2005.
Quantum random walks – new method for designing quantum algorithms Andris Ambainis University of Latvia.
Probabilistic Analysis and Randomized Algorithm. Average-Case Analysis  In practice, many algorithms perform better than their worse case  The average.
1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767 C&O 481 / C&O 681 Richard Cleve DC 653 Lecture.
Quantum Computing MAS 725 Hartmut Klauck NTU
Find the Kth largest number Special topics in Advanced Algorithms -Slides prepared by Raghu Srinivasan.
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.
Multipartite Entanglement and its Role in Quantum Algorithms Special Seminar: Ph.D. Lecture by Yishai Shimoni.
Quantum algorithms are at most polynomially faster for any symmetric function Andris Ambainis University of Latvia.
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.
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.
1 Introduction to Quantum Information Processing QIC 710 / CS 667 / PH 767 / CO 681 / AM 871 Richard Cleve DC 2117 Lectures
Call the Feds! We’ve Got Nested Radicals! Alan Craig.
1 An Introduction to Quantum Computing Sabeen Faridi Ph 70 October 23, 2007.
Beginner’s Guide to Quantum Computing Graduate Seminar Presentation Oct. 5, 2007.
Quantum Algorithms Oracles
Quantum algorithms for evaluating Boolean formulas
Introduction to Quantum Computing Lecture 1 of 2
A low cost quantum factoring algorithm
Four approaches to Shor
A Ridiculously Brief Overview
Chap 4 Quantum Circuits: p
Richard Cleve DC 2117 Introduction to Quantum Information Processing CS 667 / PH 767 / CO 681 / AM 871 Lecture 18 (2009) Richard.
Quantum Computing Joseph Stelmach.
Introduction to Quantum Information Processing CS 467 / CS 667 Phys 467 / Phys 767 C&O 481 / C&O 681 Lecture 4 (2005) Richard Cleve DC 653
Presentation transcript:

Peter Høyer Quantum Searching August 1, 2005, Université de Montréal The Fifth Canadian Summer School on Quantum Information

Quadratic speed-up Cost was O(M) * Actual running time on a quantum computer might be incomparable to running time on a classical computer. Availability of quantum computers is limited. Additional error correction not included. Not applicable in conjunction with measurements. Verifier required. * √ Now only O( M) Cost: O(M)

Grover’s Problem N Input: Problem: f:{1,2,,N}{0,1} Find integer i such that f(i)=1 You can ask questions of the form: “What is f(j)?”

A query j f(j) “What is f(j)?” Query

Remember the input j f(j) “What is f(j)?” Query Remember the input: j f(j) Query j

Reversible j f(j) “What is f(j)?” Query Remember the input: j f(j) Query j Reversible: j bf(j) Query j b 0000 = 0 0101 = 1 1010 1111 = 0 b  {0,1}

Unitary Query j f(j) “What is f(j)?” Query Remember the input: j f(j) Query j Reversible: j bf(j) Query j b Unitary: U f |j |b |j |bf(j) b  {0,1}

Unitary Query Unitary: U f |j |b |j |bf(j) |j|b |j|bf(j) |j|0 ∑ j=1 N ∑ N 1 √N 1 |j|f(j) “Apply function f in superposition”

Computational Cost U f |j |b |j |bf(j) 1 query  1 unit cost

Alternative query model S f |j (-1) f(j) |j U f |j |b |j |bf(j)  U f |j |1 (-1) f(j) |j |1 H H Proof of  : |b H |0+(-1) b |1 “Compute the value of f in the phases”

Grover’s Algorithm N Suppose t solutions (here t=3) Grover:1/p √ = N/t queries √ Repetition:1/p = N/t queries The “classical” algorithm: N 1 √N Success probability = p = t/N A|0| 0 ∑ i=1 |i

Standard Analysis N 1/N 2/N 3/N Success probability Classical repetitionGrover 4/N 5/N 6/N 7/N 8/N 9/N N 1 √N A|0| 0 ∑ i=1 |i (1)(2)(3)(1)(2)(3)

Grover’s Algorithm  Rotation

Amplitude Amplification A = some algorithm p = success probability of A m repetitions  success probability ≈ mp (provided mp ≤ 2/3, say)

Amplitude Amplification A = some algorithm p = success probability of A m repetitions  success probability ≈ mp (provided mp ≤ 2/3, say) (Solutions must be verifiable) √

General Setting Algorithm A, Verifier f, f:{1,2,,N}{0,1} A|0| 0 ∑ i=1  i |i N N f:{1,2,,N}{0,1} A|0| 0 ∑ i=1 |i N 1 √N Example: Grover

General Setting Algorithm A, Verifier f, f:{1,2,,N}{0,1} A|0| 0 ∑ i=1  i |i N  1 application of A 1 query to U f 1 unit cost U f |j |b |j |bf(j) A |0 |0|0

General Setting Algorithm A, Let |Good~∑ i:f(i)=1  i |i |Bad~∑ i:f(i)=0  i |i Success prob. of A = p = sin 2 θ Verifier f, f:{1,2,,N}{0,1} A|0| 0 ∑ i=1  i |i N A|0| 0 sinθ|Goodcosθ|Bad 

General Setting Algorithm A, Let |Good~∑ i:f(i)=1  i |i |Bad~∑ i:f(i)=0  i |i Success prob. of A = p = sin 2 θ Verifier f, f:{1,2,,N}{0,1} A|0| 0 sinθ|Goodcosθ|Bad A|0| 0 ∑ i=1  i |i N

2-dimensional subspace A|0| 0 sinθ|Goodcosθ|Bad |Good |Bad θ |0|0 2θ2θ || Q| Operator Q rotates by angle 2θ 3θ3θ 5θ5θ QA|0 QQA|0

Amplitude Amplification Algorithm A, Let |Good~∑ i:f(i)=1  i |i |Bad~∑ i:f(i)=0  i |i Success prob. of A = p = sin 2 θ Verifier f, f:{1,2,,N}{0,1} A|0| 0 sinθ|Goodcosθ|Bad A|0| 0 ∑ i=1  i |i N 2θ2θ || Q| |Good |Bad

Amplitude Amplification |Good |Bad θ A|0| 0  A|0sinθ|Goodcosθ|Bad QQA|0sin5θ|Goodcos5θ|Bad 5θ5θ QA|0sin3θ|Goodcos3θ|Bad 3θ3θ QQQA|0sin7θ|Goodcos7θ|Bad 7θ7θ Q m A |0 = sin((2m+1)θ) |Good + cos((2m+1)θ) |Bad

Maximizing the success prob. |Good |Bad Q m A |0 = sin((2m+1)θ) |Good + cos((2m+1)θ) |Bad θ A|0| 0  4 π √p Theorem: Set m=, then Prob[Bad] ≤ sin 2 θ = p π2π2 After m rotations, angle is (2m+1)θ. We want (2m+1)θ ≈. Since sin 2 θ = p, then θ ≈ √p. □ 2θ2θ Proof: Note: Classically, m=. A quadratic speed-up! 1p1p

“De-randomization” (p known) |Good |Bad Q m A |0 = sin((2m+1)θ) |Good + cos((2m+1)θ) |Bad θ A|0| 0  Theorem: If prob. p is known, we can “de-randomize”. 2θ2θ π2π2 If (2m+1)θ is slightly more than, then choose slightly smaller angle θ’<θ such that (2m+1)θ’ IS equal to. □ π2π2 Proof: θ’θ’

If m is not known? |Good |Bad θ 2θ2θ A|0| 0 

Guessing when p unknown θ A|0| 0  |Good |Bad A random vector yields success prob. = 1/2 Solution: obtain a near-random vector by classically guessing m.

Bizarre example Viewer discretion is advised...

Kiil, the cat    13 1 cat 2 cats  11 trials 7 trials What is the highest floor from which the cat will survive, if it jumps out the window from that floor?

Guessing when p unknown θ A|0| 0  |Good |Bad Set M=1, λ=1.99 Repeat forever: Set M=λM Let m  R [1,M] Do Q m A|0 Measure, say |i If f(i)=1, then break Output i 1) 2) 3) Algorithm:

Q  Rotation |Good |Bad 2θ2θ || Q| S 0 |0 = |0 S 0 |i = - |i (i≠0) S f |i = |i (f(i)=1) S f |i = - |i (f(i)=0) Q = - SfSf AS 0 A -1

Q  Rotation |Good |Bad S 0 |0 = |0 S 0 |i = - |i (i≠0) S f |i = |i (f(i)=1) S f |i = - |i (f(i)=0) S f  reflection about |Good AS 0 A -1  reflection about | 0   Q rotation by 2θ θ || 2θ2θ 2θ2θ |0|0 Q = SfSf AS 0 A -1 -

Cost of Q Q = -AS 0 A -1 S f  1 application of A 1 query to U f 1 unit cost U f |j |b |j |bf(j) A |0 |0|0 1 application of Q2 applications of U f + 2 applications of A + 1 application of S 0 5 units cost 

The Recipe Algorithm A, Verifier f, f:{1,2,,N}{0,1} A|0| 0 ∑ i=1  i |i N Q = -AS 0 A -1 S f S 0 |0 = |0 S 0 |i = |i (i≠0) S f |i = |i (f(i)=1) S f |i = |i (f(i)=0) Define reflections: Amplitude Amplification operator: - -

Complete Grover N f:{1,2,,N}{0,1} Q = -AS 0 A -1 S f S 0 |0 = |0 S 0 |i = - |i (i≠0) S f |i = |i (f(i)=1) S f |i = - |i (f(i)=0) N A|0=∑ i=1 |i 1 √N Apply A on |0, gives | Repeat O(√N) times: Apply Q on | Measure | Return outcome |i 1) 2) 3) 4) Grover’s algorithm: Theorem: Prob[f(i)=1] ≥ 2/3

General rotation Q = -AS 0 A -1 S f S 0 |0 = |0 S 0 |i = |i (i≠0) S f |i = |i (f(i)=1) S f |i = |i (f(i)=0) - - ΦsΦs ΦfΦf Φ s,Φ f  C* - - Suitable choices of phases: Φ s = Φ f = -1 Φ s = Φ f = i = √-1 Φ s = Φ f = e π i/3 Φ s = Φ f such that Re(Φ s )>0

General Analysis A|0sinθ|Goodcosθ|Bad Q(Φ s,Φ f )A|0 α sinθ|Good β cosθ|Bad -Φ s Φ f -1+Φ f -Φ s Φ f 1-Φ s -Φ f -Φs-Φs sin 2 θ cos 2 θ α β =

General Analysis A|0sinθ|Goodcosθ|Bad Q(Φ s,Φ f )A|0 α sinθ|Good β cosθ|Bad -Φ s Φ f -1+Φ f -Φ s Φ f 1-Φ s -Φ f -Φs-Φs sin 2 θ cos 2 θ α β = Φ s = Φ f = sin 2 θ cos 2 θ α β =

General Analysis A|0sinθ|Goodcosθ|Bad Q(Φ s,Φ f )A|0 α sinθ|Good β cosθ|Bad -Φ s Φ f -1+Φ f -Φ s Φ f 1-Φ s -Φ f -Φs-Φs sin 2 θ cos 2 θ α β = Φ s = Φ f = i 1 i 1-2i -i sin 2 θ cos 2 θ α β =

General Analysis A|0sinθ|Goodcosθ|Bad Q(Φ s,Φ f )A|0 α sinθ|Good β cosθ|Bad -Φ s Φ f -1+Φ f -Φ s Φ f 1-Φ s -Φ f -Φs-Φs sin 2 θ cos 2 θ α β = Φ s = Φ f = e π i/3 -e 2π i/ e π i/3 -e π i/3 sin 2 θ cos 2 θ α β =

General Analysis A|0sinθ|Goodcosθ|Bad Q(Φ s,Φ f )A|0 α sinθ|Good β cosθ|Bad -Φ s Φ f -1+Φ f -Φ s Φ f 1-Φ s -Φ f -Φs-Φs sin 2 θ cos 2 θ α β = Φ s = Φ f such that Re(Φ s )>0 <1 sin 2 θ cos 2 θ α β = ? ? ?

The Recipe Algorithm A, Verifier f, f:{1,2,,N}{0,1} A|0| 0 ∑ i=1  i |i N Q = -AS 0 A -1 S f S 0 |0 = |0 S 0 |i = |i (i≠0) S f |i = |i (f(i)=1) S f |i = |i (f(i)=0) Define reflections: Amplitude Amplification operator: - -