Download lec12c-Simon

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Quantum key distribution wikipedia , lookup

Knapsack problem wikipedia , lookup

Post-quantum cryptography wikipedia , lookup

Theoretical computer science wikipedia , lookup

Quantum computing wikipedia , lookup

Exact cover wikipedia , lookup

Genetic algorithm wikipedia , lookup

Computational complexity theory wikipedia , lookup

Travelling salesman problem wikipedia , lookup

Simulated annealing wikipedia , lookup

Probabilistic context-free grammar wikipedia , lookup

K-nearest neighbors algorithm wikipedia , lookup

Quicksort wikipedia , lookup

Fast Fourier transform wikipedia , lookup

Simplex algorithm wikipedia , lookup

Smith–Waterman algorithm wikipedia , lookup

Algorithm characterizations wikipedia , lookup

Algorithm wikipedia , lookup

Factorization of polynomials over finite fields wikipedia , lookup

Time complexity wikipedia , lookup

Transcript
Simon’s Algorithm
Arathi Ramani
EECS 598 Class Presentation
Statement
Given: Integer n >= 1
Function  : 0,1n  R
Promise: There exists a nonzero
n
element s  0,1
n


g
,
h

0
,
1
,  g    h
such that for all
iff g  h or g  h  s
Problem: Find s
The function fulfils Simon’s promise
w.r.t s
Group Theory Terminology
Z2  0,1 : additive group of 2 elements
with addition 
G  Z ,
For X  G , |X|: cardinality of X, X :
subgroup generated by X
A subset X of G is linearly independent
if no proper subset of X generates X
n
2
More group theory terms..
 n

g  h    g i hi  mod 2
 i 1

Bilinear map:
for g = (g1…. gn), h = (h1…. hn)
Orthogonal subgroup:
H  g  G | g  h  0h  H 

Restatement
Given: Integer n >= 1
Function  : G  Z 2n 
 R
Promise: There exists a subgroup
H0 <= G such that  is constant and
distinct on each coset of H0
Problem: Find a generating set for H0
Propositions
Proposition 1: There exists a classical
deterministic algorithm that, given a
subset X  G  Z 2n , returns a linearly
independent subset of G that generates
the subgroup X . The algorithm runs
in time polynomial in n and linear in the
cardinality of X
Proposition 2: There exists a classical
deterministic algorithm that, given a
linearly independent subset X  G  Z 2n
returns a linearly independent subset
that generates the orthogonal subgroup
of X . The algorithm runs in time
polynomial in n.
Theorem
Let n >= 1 be an integer and
 :G  Zn 
2  R be a function that
fulfils Simon’s promise for some
subgroup H0 <= G. Assume that a
quantum algorithm to compute  is
given, together with the value of n
(continued)
Theorem (contd)
Then there exists a quantum algorithm
capable of finding a random element of

H
the orthogonal subgroup 0 . Moreover,
the algorithm runs in time linear in n
and in the time required to compute

Simon’s Subroutine
Apply a Hadamard transform to
| 0 n | 0 , producing the equally
weighted superposition:
1
n
| g
|0
2 gG
Apply U  , producing a superposition of
all cosets of H0
(continued)
Simon’s Subroutine
1
| g |  g  
| t  H 0 |  t 

| T0 |
2n gG
1
Apply Hadamard transform to the first
register, producing a superposition over
the orthogonal subgroup
1

| 
|  t H 0 |  t 

| To | tT0
Issues
How many times do we need to run
Simon’s subroutine?
Will this ensure success?
Exact Quantum Algorithm
Theorem:
Given
n

G

Z
 R
n >= 1,
:
2 
being a function that fulfils Simon’s
promise for some subgroup H0 <= G;
A quantum algorithm that computes 
without making any measurements;
(continued)
The value of n;
A linearly independent subset Y of the
orthogonal subgroup H 0 ;
Then there exists a quantum algorithm

H
that returns an element of 0 \ Y ,
provided Y does not generate H 0 ,
otherwise it returns the zero element.
The algorithm runs in polynomial time.
Steps of the Exact Algorithm
1. Initialize generating set and counter to
0
2. Apply the theorem to get an element
not in Y , update Y and the counter
3. Stop if the zero element is returned
Features of Exact Algorithm
Shrinking a group
Removing 0 from a subgroup
Conclusions
The algorithm needs O(n2) evaluations
of 
The algorithm is exact, with a 100%
probability of success
Applications of Simon’s problem?