How to make quantum query algorithms · yElement distinctness yGraph collision yTriangle finding...

Post on 22-Sep-2020

6 views 1 download

Transcript of How to make quantum query algorithms · yElement distinctness yGraph collision yTriangle finding...

by Rajat Mittal

IQC, University of Waterloo.

How to make quantum query algorithms

x      j    

 Least queries needed to evaluate  f(x)  

Given: Function )  

x      |  

|  

   =  Least quantum queries needed to evaluate  f(x)  

Given: Function )  

|  

Query Algorithm

Unitary operators are free Cost of algorithm = number of queries

| |

Query algorithms Grover search

unordered search in O( ) queries AND/OR trees Element distinctness Graph collision Triangle finding

Many algorithms were given using

quantum walks.

Lower bounds on quantum query complexity

Adversary bound : SDP

Equivalence ]

Multiplicative ]

(f)    

Polynomial bound ]: Separation ]

Element Distinctness ]

Direct products [

Lower bounds on quantum query complexity

Adversary bound : SDP

Equivalence ]

Multiplicative ]

(f)    

Polynomial bound ]: Separation ]

Element Distinctness ]

Direct products [

For any boolean function f:

[

Vector set

Vector set : construction Query algorithm for f : Construct vectors for every element of and x y . . . Z 1 . . . . . . n .

Vector set : Example Query algorithm for f : 0,1} 000 001 . . . 111 1 . . . . . . n .

Query algorithm for f : Follow constraint for . x y 1 . . n

Query algorithm for f : Follow constraint for . x y product 1 < , . + . < , . + n < ,

.

The dual of adversary bound

Vector set : solution of the dual of adversary bound The value of the solution :

The value of best construction : Q(f)

Algorithmic applications

Q. Can we develop algorithms using solution of dual? A. Not easy, because of the great number of constraints in SDP.

1. (optimal formula evaluation algorithms

for any read-once formula)

Algorithmic applications

Q. Can we develop algorithms using filtered factorization norm? A. Not easy, because of the great number of constraints in SDP.

2. Learning graphs [Bel11] (Element Distinctness and algorithm for Triangle Finding )

s t

Cut 1-certificate

Outline

Span programs

Learning graphs

Comparison

Open problems

Span Programs

Span program

For a function f : 1,0 1,1 2,0 . . n,0 n,1 free t 6 5 . . . 3 3 4 1 5 2 . . . 8 2 1 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4 . . . 4 2 3 1

target

Span program

1,0 1,1 2,0 . . n,0 n,1 free t 6 5 . . . 3 3 4 1 5 2 . . . 8 2 1 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4 . . . 4 2 3 1

target

Useful vectors for free vectors + vectors in column

Useful vectors for free vectors + vectors in column

t : as linear combination of useful vectors for y Witness: The coefficients of linear combination Witness size : The length of witness vector

Useful vectors for : free vectors + vectors in column

t : NOT a linear combination of useful vectors for x Witness: w: (<w,t> =1) & (<w,v> = 0, if v useful). Witness size: The length of Aw.

Equivalence to dual solution Every span program can be converted to a canonical span program

Fixed vector space for columns No free vectors

Canonical span program is equivalent to a solution of dual adversary. Complexity of best span program is the query complexity of f.

Features Easy to manipulate span programs

Complementation Composition

Optimal formula evaluation algorithms These were used to show query algorithms using adversary bound.

Learning Graph

Learning graph For a function f : Need to construct a graph

{2} {5}

{2,7} {5,2}

{5,7}

{2,7,5}

Vertex: Edge:

Learning graph For a function f : Need to construct a graph

{2} {5}

{2,7} {5,2}

{5,7}

{2,7,5}

Edges: Every edge has weight

j  

Flow for 1-input

For every , there is a flow of value 1 Source: The empty vertex Sink: - Flow in edge e:

{2} {5}

{2,7} {5,2}

{5,7}

{2,7,9}

1-certificate (depends on y)

Complexity of learning graph

{2} {5}

{2,7} {5,2}

{5,7}

{2,7,9}

Reduction Convert learning graph into vector construction

                                                     need coordinates in j, e,  (S)

Assignment on S

Constraint for dual adversary Constraint:

=

= = 1 (value of the flow)

{2} {5}

{2,7} {5,2}

{5,7}

{2,7,9}

Cut

Important results Element distinctness:

Showed the previous bound of

Triangle finding: Improved the upper bound to

k-element distinctness: Improved under certain conditions

Limitations and improvement Certificate complexity barrier

Learning graph complexity 1-certificate complexity

Alphabet size barrier Only depends on certificate structure

Improved learning graph : overcomes both barriers

Comparison

Span Program Learning graph Easy to manipulate Equivalent to dual ?????

Weaker than dual Easy to construct

Solution of dual adversary

Symmetric Tight

Learning graph / Span programs

 

Intuitive

Separation of constraints really help Need more combinatorial constructions to make

query algorithms

Open problems

Constructing dual solution Need other techniques to construct dual solution.

Easy to manipulate Easy to construct Tight

When is positive adversary tight ?

Other query algorithms

Graph collision Important in triangle finding.

Triangle finding k-element distinctness

Thank you