Simon s algorithm (1994)

Similar documents
Introduction to Quantum Computing

Introduction to Quantum Information Processing

Introduction to Quantum Computing

Ph 219b/CS 219b. Exercises Due: Wednesday 22 February 2006

Fourier Sampling & Simon s Algorithm

Shor s Prime Factorization Algorithm

Simulating classical circuits with quantum circuits. The complexity class Reversible-P. Universal gate set for reversible circuits P = Reversible-P

Tutorial on Quantum Computing. Vwani P. Roychowdhury. Lecture 1: Introduction

Compute the Fourier transform on the first register to get x {0,1} n x 0.

Quantum Complexity Theory. Wim van Dam HP Labs MSRI UC Berkeley SQUINT 3 June 16, 2003

6.080/6.089 GITCS May 6-8, Lecture 22/23. α 0 + β 1. α 2 + β 2 = 1

Concepts and Algorithms of Scientific and Visual Computing Advanced Computation Models. CS448J, Autumn 2015, Stanford University Dominik L.

1 Quantum Circuits. CS Quantum Complexity theory 1/31/07 Spring 2007 Lecture Class P - Polynomial Time

Quantum Computation and Communication

Introduction to Quantum Algorithms Part I: Quantum Gates and Simon s Algorithm

Quantum Computing Lecture 8. Quantum Automata and Complexity

Quantum Computation. Michael A. Nielsen. University of Queensland

Shor s Algorithm. Polynomial-time Prime Factorization with Quantum Computing. Sourabh Kulkarni October 13th, 2017

Introduction to Quantum Computing

Chapter 10. Quantum algorithms

Lecture 22: Quantum computational complexity

Quantum Computing. 6. Quantum Computer Architecture 7. Quantum Computers and Complexity

Ph 219b/CS 219b. Exercises Due: Wednesday 20 November 2013

An Introduction to Quantum Computation and Quantum Information

Complex numbers: a quick review. Chapter 10. Quantum algorithms. Definition: where i = 1. Polar form of z = a + b i is z = re iθ, where

Computational Complexity: A Modern Approach. Draft of a book: Dated January 2007 Comments welcome!

Simulation of quantum computers with probabilistic models

Errata list, Nielsen & Chuang. rrata/errata.html

Quantum algorithms (CO 781, Winter 2008) Prof. Andrew Childs, University of Waterloo LECTURE 1: Quantum circuits and the abelian QFT

Quantum Complexity Theory and Adiabatic Computation

COMPUTATIONAL COMPLEXITY

An Architectural Framework For Quantum Algorithms Processing Unit (QAPU)

COMPARATIVE ANALYSIS ON TURING MACHINE AND QUANTUM TURING MACHINE

QUANTUM COMPUTATION. Lecture notes. Ashley Montanaro, University of Bristol 1 Introduction 2

Lecture 4: Elementary Quantum Algorithms

Quantum Information Processing

Figure 1: Circuit for Simon s Algorithm. The above circuit corresponds to the following sequence of transformations.

Notes for Lecture 3... x 4

Classical Verification of Quantum Computations

Shor s Algorithm. Elisa Bäumer, Jan-Grimo Sobez, Stefan Tessarini May 15, 2015

Quantum Information & Quantum Computation

Logic gates. Quantum logic gates. α β 0 1 X = 1 0. Quantum NOT gate (X gate) Classical NOT gate NOT A. Matrix form representation

Computational Complexity: A Modern Approach

Discrete Quantum Theories

CS257 Discrete Quantum Computation

Quantum Circuits and Algorithms

Mathematics of Public Key Cryptography

Factoring on a Quantum Computer

ADVANCED QUANTUM INFORMATION THEORY

Topological Quantum Computation. Zhenghan Wang Microsoft Station Q & UC Sana Barbara Texas, March 26, 2015

Lecture 24: Randomized Complexity, Course Summary

Quantum Computing. Thorsten Altenkirch

Quantum Computation, NP-Completeness and physical reality [1] [2] [3]

Introduction to Quantum Information, Quantum Computation, and Its Application to Cryptography. D. J. Guan

Advanced Cryptography Quantum Algorithms Christophe Petit

Quantum Algorithms. 1. Definition of the Subject and Its Importance. 4. Factoring, Discrete Logarithms, and the Abelian Hidden Subgroup Problem

Parallelization of the QC-lib Quantum Computer Simulator Library

Lecture 3: Constructing a Quantum Model

. An introduction to Quantum Complexity. Peli Teloni

Complexity-Theoretic Foundations of Quantum Supremacy Experiments

A High Level Programming Language for Quantum Computing

Reversible and Quantum computing. Fisica dell Energia - a.a. 2015/2016

CSCI 1590 Intro to Computational Complexity

10 Quantum Complexity Theory I

