quantum algorithms tutorial
play

Quantum Algorithms Tutorial Ronald de Wolf 1/ 37 Post-quantum - PowerPoint PPT Presentation

Quantum Algorithms Tutorial Ronald de Wolf 1/ 37 Post-quantum cryptography I Quantum computers can break public-key cryptography that is based on assuming hardness of factoring, discrete logs, and a few other problems I Post-quantum


  1. Quantum Algorithms Tutorial Ronald de Wolf 1/ 37

  2. Post-quantum cryptography I Quantum computers can break public-key cryptography that is based on assuming hardness of factoring, discrete logs, and a few other problems I Post-quantum cryptography tries to design classical crypto schemes that cannot be broken e ffi ciently by quantum algorithms I Classical codemakers vs quantum codebreakers I This tutorial: Get to know your enemy! 2/ 37

  3. Quantum bits I Richard Feynman, David Deutsch in early 1980s: Harness quantum e ff ects for useful computations! I Classical bit is 0 or 1; quantum bit is superposition of 0 and 1 For example, can use an electron as qubit, with 0 = “spin up” and 1 = “spin down” I 2 qubits is superposition of 4 basis states (00,01,10,11) 3 qubits is superposition of 8 basis states (000,001, . . . ) . . . 1000 qubits: superposition of 2 1000 states I Massive space for computation! Easier said than done. . . 3/ 37

  4. A bit of math: states ✓ 1 ✓ 0 ◆ ◆ I 1-qubit basis states: | 0 i = and | 1 i = 0 1 ✓ ↵ 0 ◆ 2 C 2 I Qubit: superposition ↵ 0 | 0 i + ↵ 1 | 1 i = ↵ 1 I 0 1 0 ✓ 0 ✓ 1 ◆ ◆ 0 B C 2-qubit basis state: | 10 i = | 1 i ⌦ | 0 i = ⌦ = B C 1 0 1 @ A 0 X ↵ x | x i 2 C 2 n I n -qubit state: | i = x 2 { 0 , 1 } n I Axiom: measuring state | i gives | x i with probability | ↵ x | 2 X | ↵ x | 2 = 1, I Hence so | i is a vector of length 1 x 2 { 0 , 1 } n 4/ 37

  5. A bit of math: operations I Quantum operation maps quantum states to quantum states and is linear = ) corresponds to unitary matrix I Example 1-qubit gates: ✓ 0 ✓ 1 ✓ 1 ◆ ◆ ◆ 1 0 0 X = , Z = , T = e ⇡ i / 4 1 0 0 � 1 0 ✓ 1 ◆ 1 1 I More quantum: Hadamard gate = p 1 � 1 2 1 1 H | 0 i = 2 ( | 0 i + | 1 i ), H | 1 i = 2 ( | 0 i � | 1 i ) p p But H 1 1 1 2 ( | 0 i + | 1 i ) = 2 H | 0 i + 2 H | 1 i = | 0 i p p p Interference! I Controlled-NOT gate on 2 qubits: | a , b i 7! | a , a � b i 5/ 37

  6. Quantum circuits I A classical Boolean circuit consists of AND, OR, and NOT gates on an n -bit register I A quantum circuit consists of unitary quantum gates on an n -qubit register (allowing H , T , and CNOT gates su ffi ces) Example: - - - H input | 0 i final C qubits state - - | 0 i | 00 i H ⌦ I 2 ( | 00 i + | 10 i ) CNOT 1 1 � ! � ! 2 ( | 00 i + | 11 i ) p p This circuit creates an EPR-pair: entanglement! 6/ 37

  7. Recap: From classical to quantum computation I bits � ! qubits I AND/OR/NOT gates � ! unitary quantum gates I classical circuit � ! quantum circuit I reading the output bit � ! measuring final state 7/ 37

  8. Quantum mechanical computers 1. Start with all qubits in easily-preparable state (e.g. all | 0 i ) 2. Run a circuit that produces the right kind of interference: computational paths leading to correct output should interfere constructively, others should interfere destructively 3. Measurement of final state gives classical output Two important questions: 1. Can we build such a computer? 2. What can it do? This tutorial: 2nd question, focus on quantum algorithms 8/ 37

  9. Quantum parallelism I Suppose classical algorithm computes f : { 0 , 1 } n ! { 0 , 1 } m I Convert this to quantum circuit U : | x i | 0 i 7! | x i | f ( x ) i I We can now compute f “on all inputs simultaneously”! 0 1 @ 1 1 X X A = p | x i | 0 i p | x i | f ( x ) i U 2 n 2 n x 2 { 0 , 1 } n x 2 { 0 , 1 } n I This contains all 2 n function values! I But observing gives only one random | x i | f ( x ) i All other information will be lost I More tricks needed for successful quantum computation Interference! 9/ 37

  10. Deutsch-Jozsa problem I Given: function f : { 0 , 1 } n ! { 0 , 1 } (2 n bits) , s.t. (1) f ( x ) = 0 for all x (constant), or 2 · 2 n of the x ’s (balanced) (2) f ( x ) = 0 for 1 I Question: is f constant or balanced? 2 · 2 n + 1 steps (“queries” to f ) I Classically: need at least 1 I Quantumly: O ( n ) gates su ffi ce, and only 1 query I Query: application of unitary O f : | x , 0 i 7! | x , f ( x ) i I More generally: O f : | x , b i 7! | x , b � f ( x ) i ( b 2 { 0 , 1 } ) I NB using | �i = H | 1 i , we can get queried bit as a ± -phase: O f | x i | �i = ( � 1) f ( x ) | x i | �i 10/ 37

  11. Deutsch-Jozsa algorithm | 0 i H H . . . . . . measure O f | 0 i H H | 1 i H H I Starting state: | 0 . . . 0 i | 1 i | {z } n 1 X I After first Hadamards: p | x i | �i 2 n x 2 { 0 , 1 } n 1 X ( � 1) f ( x ) | x i | �i I Make one query: p 2 n x 2 { 0 , 1 } n I Forget about the last qubit | �i 11/ 37

  12. Deutsch-Jozsa (continued) I After second Hadamard: 1 1 X X ( � 1) f ( x ) ( � 1) x · y | y i p p 2 n 2 n x 2 { 0 , 1 } n y 2 { 0 , 1 } n ⇢ 1 I ↵ 0 ... 0 = 1 if constant X ( � 1) f ( x ) = 2 n 0 if balanced x 2 { 0 , 1 } n I Measurement gives right answer with certainty I Big quantum-classical separation: O ( n ) vs Ω (2 n ) steps I But the problem is e ffi ciently solvable by bounded-error classical algorithm (just query f at a few random x ) 12/ 37

  13. The meat of this tutorial: 4 quantum algorithms 1. Shor’s factoring algorithm 2. Grover’s search algorithm 3. Ambainis’s collision-finding algorithm 4. HHL algorithm for linear systems 13/ 37

  14. Factoring I Given N = p · q , compute the prime factors p and q I Fundamental mathematical problem since Antiquity I Fundamental computational problem on log N bits 15 = 3 ⇥ 5 12140041 = 3413 ⇥ 3557 I Best known classical algorithms use time 2 (log N ) ↵ , where ↵ = 1 / 2 or 1 / 3 I Its assumed computational hardness is basis of public-key cryptography (RSA) I A quantum computer can break this, using Shor’s e ffi cient quantum factoring algorithm! 14/ 37

  15. Overview of Shor’s algorithm I Classical reduction: choose random x 2 { 2 , . . . , N � 1 } . It su ffi ces to find period r of f ( a ) = x a mod N I Shor uses the quantum Fourier transform for period-finding | 0 i . . . . QFT QFT measure . . | 0 i O f | 0 i . . . . . . measure | 0 i I Overall complexity: roughly (log N ) 2 elementary gates 15/ 37

  16. Reduction to period-finding I Pick a random integer x 2 { 2 , . . . , N � 1 } , s.t. gcd( x , N )=1 I The sequence x 0 , x 1 , x 2 , x 3 , . . . mod N cycles: has an unknown period r (min r > 0 s.t. x r ⌘ 1 mod N ) I With probability � 1 / 4 (over the choice of x ): r is even and x r / 2 ± 1 6⌘ 0 mod N I Then: x r = ( x r / 2 ) 2 ⌘ 1 mod N ( ) ( x r / 2 + 1)( x r / 2 � 1) ⌘ 0 mod N ( ) ( x r / 2 + 1)( x r / 2 � 1) = kN for some k I x r / 2 + 1 and x r / 2 � 1 each share a factor with N I This factor of N can be extracted using gcd-algorithm 16/ 37

  17. Quantum Fourier transform q � 1 1 X 2 ⇡ ijk q | k i I Fourier basis (dimension q ): | � j i = p q e k =0 Such a state is unentangled | � j 0 j 1 j 2 i = 1 8 ( | 0 i + e 2 ⇡ i 0 . j 2 | 1 i ) ⌦ ( | 0 i + e 2 ⇡ i 0 . j 1 j 2 | 1 i ) ⌦ ( | 0 i + e 2 ⇡ i 0 . j 0 j 1 j 2 | 1 i ) p I Quantum Fourier Transform: | j i 7! | � j i I If q = 2 ` , then can implement this with O ( ` 2 ) gates. I For Shor: choose q = 2 ` in ( N 2 , 2 N 2 ] 17/ 37

  18. Easy case for the analysis: r | q 1. Apply QFT to 1st register of | 0 . . . 0 i | 0 . . . 0 i : | {z } | {z } ` qubits d log N qubits e q � 1 1 X | a i | 0 i p q a =0 2. Compute f ( a ) = x a mod N (by repeated squaring) q � 1 1 X | a i | x a mod N i p q a =0 3. Observing 2nd register gives | x s mod N i (random s < r ) 1st register collapses to superposition of | s i , | r + s i , | 2 r + s i , . . . , | q � r + s i 18/ 37

  19. Easy case: r | q (continued) q / r � 1 X Recall: 1st register is in superposition | jr + s i j =0 4. Apply QFT once more: 0 1 q / r � 1 q / r � 1 q � 1 q � 1 ⇣ ⌘ j X X e 2 ⇡ i ( jr + s ) b X X e 2 ⇡ i sb e 2 ⇡ i rb | b i = | b i q q @ q A j =0 b =0 b =0 j =0 | {z } geometric sum q = 1 i ff rb Sum 6 = 0 i ff e 2 ⇡ i rb q is an integer Only the b that are multiples of q r have non-zero amplitude! 19/ 37

  20. Easy case: r | q (continued) 5. Observe 1st register: random multiple b = c q r , c 2 [0 , r ): b q = c r I b and q are known; c and r are unknown I c and r are coprime with probability � 1 / log log r I Then: we find r by writing b q in lowest terms I Since we can find r , we can find prime factors of N ! Hard case ( r 6 | q ) still works approximately: measurement gives b s.t. b q ⇡ c r ; we can find r with some extra number theory 20/ 37

  21. Summary for Shor’s algorithm I Reduce factoring to finding the period r of modular exponentiation function f ( a ) = x a mod N I Use quantum Fourier transform to find a multiple of q / r , repeat a few times to find r I Overall complexity: I QFT takes O (log q ) 2 = O (log N ) 2 elementary gates I Modular exponentiation: ⇡ (log N ) 2 log log N gates; classical computation by repeated squaring (use Sch¨ onhage-Strassen algo for fast multiplication) I Everything repeated O (log log N ) times I Classical postprocessing takes O (log N ) 2 gates I Roughly (log N ) 2 elementary gates in total 21/ 37

  22. The search problem I We want to search for some good item in an unordered N -element search space I Model this as function f : { 0 , 1 } n ! { 0 , 1 } ( N = 2 n ) f ( x ) = 1 if x is a solution I We can query f : O f : | x i | 0 i 7! | x i | f ( x ) i or O f : | x i 7! ( � 1) f ( x ) | x i I Goal: find a solution I Classically this takes O ( N ) steps (queries to f ) p I Grover’s algorithm does it in O ( N ) steps 22/ 37

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend