Quantum Computing: What’s It Good For? Scott Aaronson Computer Science Department, UC Berkeley January 10, 2002 www.cs.berkeley.edu/~aaronson Overview 1. History and background 2. The quantum computation model 3. Example: Simon’s algorithm 4. Other algorithms (Shor’s, Grover’s) 5. Limits of quantum computing, including recent work 6. The future Richard Feynman (1981): “...trying to find a computer simulation of physics, seems to me to be an excellent program to follow out...and I'm not happy with all the analyses that go with just the classical theory, because nature isn’t classical, dammit, and if you want to make a simulation of nature, you'd better make it quantum mechanical, and by golly it's a wonderful problem because it doesn't look so easy.” David Deutsch (1985): “Computing machines resembling the universal quantum computer could, in principle, be built and would have many remarkable properties not reproducible by any Turing machine … Complexity theory for [such machines] deserves further investigation.” What Is Quantum Mechanics? What Is Quantum Mechanics? Traditional Physics View Quantum Computing View Framework for atomic-scale Computational model with physical theories amplitudes instead of probabilities Complicated (lots of integral Simple signs) Pessimistic (i.e. Heisenberg Optimistic (i.e. Shor’s uncertainty relation) factoring algorithm) The Model • Computer has n bits of memory • Classical case: if n=2, possible states are 00, 01, 10, 11 • Randomized case: States are vectors of 2n probabilities in [0,1] i.e. Pr[00]=0.2 Pr[01]=0.2 Pr[10]=0.1 Pr[11]=0.5 • Quantum case: States are vectors of 2n complex numbers called amplitudes The Model (con’t) • Dirac ket notation: We write state as, i.e., 0.5 |00 - 0.5 |01 + 0.5i |10 - 0.5i |11 Superposition over basis states • Normalization: If state is ii|i, then i|i|2 = 1 (Why complex numbers? Why |i|2 and not i2?) Measurement • When we measure state, see basis state |i with probability |i|2 • Furthermore, state collapses to |i • Can also make partial measurements • Example: Measuring 1st bit of 1 1 1 00 10 11 2 2 2 yields |00 with ½ prob., (|10+|11)/2 with ½ prob. Time Evolution • Matrix U is unitary iff UU†=I, † conjugate transpose Equivalently: U preserves norm • Can multiply amplitude vector by some unitary U (i.e. replace state | by U|) • Quantum analogue of Markov transitions Example: Square Root of NOT • Hadamard matrix: 1 2 H 1 2 2 1 2 1 H|0 = (|0+|1)/2 H|1 = (|0-|1)/2 H(|0+|1)/2 = |0 H(|0-|1)/2 = |1 Quantum Circuits • Unitary operation is local if it applies to only a constant number of bits (qubits) • Given a yes/no problem of size n: 1. Apply order nk local unitaries for constant k 2. Measure first bit, return ‘yes’ iff it’s 1 • BQP: class of problems solvable by such a circuit with error probability at most 1/3 (+ technical requirement: uniformity) The Power of Quantum Computing • Bernstein-Vazirani 1993: BPP BQP PSPACE BPP: solvable classically with order nk time PSPACE: solvable with order nk memory • Apparent power of quantum computing comes from interference - Probabilities always nonnegative - But amplitudes can be negative (or complex), so paths leading to wrong answers can cancel each other out Simon’s Problem Given a black box x f(x) Promise: There exists a secret string s such that f(x)=f(y) y=xs for all x,y (: bitwise XOR) Problem: Find s with as few queries as possible Example Input x 000 001 010 011 100 101 110 111 Output f(x) 4 2 3 1 2 4 1 3 Secret string s: 101 f(x)=f(xs) Simon’s Algorithm • Classically, order 2n/2 queries needed to find s - Even with randomness • Simon (1993) gave quantum algorithm using only order n queries • Assumption: given |x, can compute |x|f(x) efficiently Simon’s Algorithm (con’t) 1 1. Prepare uniform superposition 2 1 2. Compute f: n/2 2 n/2 x0,1 x f x x0,1 n 3. Measure |f(x), yielding for some x 1 x xs 2 f x x n Simon’s Algorithm (con’t) 4. Apply to each bit of 1 2 H 1 2 Result: 2 1 2 1 1 22n / 2 1 x xs 2 x y x s y y n 1 1 y 0,1 where n x y xi yi mod 2 i 1 Simon’s Algorithm (con’t) 5. Measure. Obtain a random y such that x y x s y s y 0. 6. Repeat steps 1-5 order n times. Obtain a linear system over GF2: s y 0 1 s y2 0 7. Solve for s. Can show solution is unique with high probability. Schematic Diagram |0 |0 H n H |0 |0 |0 |0 f(x) O b s e r v e n O b s e r v e Period Finding • Given: Function f from {1…2n} to {1…2n} Promise: There exists a secret integer r such that f(x)=f(y) r | x-y for all x Problem: Find r with as few queries as possible • Classically, order 2n/3 queries to f needed • Inspired by Simon, Shor (1994) gave quantum algorithm using order poly(n) queries Example: r=5 10 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 11 Factoring and Discrete Log • Using period-finding, can factor integers in polynomial time (Miller 1976) • Also discrete log: given a,b,N, find r such that arb(mod N) • Breaks widely-used public-key cryptosystems: RSA, Diffie-Hellman, ElGamal, elliptic curve systems… Grover’s Algorithm Unsorted database of n items Goal: Find one “marked” item • Classically, order n queries to database needed • Grover 1996: Quantum algorithm using order n queries Limits of Quantum Computing • Bennett et al. 1996: Grover’s algorithm is optimal (Quantum search requires order n queries) • Beals et al. 1998: For all total Boolean functions f: {0,1}n{0,1}, if quantum algorithm to evaluate f uses T queries, exists classical algorithm using order T6 queries. Collision Problem • Given: a function f: {1,…,n}{1,…,N}, n even Promise: f is either 1-1 (i.e. 3,7,9,2) or 2-1 (5,2,2,5) Problem: Decide which • Models graph isomorphism, breaking cryptographic hash functions • Classical algorithm needs order n queries to f • Brassard et al. 1997: Quantum algorithm using n1/3 queries Collision Lower Bound • Can a quantum algorithm do better than n1/3? Previously couldn’t even rule out constant number of queries! • A 2001: Any quantum algorithm for collision needs order n1/5 queries • Shi 2001: Improved to order n1/3 The Future The Future • When processor components reach atomic scale, Moore’s Law breaks down - Quantum effects become important whether we want them or not - But huge obstacles to building a practical quantum computer! Implementation Implementation • Key technical challenge: prevent decoherence, or unwanted interaction with environment • Approaches: NMR, ion trap, quantum dot, Josephson junction, optical… • Recent achievement: 15=35 (Chuang et al. 2001) • Larger computations will require quantum errorcorrecting codes Quantum Computing: What’s It Good For? • Potential (benign) applications - Faster combinatorial search - Simulating quantum systems • ‘Spinoff’ in quantum optics, chemistry, etc. • Makes QM accessible to non-physicists • Surprising connections between physics and CS • New insight into mysteries of the quantum