arxiv: v3 [cs.dm] 13 Feb 2018

Quantum computing for beginners

Algorithms, Logic and Complexity. Quantum computation. basic explanations! &! survey of progress

Extended Superposed Quantum State Initialization Using Disjoint Prime Implicants

Exponential time vs probabilistic polynomial time

Quantum Computing. Quantum Computing. Sushain Cherivirala. Bits and Qubits

- Why aren t there more quantum algorithms? - Quantum Programming Languages. By : Amanda Cieslak and Ahmana Tarin

A Parallel Processing Algorithms for Solving Factorization and Knapsack Problems

Quantum Information & Quantum Computation

Quantum Computing 101. ( Everything you wanted to know about quantum computers but were afraid to ask. )

Quantum Computation. Dr Austin Fowler Centre for Quantum Computer Technology. New Scientist, 10/11/07

Seminar 1. Introduction to Quantum Computing

Short Course in Quantum Information Lecture 5

Quantum computing. Shor s factoring algorithm. Dimitri Petritis. UFR de mathématiques Université de Rennes CNRS (UMR 6625) Rennes, 30 novembre 2018

CS 151 Complexity Theory Spring Solution Set 5

9 Knapsack Cryptography

Richard Cleve David R. Cheriton School of Computer Science Institute for Quantum Computing University of Waterloo

QuIDD-Optimised Quantum Algorithms

Computational Complexity

1 Randomized Computation

Succinct quantum proofs for properties of finite groups

Great Ideas in Theoretical Computer Science. Lecture 28: A Gentle Introduction to Quantum Computation

Quantum computing! quantum gates! Fisica dell Energia!

6.080/6.089 GITCS May 13, Lecture 24

DRAFT. Quantum Computation. Chapter 21

Quantum Computation. Yongjian Han. Fall Key Lab. of Quantum Information, CAS, USTC. uantum Entanglement Network Group (USTC) Fall / 88

Quantum Algorithms. Andreas Klappenecker Texas A&M University. Lecture notes of a course given in Spring Preliminary draft.

4th year Project demo presentation

6.896 Quantum Complexity Theory September 18, Lecture 5

Randomness and non-uniformity

Lecture 26: QIP and QMIP

Introduction to Quantum Computing

2 A Fourier Transform for Bivariate Functions

QFT, Period Finding & Shor s Algorithm

Quantum Computer Simulation Using CUDA (Quantum Fourier Transform Algorithm)

A Thermodynamic Turing Machine: Artificial Molecular Computing Using Classical Reversible Logic Switching Networks [1]

Transcription:

Simon s algorithm (1994) Given a classical circuit C f (of polynomial size, in n) for an f : {0, 1} n {0, 1} n, such that for a certain s {0, 1} n \{0 n }: x, y {0, 1} n (x y) : f (x) = f (y) x y = s with the bitwise XOR, i.e., addition modulo 2. Running example: n = 3 and s = 011. f : {0, 1} 3 {0, 1} 3 is defined as follows: f (000) = f (011) = 010 f (100) = f (111) = 110 f (001) = f (010) = 101 f (101) = f (110) = 001

Simon s algorithm We are only given a black box, which for any input x produces f (x). Problem: Determine s. A brute force algorithm: Search for a pair x y with f (x) = f (y), and compute x y. On average, this takes an exponential amount of time (in n). Simon s algorithm on average determines s in polynomial time (in n)

