Successfully reported this slideshow.
Upcoming SlideShare
×

Quantum Circuits and Algorithms

75 views

Published on

A simple searching algorithm; the Deutsch-Jozsa algorithm

In the previous lecture we discussed Deutsch’s Algorithm, which gives a simple example of how quantum algorithms can give some advantages over classical algorithms in certain restricted settings. We will start this lecture by discussing another simple example, and then move on to the Deutsch-Jozsa Algorithm, which generalizes Deutsch’s Algorithm to functions from n bits to 1 bit.

https://cs.uwaterloo.ca/~watrous/LectureNotes/CPSC519.Winter2006/05.pdf

Published in: Science
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

Quantum Circuits and Algorithms

1. 1. Quantum CircuitsQuantum Circuits and Algorithmsand Algorithms Modular Arithmetic, XOR Reversible Computation revisited Quantum Gates revisited A taste of quantum algorithms: Deutsch algorithm Other algorithms, general overviews Measurements revisited Sources: John P. Hayes, Mike Frank Michele Mosca, Artur Ekert, Bulitko, Rezania. Dave Bacon, 156 Jorgensen, dabacon@cs.caltech.edu, Stephen Bartlett
2. 2. OutlineOutline • Review and new ideas useful for quantum algorithms • Introduction to quantum algorithms – Define algorithms and computational complexity – Discuss factorization as an important algorithm for information security • Quantum algorithms – What they contribute to computing and cryptography – Deutsch algorithm and Deutsch-Jozsa algorithm – Shor’s quantum algorithm for efficient factorization – Quantum search algorithms – Demonstrations of quantum algorithms – Ongoing quantum algorithms research
3. 3. Review of quantumReview of quantum formalism, circuitsformalism, circuits and new ideasand new ideas useful in quantumuseful in quantum algorithmsalgorithms
4. 4. Universal Quantum gatesUniversal Quantum gates Ideally, we’d like a set of gates that allows us to generate all unitary operations on n qubits The controlled-NOT plus all 1-qubit gates is universal in this sense However, this set of gates in infinite, and therefore not “reasonable” We are happy with finite sets of gates that allow us to approximate any unitary operation on n qubits (more in Chapter 4 of Nielsen and Chuang)
5. 5. Universal Q-Gates: HistoryUniversal Q-Gates: History • Deutsch ‘89: – Universal 3-qubit Toffoli-like gate. • diVincenzo ‘95: – Adequate set of 2-qubit gates. • Barenco ‘95: – Universal 2-qubit gate. • Deutsch et al. ‘95 – Almost all 2-qubit gates are universal. • Barenco et al. ‘95 – CNOT + set of 1-qubit gates is adequate. • Later development of discrete gate sets...
6. 6. Deutsch:Deutsch: Generalized 3-bit Toffoli gate:Generalized 3-bit Toffoli gate: • The following gate is universal:                     ab ba 1 1 1 1 1 1 2/)1( 2/)1( 2/ 2/ παπα παπα ii ii eieb eiea −= += a b b a (Where α is any irrational number.)
7. 7. Barenco’s 2-bit generalized CNOT gateBarenco’s 2-bit generalized CNOT gate • where φ,α,θ,π are relatively irrational • Also works, e.g., for φ=π, α=π/2:             − − = + − θθ θθ θαφ αφα φαα cossin sincos 1 1 ),,( )( )( ii ii eie iee A           − − = θθ θθ θπ π cossin sincos 1 1 ),,( 2 i i A U
8. 8. BarencoBarenco et al.et al. ‘95 results‘95 results • Universality of CNOT + 1-qubit gates – 2-qubit Barenco gate already known universal – 4 1-qubit gates + 2 CNOTs suffice to build it • Construction of generalized Toffoli gates – 3-bit version via five 2-qubit gates – n-qubit version via O(n2 ) 2-qubit gates – No auxilliary qubits needed for the above • All operations done “in place” on input qubits. – n-bit version via O(n) 2-qubit gates, given 1 work qubit
9. 9. Modular arithmeticModular arithmetic For any positive integer N, we say a is congruent to b modulo N (denoted if and only if N divides a-b E.g. 5mod0...15,10,5,0,5,10..., ≡−− Nba mod≡ 5mod1...16,11,6,1,4,9,14... ≡−−− 5mod2...17,12,7,2,3,8,13... ≡−−− 5mod3...18,13,8,3,2,7,12... ≡−−− 5mod4...19,14,9,4,1,6,11... ≡−−−
10. 10. Modular arithmeticModular arithmetic For any positive integer N, and for any integer a, define to be the unique integer, , between 0 and N-1 such that For positive integers, a, we can say that is the remainder when we divide a by N. If N=2, then if a is even if a is odd Na mod Naa mod≡ a a 02mod =a 12mod =a
11. 11. Modulo versus XORModulo versus XOR For }1,0{, ∈ba The controlled-NOT also realizes the reversible XOR function a b ( ) 2modbaba +=⊕ a ab ⊕ reminder
12. 12. Controlled-NOT can be used to copyControlled-NOT can be used to copy classical informationclassical information If we initialize b=0, then the C-NOT can be used to copy “classical” information a 0 a a We can use this operation in the copy part of reversible computation
13. 13. Reversibly computing f(x)Reversibly computing f(x) Suppose we know how to compute )(xfbxbx ⊕→ We can realize the following reversible implementation of f mn f }1,0{}1,0{: →
14. 14. Reversibly computing f(x)=yReversibly computing f(x)=y11yy22 Step 1: Compute f(x)Step 1: Compute f(x) 21321 00000 bbxxx X 2121321321 bbyyjjjxxx Pauli X is an inverter
15. 15. Reversibly computing f(x)=yReversibly computing f(x)=y11yy22 Step 2: Add answer to output registerStep 2: Add answer to output register 2121321321 bbyyjjjxxx 221121321321 ybybyyjjjxxx ⊕⊕
16. 16. Reversibly computing f(x)=yReversibly computing f(x)=y11yy22 Step 3: Uncompute f(x)Step 3: Uncompute f(x) X 221121321321 ybybyyjjjxxx ⊕⊕ 2211321 00000 ybybxxx ⊕⊕
17. 17. A quantum gateA quantum gate 1√NOT 0 + √NOT 0 +1 2 i 2 i 2 1 2 1 1 0
18. 18. ?????? 10 +2 i 2 1 What is supposed to mean?
19. 19. One thing we know about itOne thing we know about it 10 +0α 1αIf we measure we get with probability and with probability 0 1 2 0α 2 1α
20. 20. Please recall the notation!Please recall the notation! 10 10 α+α 0       0 1 1       1 0       α α =      α+      α 1 0 10 1 0 0 1 corresponds to corresponds to corresponds to
21. 21. Two very important 1-Two very important 1- qubit gatesqubit gates             2 i 2 1 2 1 2 i corresponds to             − = 2 1 2 1 2 1 2 1 HAnother useful gate: (Hadamard gate)
22. 22. Unexpected result again!Unexpected result again!       0 1 √NOT0 √NOT 1i             22 1 2 1 2 i i             22 1 2 1 2 i i       i 0 =
23. 23. Tensor Product again!Tensor Product again! 000 0= = 00 0 0⊗=       0 1 ⊗       0 1 = =               0 0 0 1 = 00               0 0 0 1 =
24. 24. LocalLocal versusversus GlobalGlobal description of adescription of a 2-qubit state2-qubit state       + 1 2 1 0 2 i 0⊗ =       ⊗+⊗ 01 2 1 00 2 i       + 10 2 1 00 2 i =
25. 25. A quantum computation:A quantum computation: EntanglementEntanglement 0 00 0 √NOT 0 0 1 12 i + 2 1 INOT ⊗ 10 2 1 00 2 + i 11 2 1 00 2 + iNOTc −
26. 26. 00 INOT ⊗ 10 2 1 00 2 + i 11 2 1 00 2 + iNOTc −               0 0 0 1 I i i ⊗      1 1 2 1               0 1 0 2 1 i  →               0100 1000 0010 0001               1 0 0 2 1 i             i i i i 010 001 100 010 2 1 =⊗      I i i 1 1 2 1 A quantum computation:A quantum computation: EntanglementEntanglement
27. 27. Quantum Circuit ModelQuantum Circuit Model 0 0 0 0 H X    X   ∑ ∈ n x x x }1,0{ α 1 }1,0{ 2 =∑ ∈ n x xα
28. 28. MeasurementMeasurement 0 0 0 0 H X    X   nxxxx 21= Measuring all n qubits yields the result with probability 2 xα
29. 29. Partial MeasurementPartial Measurement 0 0 0 0 H X    X  
30. 30. Partial MeasurementPartial Measurement ∑ ∈ n x x x }1,0{ α         +         =         +         = + ∑∑ ∑∑ ∑∑ −− −− −− ∈∈ ∈∈ ∈∈ 11 11 11 }1,0{ 1 1 1 }1,0{ 0 0 0 }1,0{ 1 }1,0{ 0 }1,0{ 1 }1,0{ 0 10 10 10 nn nn nn y y y y y y y y y y y y y a ay a a yy yy αα αα αα ∑ − ∈ = 1 }1,0{ 2 00 n y ya α ∑ − ∈ = 1 }1,0{ 2 11 n y ya α Suppose we measure the first bit of which can be rewritten as qubit 0 remaining qubits
31. 31. Partial MeasurementPartial Measurement 0 ∑ − ∈ 1 }1,0{ 0 0 n y y y a α The probability of obtaining is and in this case the remaining qubits will be left in the state ∑ − ∈ = 1 }1,0{ 2 0 2 0 n y ya α (reminiscent of Bayes’ theorem)
32. 32. Measurement: observerMeasurement: observer breaks a closed systembreaks a closed system • Note that the act of measurement involves interacting the formerly closed system with an external system (the “observer” or “measuring apparatus”). • So the evolution of the system is no longer necessarily unitary.
33. 33. Note that “global” phaseNote that “global” phase doesn’t matterdoesn’t matter Measuring gives with probability∑ ∈ n x x x }1,0{ α 2 xα ∑ ∈ n x x i xe }1,0{ αφ 22 xx i e ααφ = x Measuring gives with probabilityx
34. 34. Note that “global” phaseNote that “global” phase doesn’t matterdoesn’t matter Can we apply some unitary operation that will make the phase measurable? No!         =        ∑∑ ∈∈ nn x x i x x i xUexeU }1,0{}1,0{ ββ φφ
35. 35. Another tensor product factAnother tensor product fact               ⊗      =               ⊗      =             =      ⊗              d c b a d c b a bd bc ad ac d c b a α α α α α α α
36. 36. Another tensor product factAnother tensor product fact ( ) ( ) yxyxyx ααα == So ….please remember…. Now we have a base of facts to discuss the most interesting aspect of quantum computing - quantum algorithms that are different than for normal (Turing machine-like, circuit-like) computing.
37. 37. Basic Ideas ofBasic Ideas of QuantumQuantum AlgorithmsAlgorithms
38. 38. Quantum AlgorithmsQuantum Algorithms give interesting speedupsgive interesting speedups •Grover’s quantum database search algorithm finds an item in an unsorted list of n items in O(O(√√ n)n) steps; classical algorithms require O(n).O(n). •Shor’s quantum algorithm finds the prime factors of an n-digit number in time O(nO(n33 );); the best known classical factoring algorithms require at least time O(2n 1/3 log(n)2/3)
39. 39. Example: discrete Fourier transformExample: discrete Fourier transform • Problem: for a given vector ( xj ), j= 1,..., N, what is the discrete Fourier transform (DFT) vector • Algorithm: – a detailed step- by- step method to calculate the DFT (yj) for any instance (xj ) • With such an algorithm, one could: – write a DFT program to run on a computer – build a custom chip that calculates the DFT – train a team of children to execute the algorithm (remember the Andleman DNA algorithm and children with Lego?)
40. 40. Computational complexity of DFTComputational complexity of DFT • For the DFT, N could be the dimension of the vector • To calculate each y j, must sum N terms • This sum must be performed for N different y j • Computational complexity of DFT: requires N 2 steps • DFTs are important --> a lot of work in optical computing (1950s, 1960s) to do fast DFTs • 1965: Tukey and Cooley invent the Fast Fourier Transform (FFT), requires N logN steps • FFT much faster --> optical computing almost dies overnight
41. 41. Example: FactoringExample: Factoring • Factoring: given a number, what are its prime factors? • Considered a “hard” problem in general, especially for numbers that are products of 2 large primes
42. 42. Quantum algorithmsQuantum algorithms • Feynman (1982): there may be quantum systems that cannot be simulated efficiently on a “classical” computer • Deutsch (1985): proposed that machines using quantum processes might be able to perform computations that “classical” computers can only perform very poorly Concept of quantum computer emerged as a universal device to execute such quantum algorithms
43. 43. Factoring with quantum systemsFactoring with quantum systems • Shor (1995): quantum factoring algorithm • Example: factor a 300- digit number • To implement Shor’s algorithm, one could: • run it as a program on a “universal quantum computer” • design a custom quantum chip with hard- wired algorithm • find a quantum system that does it naturally! (?)
44. 44. Reminder to appreciateReminder to appreciate : exponential: exponential savings is very good!savings is very good! Factor a 5,000 digit number:Factor a 5,000 digit number: –Classical computer (1ns/instruction, ~today’s best algorithm) •over 5 trillion years (the universe is ~ 10–16 billion years old). –Quantum computer (1ns/instruction, ~Shor’s algorithm) •just over 2 minutes ….the power of quantum computing…...
45. 45. Implications of Factoring andImplications of Factoring and other quantum algorithmsother quantum algorithms • Information security and e-commerce are based on the use of NP problems that are not in P – must be “hard” (not in P ) so that security is unbreakable – requires knowledge/ assumptions about the algorithmic and computational power of your adversaries • Quantum algorithms (e. g., Shor’s factoring algorithm) require us to reassess the security of such systems • Lessons to be learned: – algorithms and complexity classes can change! – information security is based on assumptions of what is hard and what is possible --> better be convinced of their validity
46. 46. Shor’s algorithmShor’s algorithm •Hybrid algorithm to factor numbers •Quantum component finds period r of sequence a1, a2, . . . ai, . . . , given an oracle function that maps i to ai •Skeleton of the algorithm: – create a superposition of all oracle inputs and call the oracle – apply a quantum Fourier transform to the input qubits – read the input qubits to obtain a random multiple of 1/r – repeat a small number of times to infer r
47. 47. Shor Type AlgorithmsShor Type Algorithms 1985 Deutsch’s algorithm demonstrates task quantum computer can perform in one shot that classically takes two shots. 1992 Deutsch-Jozsa algorithm demonstrates an exponential separation between classical deterministic and quantum algorithms. 1993 Bernstein-Vazirani demonstrates a superpolynomial algorithm separation between probabilistic and quantum algorithms. 1994 Simon’s algorithm demonstrates an exponential separation between probabilistic and quantum algorithms. 1994 Shor’s algorithm demonstrates that quantum computers can efficiently factor numbers.
48. 48. Search problemsSearch problems • Problem 1 : Given an unsorted database of N items, how long will it take to find a particular item x? – Check items one at a time. Is it x? – Average number of checks: N/ 2N/ 2 • Problem 2 : Given an unsorted database of N items, each either red or black, how many are red? – Start a tally – Check items one at a time. Is it red? • If it is red, add one to the tally • If it is black, don't change the tally – Must check all items: requires N checks • Not surprisingly, these are the best (classical) algorithms • We can define quantum search algorithms that do better
49. 49. OraclesOracles • We need a "quantum way" to recognize a solution • Define an oracle to be the unitary operator • O : |x> |q> --> |x> |q ⊕ f( x) > where |q> is an ancilla qubit • Could measure the ancilla qubit to determine if x is a solution • Doesn't this "oracle" need to know the solution? – It just needs to recognize a solution when given one – Similar to NP problems • One oracle call represents a fixed number of operations • Address the complexity of a search algorithm in terms of the number of oracle calls --> separates scaling from fixed costs
50. 50. Quantum searchingQuantum searching • Grover (1996): quantum search algorithm • For M solutions in a database containing N elements: • Quantum search algorithm works by applying the oracle to superpositions of all elements, – it increases the amplitude of solutions (viewed as states) • Quantum search requires that we know M/ N (at least approximately) prior to the algorithm, in order to perform the correct number of steps • Failure to measure a solution --> run the algorithm again .
51. 51. Quantum countingQuantum counting • What if the number of solutions M is not known? • Need M in order to determine the number of iterations of the Grover operator • Classical algorithm requires N steps • Quantum algorithm: Use phase estimation techniques – based on quantum Fourier transform (Shor) – requires N 1/ 2 oracle calls • For a search with unknown number of solutions: – First perform quantum counting: N 1/2 – With M, perform quantum search: N 1/2 – Total search algorithm: still only N 1/2 Example of collaboration of two quantum algorithms
52. 52. Can we do better than Grover quantum search?Can we do better than Grover quantum search? • Quantum search algorithm provides a quadratic speedup over best classical algorithm Classical: N steps Quantum: N 1/2 steps • Maybe there is a better quantum search algorithm • Imagine one that requires log N steps: – Quantum search would be exponentially faster than any classical algorithm – Used for NP problems: could reduce them to P by searching all possible solutions • Unfortunately, NO: Quantum search algorithm is "optimal" • Any search- based method for NP problems is slow
53. 53. How do quantum algorithms work?How do quantum algorithms work? • What makes a quantum algorithm potentially faster than any classical one? – Quantum parallelism: by using superpositions of quantum states, the computer is executing the algorithm on all possible inputs at once – Dimension of quantum Hilbert space: the “size” of the state space for the quantum system is exponentially larger than the corresponding classical system – Entanglement capability: different subsystems (qubits) in a quantum computer become entangled, exhibiting nonclassical correlations • We don’t really know what makes quantum systems more powerful than a classical computer • Quantum algorithms are helping us understand the computational power of quantum versus classical systems
54. 54. Quantum algorithms researchQuantum algorithms research • Require more quantum algorithms in order to: – solve problems more efficiently – understand the power of quantum computation – make valid/ realistic assumptions for information security • Problems for quantum algorithms research: – requires close collaboration between physicists and computer scientists – highly non- intuitive nature of quantum physics – even classical algorithms research is difficult
55. 55. Summary of quantumSummary of quantum algorithmsalgorithms • It may be possible to solve a problem on a quantum system much faster (i. e., using fewer steps) than on a classical computer • Factorization and searching are examples of problems where quantum algorithms are known and are faster than any classical ones • Implications for cryptography, information security • Study of quantum algorithms and quantum computation is important in order to make assumptions about adversary’s algorithmic and computational capabilities • Leading to an understanding of the computational power of quantum versus classical systems
56. 56. Deutsch’sDeutsch’s ProblemProblem … everything started with small circuit of Deutsch…...
57. 57. Deutsch’s Problem David Deutsch Delphi Deutsch’s ProblemDeutsch’s Problem Determine whether f(x) is constant or balanced using as few queries to the oracle as possible. (1985)(Deutsch ’85)
58. 58. Classical DeutschClassical Deutsch Classically we need to query the oracle two times to solve Deutsch’s Problem ⊕ f f f(0) ⊕ f(1) 1 for balanced, 0 for constants 0 1
59. 59. Quantum Deutsch:first explanationQuantum Deutsch:first explanation 1. 2. 3. 100 % |01> 100 % |01> 100 % |11> 100 % |11> Substitute f
60. 60. Deutsch Circuit measure
61. 61. Quantum Deutsch: second explanationQuantum Deutsch: second explanation This kind of proof is often faster and more intuitive but it is better to check using matrices because you likely can make errors This circuit is replaced by this
62. 62. Quantum Deutsch: second explanationQuantum Deutsch: second explanation This is obtained after connecting Hadamards and simplifying
63. 63. Generalize these ideasGeneralize these ideas • So, we can distinguish by measurement between first two circuits from bottom and second two circuits from bottom. • This method is very general, we can build various oracles and check how they can be distinguished, by how many tests. • In this case, we just need one test, but in a more general case we can have a decision tree for decision making.
64. 64. Find using only 1 evaluation of a reversible “black-box” circuit for }1,0{}1,0{: →f f )1()0( ⊕ff )x(f+ x x b )x(fb⊕ Quantum Deutsch: thirdQuantum Deutsch: third explanationexplanation
65. 65. Phase “kick-back” trickPhase “kick-back” trick x )x(f+10 − x)1( )x(f − )10(x)1( )10()1(x )x(f )x(f −−= −−= 10 − )1)x(f)x(f(x)10(x ⊕−→− The phase depends on function f(x)
66. 66. A Deutsch quantum algorithm:A Deutsch quantum algorithm: third explanation continuedthird explanation continued 0 H )x(f+ H 10 −10 − )1(f)0(f ⊕ 10 + )1)1(0()1( 1)1(0)1( )1(f)0(f)0(f )1(f)0(f ⊕ −+−= −+− )1(f)0(f)1( )0(f ⊕− …here we reduce the number of H gates... We apply one hadamard In Hilbert space After measurement
67. 67. Deutsch Algorithm PhilosophyDeutsch Algorithm Philosophy Since we can prepare a superposit ion of all t he input s, we can learn a globalpropert y of f (i.e. a propert y t hat depends on al l t he values of f (x)) by only applying f once The global propert y is encoded in the phase information, which we learn via interferometryinterferometry Classically, one applicat ion of f will only allow us t o probe it s value on one input We use just one quantum evaluation by, in effect, computing f(0) and f(1) simultaneously • The Circuit: MH H H y ⊕f(x)y x x Uf Not always
68. 68. Deutsch’s AlgorithmDeutsch’s Algorithm MH H H y ⊕f(x)y x x Uf • Initialize with |Ψ0〉 = |01〉 |0〉 |1〉 |Ψ0〉 • Create superposition of x states using the first Hadamard (H) gate. Set y control input using the second H gate |Ψ1〉 • Compute f(x) using the special unitary circuit Uf |Ψ2〉 • Interfere the |Ψ2〉 states using the third H gate |Ψ3〉 • Measure the x qubit |0〉 = constant; |1〉 = balanced measurement
69. 69. M y ⊕f(x)y x x Uf |0〉 |1〉 |Ψ0〉 |Ψ1〉 |Ψ2〉 |Ψ3〉 Ψ1 = 0 + 1 2     0 − 1 2     Ψ2 = −1( )f (0) 0 + −1( )f(1) 1 2     0 − 1 2     = ± 0 + 1 2     0 − 1 2     ± 0 − 1 2     0 − 1 2          H H H Ψ3 = ± 0[ ] 0 − 1 2     ± 1[ ] 0 − 1 2          if f(0) = f(1) if f(0) ≠ f(1) if f(0) = f(1) if f(0) ≠ f(1) Ψ0 = 0[ ] 1[ ] Deutsch’s Algorithm with singleDeutsch’s Algorithm with single qubit measurementqubit measurement
70. 70. Deutsch In Perspective Quantum theory allows us to do in a single query what classically requires two queries. What about problems where theWhat about problems where the computational complexity iscomputational complexity is exponentially more efficient?exponentially more efficient?
71. 71. Extended Deutsch’s ProblemExtended Deutsch’s Problem • Given black-box f:{0,1}n →{0,1}, – and a guarantee that f is either constant or balanced (1 on exactly ½ of inputs) – Which is it? – Minimize number of calls to f. • Classical algorithm, worst-case: – Order 2n time! • What if the first 2n-1 cases examined are all 0? – Function could be either constant or balanced. • Case number 2n-1 +1: if 0, constant; if 1, balanced. • Quantum algorithm is exponentially faster! – (Deutsch & Jozsa, 1992.)
72. 72. Deutsch-Jozsa ProblemDeutsch-Jozsa Problem Deutsch-Jozsa Problem Determine whether f(x) is constant or balanced using as few queries to the oracle as possible. (1992)
73. 73. Classical DJ x 1 0 1 0 x This is a probabilistic algorithm!
74. 74. Quantum DJ Now we additionally apply Hadamard in output of the function
75. 75. Quantum DJ
76. 76. Full Quantum DJ Solves DJ with a SINGLE query vs 2n-1 +1 classical deterministic!!!!!!!!!
77. 77. Deutsch-Josza Algorithm (contd)Deutsch-Josza Algorithm (contd) • This algorithm distinguishes constant from balanced functions in one evaluationin one evaluation of f, versus 2n–1 + 1 evaluations for classical deterministic algorithms • Balanced functions have many interesting and some useful properties – K. Chakrabarty and J.P. Hayes, “Balanced Boolean functions,” IEE Proc: Digital Techniques, vol. 145, pp 52 - 62, Jan. 1998.