Presentation is loading. Please wait.

Presentation is loading. Please wait.

Grovers Search Jacob D. Biamonte Portland Quantum Logic Group Jake Biamonte Should be “one in four search”

Similar presentations


Presentation on theme: "Grovers Search Jacob D. Biamonte Portland Quantum Logic Group Jake Biamonte Should be “one in four search”"— Presentation transcript:

1 Grovers Search Jacob D. Biamonte biamonte@ieee.org Portland Quantum Logic Group Jake Biamonte Should be “one in four search”

2 1 in 4 search Why is this important? This presentation shows clearly how to perform a so called 1 in 4 search We start out with the basics

3 Pick your needle and I will find you a haystack The point of this slide is to show examples of 4 different oracles. Grovers search can tell between these oracles in a single iteration, classically we would need 3 iterations.

4 Let f : {0,1} 2  {0,1} have the property that there is exactly one x  {0,1} 2 for which f (x) = 1 Goal: find x  {0,1} 2 for which f (x) = 1 Classically: 3 queries are necessary Quantumly: ? Only after 3 tests can we determine with certainty that the oracles is 1 for only a single input value x Properties of the oracle

5 f x1x1 x2x2 yy x2x2 x1x1  y  f ( x 1,x 2 )  ( ( –1 ) f( 00 )  00  + ( –1 ) f( 01 )  01  + ( –1 ) f( 10 )  10  + ( –1 ) f( 11 )  11  )(  0  –  1  ) Output state: Black box for 1-4 search: Start by creating phases in superposition of all inputs to f : Input state to query: (  00  +  01  +  10  +  11  )(  0  –  1  ) f H H H 11 00 00 A 1-4 search can chose between 4 oracles in one iteration

6 f H H H 11 00 00 H H H H H X X HH X X M M M Time state = 0 1 0 0 0 0 0 0 state = 0.353 -0.353 0.353 -0.353 0.353 -0.353 0.353 -0.353 state = 0.353 -0.353 0.353 -0.353 0.353 -0.353 -0.353 0.353 state = -0.353 0.353 0.353 -0.353 0.353 -0.353 0.353 -0.353 state = 0 0 -0.5 0.5 0.5 -0.5 0 0 state = 0 0 -0.5 0.5 0 0 0.5 -0.5 state = -0.353 0.353 0.353 -0.353 0.353 -0.353 -0.353 0.353 state = 0 0 0 0 0 0 0 -1 state = 0 0 0 0 0 0 0 1 This slide illustrates how the state of the system is changed as it propagates through the quantum network implementation of Grovers Search algorithm.

7  ψ 00  = –  00  +  01  +  10  +  11   ψ 01  = +  00  –  01  +  10  +  11   ψ 10  = +  00  +  01  –  10  +  11   ψ 11  = +  00  +  01  +  10  –  11  f H H H 11 00 00 H H H H H X X HH X X M M M Time The state corresponding to the input to the oracle that has a output result of 1 is ‘tagged’ with a negative 1. After Hadamard the solution is “known” in Hilbert space by having value -1. But it is hidded from us

8 QuIDDPro Script --- Density states #grover4.qp #biamonte@ieee.org # state = cb("001")*cb("001")' state = hadamard(3)*state*hadamard(3)' echo("define a needle in a haystack:") ############# # Oracle 1 xi = (1,1) # ---*--- # | # ---*--- # | # --(+)-- ############# oracle = cu_gate(sigma_x(1), "c1c2x3", 3); state = oracle*state*oracle' echo("apply CPS:") state = kron(hadamard(2), identity(1))*state*kron(hadamard(2), identity(1))' state = kron(sigma_x(2), identity(1))*state*kron(sigma_x(2), identity(1))' state = cu_gate(hadamard(1), "x2", 3)*state*cu_gate(hadamard(1), "x2", 3)' state = cu_gate(sigma_x(1), "c1x2", 3)*state*cu_gate(sigma_x(1), "c1x2", 3)' state = cu_gate(hadamard(1), "x2", 3)*state*cu_gate(hadamard(1), "x2", 3)' state = kron(sigma_x(2), identity(1))*state*kron(sigma_x(2), identity(1))' state = hadamard(3)*state*hadamard(3 #biamonte@ieee.org

9 QuIDDPro Script --- State Vector state = cb("001") state = hadamard(3)*state echo("define a needle in a haystack:") ############# # Oracle 1 xi = (1,1) # ---*--- # | # ---*--- # | # --(+)-- ############# oracle = cu_gate(sigma_x(1), "c1c2x3", 3); state = oracle*state echo("apply CPS:") state = kron(hadamard(2), identity(1))*state state = kron(sigma_x(2), identity(1))*state state = cu_gate(hadamard(1), "x2", 3)*state state = cu_gate(sigma_x(1), "c1x2", 3)*state state = cu_gate(hadamard(1), "x2", 3)*state state = kron(sigma_x(2), identity(1))*state state = hadamard(3)*state

10 We found Grover!

11


Download ppt "Grovers Search Jacob D. Biamonte Portland Quantum Logic Group Jake Biamonte Should be “one in four search”"

Similar presentations


Ads by Google