Simon s algorithm C f transforms [xy into [x(f (x) y), for each x, y {0, 1} n. H H. 0 n. H H C f 0 n.. (The circuit needed to compute f (x) is omitted.) After performing C f, the last n qubits are measured.

Simon s algorithm We start with [0 n 0 n. (The last n qubits are working memory.) After Hadamards on the first n qubits, the superposition is 1 2 n x {0,1} n x 0n 1 Perform C f on the 2n qubits: 2 n x {0,1} n x f (x) Measure the last n qubits: f (x 0 ) for a certain x 0 {0, 1} n. Since f (x 0 ) = f (x 0 s), the superposition of the first n qubits is 1 2 ( x 0 + x 0 s )

Simon s algorithm: running example n = 3, and s = 011, and f : {0, 1} 3 {0, 1} 3 is defined by: f (000) = f (011) = 010 f (100) = f (111) = 110 f (001) = f (010) = 101 f (101) = f (110) = 001 We start with 000000, and perform Hadamards on the first three qubits: 1 8 ( 000000 + 001000 + 010000 + 011000 + 100000 + 101000 + 110000 + 111000 )

Simon s algorithm: running example Perform C f on the six qubits: 1 8 ( 000010 + 001101 + 010101 + 011010 + 100110 + 101001 + 110001 + 111110 ) Measure the last three qubits. There are four possible answers: 010 101 110 001 Suppose we read 110. The superposition of the first three qubits then is 1 2 ( 100 + 111 )

Simon s algorithm ( ) The probability that a Hadamard 1 1 1 2 transforms a b {0, 1} 1 1 into a b {0, 1} is 1 2 if b = b = 1, and 1 2 otherwise. n Hadamards on a string x {0, 1} n produce a string z with a + or depending on how many 1 s the strings x 0 and z have in common. If x and z have an even number of 1 s in common, z is produced. If x and z have an odd number of 1 s in common, z is produced.

Simon s algorithm So n Hadamards transform a string x {0, 1} n into with x, z = x 1 z 1 x n z n. 1 2 n z {0,1} n( 1) x,z z Example: Three Hadamards on the qubits in [011 transform it into 1 8 ( 000 001 010 + 100 + 011 101 110 + 111 )

Simon s algorithm Perform Hadamards on the n qubits of 1 2 ( x 0 + x 0 s ): 1 2 n+1 z {0,1} n(( 1) x 0,z + ( 1) x0 s,z ) z If s and z have an even (resp. odd) number of 1 s in common, then n Hadamards on x 0 and x 0 s produce z with the same (resp. opposite) sign. So the n Hadamards on 1 2 ( x 0 + x 0 s ) produce those z with s, z = 0 mod 2 (i.e., s 1 z 1 s n z n = 0).

Simon s algorithm: running example Perform Hadamard on the first qubit of 1 2 ( 100 + 111 ). 1 2 ( 000 100 + 011 111 ) Perform Hadamard on the second qubit. 1 8 ( 000 + 010 100 110 + 001 011 101 + 111 ) Perform Hadamard on the third qubit. 1 4 ( 000 + 001 + 010 + 011 100 101 110 111 + 000 001 010 + 011 100 + 101 + 110 111 ) = 1 2 ( 000 + 011 100 111 )

Simon s algorithm: running example Measure the three qubits. There are four possible answers z: 000 011 100 111 We know that s 1 z 1 s 2 z 2 s 3 z 3 = 0. 000 gives no information. 011 implies s 2 s 3 = 0 mod 2. 100 implies s 1 = 0 mod 2. 111 implies s 1 s 2 s 3 = 0 mod 2. Two of the last three equations suffice to determine that s = 011 (because s 000).

Simon s algorithm Measuring the n qubits gives a z {0, 1} n with s, z = 0 mod 2, with a uniform probability distribution over all possible solutions z. n 1 linearly independent z 1,..., z n 1 such that s, z i = 0 for i = 1,..., n 1 suffice to compute s. The more vectors z {0, 1} n with s, z = 0 we determine, the larger the probability that n 1 of them are linearly independent. On average, s is determined in polynomial time (in n).

Shor s algorithm (1994) Problem: Decompose a given n > 1 into its prime factors. Shor s algorithm on average yields a solution in O(log 3 n) time. (Note that n is represented using log 2 n bits.) Shor s algorithm follows the approach of Simon s algorithm, but is more complicated. With Shor s algorithm, the RSA cryptographic algorithm is broken! Only, nobody has succeeded yet in building a quantum computer on which Shor s algorithm can be executed for large instances of n...

Quantum circuits versus probabilistic TMs A probabilistic TM is a nondeterministic TM in which a choice between available transitions can be made with respect to some probability distribution. Each probabilistic TM can be efficiently simulated by a quantum circuit. Vice versa, each quantum circuit can be simulated by a probabilistic TM. However, this simulation can take an exponential amount of time.

Quantum operations versus probabilistic algorithms Simon s and Shor s algorithm are exponentially faster than all known (classical) probabilistic algorithms for these problems. Unitary operations on qubits seem to differ in a fundamental way from probabilistic operations on TMs. The only difference between a probabilistic classical world and the equations of the quantum world is that somehow or other it appears as if the probabilities would have to go negative. (Richard Feynman, 1982) Entanglement plays a key role.

BQP and BPP BQP (Bounded error, Quantum, Polynomial time): Decision problems that can be solved by a quantum TM in polynomial time, with an error probability < 1 3. BPP (Bounded error, Probabilistic, Polynomial time): Decision problems that can be solved by a probabilistic TM in polynomial time, with an error probability < 1 3. (The choice for 1 3 is arbitrary, each value in 0, 1 would do.) P BPP BQP PSpace Unknown is whether these inclusions are strict. The questions BPP,BQP NP? and NP BPP,BQP? are still open.

Quantum-computer: dream or reality? Building quantum computers is still in its infancy. A challenge is to avoid that qubits interact with the environment, as else they fall back to a classical state 0 or 1. Recent breakthroughs: In April 2012, a 2-qubit quantum computer was constructed on a crystal of diamond, which can be scaled up in size and functionality at room temperature. D-Wave Systems builds and sells quantum computers which they claim use a 128 qubit processor chipset.