lecture 20: the adversary methododonnell/quantum18/lecture20.pdfย ยท lecture 20: the adversary...
TRANSCRIPT
Lecture 20:
The Adversary Methodfor Quantum Query Lower Bounds
Secret N-bit input string w
You can query a coordinate j to find out ๐ค๐
In fact, you can query superpositionsโฆ
Given access to ๐๐คยฑ which implements ๐ โฆ โ1 ๐ค๐|๐โฉ
Trying to solve some fixed decision problem ๐ on w
Example: ๐ = โORโ, deciding if w has at least one 1
Think of ๐ = (๐๐๐, ๐๐), where YES and NO are subsets of strings.In โORโ example, YES = {all N-bit strings with at least one 1}, NO = {00โโโ0}
If ๐๐๐ โช ๐๐ = {all strings}, ๐ is called โtotalโ; otherwise, ๐ is โpartial/promiseโ
Quantum query model: recap
Cost: only the number of uses of ๐๐คยฑ
Groverโs Algorithm: Solves ๐ = โORโ with cost โฒ ๐
[BennettโBernsteinโBrassardโVazirani ca. โ96]:
Proved a cost lower bound for ๐ = โORโ: โณ ๐ queries are necessary.
They called their technique the Hybrid Method.
How to prove Lower Bounds on quantum query algorithmsโฆ
[BealsโBuhrmanโCleveโMoscaโde Wolf โ98]: The Polynomial Method.
[Ambainis โ00]: The (Basic) Adversary Method.
[Many groups]: Variants on the Adversary Method.
[HรธyerโLeeโล palek โ07]: โNegative-weightsโ, aka General Adversary Method.
[Reichardt โ09]: The General Adversary Method is optimal โ there is always a matching upper bound (query algorithm)!
A generic T-query algorithm:
log(N)-qubitquery register
๐0
๐๐คยฑ
๐1
๐๐คยฑ ๐๐ค
ยฑ
๐๐
โขโขโขโworkspaceโ
qubits
Secret N-bit input string w defines the behavior of ๐๐คยฑ
๐0
๐๐คยฑ
๐1
๐๐คยฑ ๐๐ค
ยฑ
๐๐
โขโขโข
0000000
โขโขโข
An algorithm supposedly solving ๐ = (๐๐๐, ๐๐):
Secret N-bit input string w defines the behavior of ๐๐คยฑ
๐๐ค0 ๐๐ค
1 ๐๐ค๐โ1 ๐๐ค
๐
๐0
๐๐คยฑ
๐1
๐๐คยฑ ๐๐ค
ยฑ
๐๐
โขโขโข
0000000
โขโขโข
An algorithm supposedly solving ๐ = (๐๐๐, ๐๐):
๐๐ค0 ๐๐ค
1 ๐๐ค๐โ1 ๐๐ค
๐
An โadversaryโ picks some ๐ โ ๐๐๐ and some ๐ โ ๐๐and considers running your algorithm with ๐ค = ๐ or with ๐ค = ๐.
๐0
๐๐คยฑ
๐1
๐๐คยฑ ๐๐ค
ยฑ
๐๐
โขโขโข
0000000
An algorithm supposedly solving ๐ = (๐๐๐, ๐๐):
๐๐ค0
An โadversaryโ picks some ๐ โ ๐๐๐ and some ๐ โ ๐๐and considers running your algorithm with ๐ค = ๐ or with ๐ค = ๐.
Clearly: ๐๐0 = |๐๐
0โฉ; ๐๐0 ๐๐
0 = 1i.e.,
๐0
๐๐คยฑ
๐1
๐๐คยฑ ๐๐ค
ยฑ
๐๐
โขโขโข
0000000
An algorithm supposedly solving ๐ = (๐๐๐, ๐๐):
An โadversaryโ picks some ๐ โ ๐๐๐ and some ๐ โ ๐๐and considers running your algorithm with ๐ค = ๐ or with ๐ค = ๐.
๐๐ค๐๐๐
0 ๐๐0 = 1
๐0
๐๐คยฑ
๐1
๐๐คยฑ ๐๐ค
ยฑ
๐๐
โขโขโข
0000000
An algorithm supposedly solving ๐ = (๐๐๐, ๐๐):
An โadversaryโ picks some ๐ โ ๐๐๐ and some ๐ โ ๐๐and considers running your algorithm with ๐ค = ๐ or with ๐ค = ๐.
๐๐๐ ๐๐
๐ โ 1Clearly:๐๐0 ๐๐
0 = 1
Algorithm must be able to discriminate between
|๐๐๐โฉ and |๐๐
๐โฉ with high probability,
because it must โacceptโ y and โrejectโ z.
๐0
๐๐คยฑ
๐1
๐๐คยฑ ๐๐ค
ยฑ
๐๐
โขโขโข
0000000
An algorithm supposedly solving ๐ = (๐๐๐, ๐๐):
An โadversaryโ picks some ๐ โ ๐๐๐ and some ๐ โ ๐๐and considers running your algorithm with ๐ค = ๐ or with ๐ค = ๐.
๐๐๐ ๐๐
๐ โค .99In fact, we better have๐๐0 ๐๐
0 = 1
Algorithm must be able to discriminate between
|๐๐๐โฉ and |๐๐
๐โฉ with high probability,
because it must โacceptโ y and โrejectโ z.
๐0
๐๐คยฑ
๐1
๐๐คยฑ ๐๐ค
ยฑ
๐๐
โขโขโข
0000000
An algorithm supposedly solving ๐ = (๐๐๐, ๐๐):
An โadversaryโ picks some ๐ โ ๐๐๐ and some ๐ โ ๐๐and considers running your algorithm with ๐ค = ๐ or with ๐ค = ๐.
๐๐๐ ๐๐
๐ โค .99In fact, we better have๐๐0 ๐๐
0 = 1
Algorithm must be able to discriminate between
|๐๐๐โฉ and |๐๐
๐โฉ with high probability,
because it must โacceptโ y and โrejectโ z.
Recall Lecture 4.5, โDiscriminating Two Qubitsโ:
Given two quantum states |๐โฉ and |๐โฉ,the probability with which they can be distinguished by anyquantum algorithm is a function of the angle between them.
๐0
๐๐คยฑ
๐1
๐๐คยฑ ๐๐ค
ยฑ
๐๐
โขโขโข
0000000
An โadversaryโ picks some ๐ โ ๐๐๐ and some ๐ โ ๐๐and considers running your algorithm with ๐ค = ๐ or with ๐ค = ๐.
๐๐๐ ๐๐
๐ โค .99We have๐๐0 ๐๐
0 = 1
Possible idea: define Progress๐ก = ๐๐๐ก ๐๐
๐ก
Suppose we can show Progress๐ก โ Progress๐ก+1 โค ๐ฟ
This would imply: ๐ โฅ .01/๐ฟ โบ
๐0
๐๐คยฑ
๐1
๐๐คยฑ ๐๐ค
ยฑ
๐๐
โขโขโข
0000000
An โadversaryโ picks some ๐ โ ๐๐๐ and some ๐ โ ๐๐and considers running your algorithm with ๐ค = ๐ or with ๐ค = ๐.
Possible idea: define Progress๐ก = ๐๐๐ก ๐๐
๐ก
Suppose we can show Progress๐ก โ Progress๐ก+1 โค ๐ฟ
This would imply: ๐ โฅ .01/๐ฟ โบ
Note: Applying unitary Ut does not affect ๐๐๐ก ๐๐
๐ก
So suffices to analyze how ๐๐คยฑ affects Progress
An โadversaryโ picks some ๐ โ ๐๐๐ and some ๐ โ ๐๐and considers running your algorithm with ๐ค = ๐ or with ๐ค = ๐.
Possible idea: define Progress๐ก = ๐๐๐ก ๐๐
๐ก
Suppose we can show Progress๐ก โ Progress๐ก+1 โค ๐ฟ
This would imply: ๐ โฅ .01/๐ฟ โบ
Note: Applying unitary Ut does not affect ๐๐๐ก ๐๐
๐ก
So suffices to analyze how ๐๐คยฑ affects Progress
This is a good idea, but a little too simple
Doesnโt suffice to focus on a single ๐ โ ๐๐๐ and a single ๐ โ ๐๐
If it did, would show that many queries needed to distinguish ๐ค = ๐ from ๐ค = ๐
But this only requires 1 query: since ๐ โ ๐, there exists j such that ๐๐ โ ๐๐
Need to have a bunch of ๐โs versus a bunch of ๐โs
dist(y, z) = Hamming distance, # of coordinates where y, z differ
weโll show โฅ .005 ๐ ๐โฒ
[Ambainis โ00]Super-Basic Adversary Method:
For ๐ = (YES, NO), suppose ๐ โ YES, ๐ โ NO are such that:
โข for each ๐ โ ๐, there are at least ๐ strings ๐ โ ๐ with dist(y, z) = 1
โข for each ๐ โ ๐, there are at least ๐โฒ strings ๐ โ ๐ with dist(y, z) = 1
Then Q(๐), the quantum query complexity of ๐, is โณ ๐๐โฒ.
Super-Basic Adversary Method:
For ๐ = (YES, NO), suppose ๐ โ YES, ๐ โ NO are such that:
โข for each ๐ โ ๐, there are at least ๐ strings ๐ โ ๐ with dist(y, z) = 1
โข for each ๐ โ ๐, there are at least ๐โฒ strings ๐ โ ๐ with dist(y, z) = 1
Then Q(๐), the quantum query complexity of ๐, is โณ ๐๐โฒ.
Example use #1: ๐ = โORโ (Decision-Grover)
Take ๐ = {000001, 000010, 000100, 001000, 010000, 100000}.
Take ๐ = {000000}. (Well, at least for N = 6.)
๐ = 1, ๐โฒ = ๐ โ Q(๐) โณ ๐ โบ
Super-Basic Adversary Method:
For ๐ = (YES, NO), suppose ๐ โ YES, ๐ โ NO are such that:
โข for each ๐ โ ๐, there are at least ๐ strings ๐ โ ๐ with dist(y, z) = 1
โข for each ๐ โ ๐, there are at least ๐โฒ strings ๐ โ ๐ with dist(y, z) = 1
Then Q(๐), the quantum query complexity of ๐, is โณ ๐๐โฒ.
Example use #2: ๐: Decide if w has at least k 1โs, or less than k 1โs
Take ๐ = {all strings with exactly k 1โs}.
Take ๐ = {all strings with exactly ๐ โ 1 1โs}.
๐ = ๐, ๐โฒ = ๐ โ ๐ + 1
โ Q(๐) โณ ๐(๐ โ ๐ + 1), which is โณ ๐๐ for ๐ โค๐
2
Super-Basic Adversary Method:
For ๐ = (YES, NO), suppose ๐ โ YES, ๐ โ NO are such that:
โข for each ๐ โ ๐, there are at least ๐ strings ๐ โ ๐ with dist(y, z) = 1
โข for each ๐ โ ๐, there are at least ๐โฒ strings ๐ โ ๐ with dist(y, z) = 1
Then Q(๐), the quantum query complexity of ๐, is โณ ๐๐โฒ.
Example use #3:
AND
OR OR OR
๐
๐
๐
๐ค1๐ค2 ๐ค ๐ ๐ค๐
YES = strings with a 1 in each โblockโNO = strings with a block of all 0โs
Y= strings with exactly one 1 per block
Z= strings with exactly one all-0โs block,all other blocks having exactly one 1
๐ = ๐, ๐โฒ = ๐ โ Q(๐) โณ ๐
This lower bound is sharp, and not known to be attainable by the โPolynomial Methodโ
Super-Basic Adversary Method:
For ๐ = (YES, NO), suppose ๐ โ YES, ๐ โ NO are such that:
โข for each ๐ โ ๐, there are at least ๐ strings ๐ โ ๐ with dist(y, z) = 1
โข for each ๐ โ ๐, there are at least ๐โฒ strings ๐ โ ๐ with dist(y, z) = 1
Then Q(๐), the quantum query complexity of ๐, is โณ ๐๐โฒ.
Proof: Define R = { (๐, ๐) : dist(y, z) = 1 } โ ๐ ร ๐
(These are particularly challenging pairs of inputs for the algorithm:the algorithm needs to give different answers on them,
but there is only a single coordinate where they are different.)
Super-Basic Adversary Method:
For ๐ = (YES, NO), suppose ๐ โ YES, ๐ โ NO are such that:
โข for each ๐ โ ๐, there are at least ๐ strings ๐ โ ๐ with dist(y, z) = 1
โข for each ๐ โ ๐, there are at least ๐โฒ strings ๐ โ ๐ with dist(y, z) = 1
Then Q(๐), the quantum query complexity of ๐, is โณ ๐๐โฒ.
Proof: Define R = { (๐, ๐) : dist(y, z) = 1 } โ ๐ ร ๐
Progress๐ก =
๐,๐ โ๐
๐๐๐ก ๐๐
๐กDefine , where |๐๐ค๐ก โฉ is state after tth query, on input w
We have Progress0 = |๐ | and Progress๐ โค .99|๐ |
the latter because ๐๐๐ ๐๐
๐ โค .99 must hold for all ๐ โ ๐, ๐ โ ๐
Super-Basic Adversary Method:
For ๐ = (YES, NO), suppose ๐ โ YES, ๐ โ NO are such that:
Then Q(๐), the quantum query complexity of ๐, is โณ ๐๐โฒ.
Proof: Define
Progress๐ก =
๐,๐ โ๐
๐๐๐ก ๐๐
๐กDefine , where |๐๐ค๐ก โฉ is state after tth query, on input w
We have Progress0 = |๐ | and Progress๐ โค .99|๐ |
Claim: Progress๐ก โ Progress๐ก+1 โค2
๐๐โฒ|๐ | for all t.
โ T โฅ .005 ๐ ๐โฒ, as desired.
โข for each ๐ โ ๐, there are at least ๐ strings ๐ โ ๐ with dist(y, z) = 1
โข for each ๐ โ ๐, there are at least ๐โฒ strings ๐ โ ๐ with dist(y, z) = 1
R = { (๐, ๐) : dist(y, z) = 1 } โ ๐ ร ๐
โข for each ๐ โ ๐, there are at least ๐ strings ๐ โ ๐ with dist(y, z) = 1
โข for each ๐ โ ๐, there are at least ๐โฒ strings ๐ โ ๐ with dist(y, z) = 1
Claim: Progress๐ก โ Progress๐ก+1 โค2
๐๐โฒ|๐ | for all t.
Progress๐ก =
๐,๐ โ๐
๐๐๐ก ๐๐
๐กR = { (๐, ๐) : dist(y, z) = 1 } โ ๐ ร ๐
โข for each ๐ โ ๐, there are at least ๐ strings ๐ โ ๐ with dist(y, z) = 1
โข for each ๐ โ ๐, there are at least ๐โฒ strings ๐ โ ๐ with dist(y, z) = 1
Claim: Progress๐ก โ Progress๐ก+1 โค
Progress๐ก =
๐,๐ โ๐
๐๐๐ก ๐๐
๐กR = { (๐, ๐) : dist(y, z) = 1 } โ ๐ ร ๐
for each ๐ โ ๐, there are at least ๐ strings ๐ โ ๐ with dist(y, z) = 1
Hence ๐ โฅ ๐ |๐|
Similarly ๐ โฅ ๐โฒ|๐|
So 2 ๐ โฅ ๐|๐| + ๐โฒ|๐|
Claim is even stronger if RHS is 1
๐ ๐โฒ(๐ ๐ +๐โฒ ๐ )
๐โฒ
๐โฒ๐ +
๐โฒ
๐โฒ๐=
2
๐๐โฒ|๐ | for all t.
Progress๐ก =
๐,๐ โ๐
๐๐๐ก ๐๐
๐กR = { (๐, ๐) : dist(y, z) = 1 } โ ๐ ร ๐
Claim: Progress๐ก โ Progress๐ก+1 โค๐โฒ
๐โฒ๐ +
๐โฒ
๐โฒ๐
Recall: Unitaries donโt affect Progress, just the ๐๐คยฑ queries.
Consider any pair ๐, ๐ โ ๐
Fix any t and t+1 (โbeforeโ and โafterโ)
They differ on some coordinate j*
Progress๐ก =
๐,๐ โ๐
๐๐๐ก ๐๐
๐กR = { (๐, ๐) : dist(y, z) = 1 } โ ๐ ร ๐
Claim: Progress๐ก โ Progress๐ก+1 โค๐โฒ
๐โฒ๐ +
๐โฒ
๐โฒ๐
Consider any pair ๐, ๐ โ ๐ Fix any t and t+1 They differ on some coordinate j*
โBeforeโ: |๐๐๐กโฉ
๐0
๐๐ยฑ
๐1
๐๐ยฑ ๐๐
ยฑ
๐๐
โขโขโข
โAfterโ: |๐๐๐ก+1โฉ
Progress๐ก =
๐,๐ โ๐
๐๐๐ก ๐๐
๐กR = { (๐, ๐) : dist(y, z) = 1 } โ ๐ ร ๐
Claim: Progress๐ก โ Progress๐ก+1 โค๐โฒ
๐โฒ๐ +
๐โฒ
๐โฒ๐
Consider any pair ๐, ๐ โ ๐ Fix any t and t+1 They differ on some coordinate j*
โBeforeโ: |๐๐๐กโฉ
๐๐ยฑ ๐๐
ยฑ ๐๐ยฑโข
โขโข
|๐๐๐กโฉ |๐๐
๐ก+1โฉ
โAfterโ: |๐๐๐ก+1โฉ
Progress๐ก =
๐,๐ โ๐
๐๐๐ก ๐๐
๐กR = { (๐, ๐) : dist(y, z) = 1 } โ ๐ ร ๐
Claim: Progress๐ก โ Progress๐ก+1 โค๐โฒ
๐โฒ๐ +
๐โฒ
๐โฒ๐
Consider any pair ๐, ๐ โ ๐ Fix any t and t+1 They differ on some coordinate j*
โBeforeโ: |๐๐๐กโฉ = 1 โ stuff1 + 2 โ stuff2 +โฏ+ ๐ โ stuff๐
queryregister
workspaceregister
We have collected like terms based on the query register.
Let |๐๐โฉ be a unit vector
in the direction of (stuff๐)
โAfterโ: |๐๐๐ก+1โฉ
Progress๐ก =
๐,๐ โ๐
๐๐๐ก ๐๐
๐กR = { (๐, ๐) : dist(y, z) = 1 } โ ๐ ร ๐
Claim: Progress๐ก โ Progress๐ก+1 โค๐โฒ
๐โฒ๐ +
๐โฒ
๐โฒ๐
Consider any pair ๐, ๐ โ ๐ Fix any t and t+1 They differ on some coordinate j*
โBeforeโ: |๐๐๐กโฉ = ๐ผ1 1 โ |๐1โฉ + ๐ผ2 2 โ |๐2โฉ + โฏ+ ๐ผ๐ ๐ โ |๐๐โฉ
We have collected like terms based on the query register.
Let |๐๐โฉ be a unit vector
in the direction of (stuff๐)
โAfterโ: |๐๐๐ก+1โฉ
Progress๐ก =
๐,๐ โ๐
๐๐๐ก ๐๐
๐กR = { (๐, ๐) : dist(y, z) = 1 } โ ๐ ร ๐
Claim: Progress๐ก โ Progress๐ก+1 โค๐โฒ
๐โฒ๐ +
๐โฒ
๐โฒ๐
Consider any pair ๐, ๐ โ ๐ Fix any t and t+1 They differ on some coordinate j*
โBeforeโ: |๐๐๐กโฉ = ๐ผ1 1 โ |๐1โฉ + ๐ผ2 2 โ |๐2โฉ + โฏ+ ๐ผ๐ ๐ โ |๐๐โฉ Each |๐๐โฉ is unit,
and ฯ๐ ๐ผ๐2= 1.
โAfterโ: |๐๐๐ก+1โฉ
Progress๐ก =
๐,๐ โ๐
๐๐๐ก ๐๐
๐กR = { (๐, ๐) : dist(y, z) = 1 } โ ๐ ร ๐
Claim: Progress๐ก โ Progress๐ก+1 โค๐โฒ
๐โฒ๐ +
๐โฒ
๐โฒ๐
Consider any pair ๐, ๐ โ ๐ Fix any t and t+1 They differ on some coordinate j*
โBeforeโ: |๐๐๐กโฉ = ๐ผ1 1 โ |๐1โฉ + ๐ผ2 2 โ |๐2โฉ + โฏ+ ๐ผ๐ ๐ โ |๐๐โฉ
๐๐ยฑ
= โ1 ๐1๐ผ1 1 โ |๐1โฉ + โ1 ๐2๐ผ2 2 โ |๐2โฉ + โฏ+ โ1 ๐๐๐ผ๐ ๐ โ |๐๐โฉ
The jth amplitude is multiplied by โ1 ๐๐
Each |๐๐โฉ is unit,
and ฯ๐ ๐ผ๐2= 1.
โAfterโ: |๐๐๐ก+1โฉ
Progress๐ก =
๐,๐ โ๐
๐๐๐ก ๐๐
๐กR = { (๐, ๐) : dist(y, z) = 1 } โ ๐ ร ๐
Claim: Progress๐ก โ Progress๐ก+1 โค๐โฒ
๐โฒ๐ +
๐โฒ
๐โฒ๐
Consider any pair ๐, ๐ โ ๐ Fix any t and t+1 They differ on some coordinate j*
โBeforeโ: |๐๐๐กโฉ
โAfterโ: |๐๐๐ก+1โฉ
= ๐ผ1 1 โ |๐1โฉ + ๐ผ2 2 โ |๐2โฉ + โฏ+ ๐ผ๐ ๐ โ |๐๐โฉ
= โ1 ๐1๐ผ1 1 โ |๐1โฉ + โ1 ๐2๐ผ2 2 โ |๐2โฉ + โฏ+ โ1 ๐๐๐ผ๐ ๐ โ |๐๐โฉ
Each |๐๐โฉ is unit,
and ฯ๐ ๐ผ๐2= 1.= ๐ฝ1 1 โ ๐1 + ๐ฝ2 2 โ ๐2 +โฏ+ ๐ฝ๐ ๐ โ |๐๐โฉ
= โ1 ๐1๐ฝ1 1 โ |๐1โฉ + โ1 ๐2 ๐ฝ2 2 โ |๐2โฉ + โฏ+ โ1 ๐๐๐ฝ๐ ๐ โ |๐๐โฉ
|๐๐๐กโฉ
|๐๐๐ก+1โฉ
Progress๐ก =
๐,๐ โ๐
๐๐๐ก ๐๐
๐กR = { (๐, ๐) : dist(y, z) = 1 } โ ๐ ร ๐
Claim: Progress๐ก โ Progress๐ก+1 โค๐โฒ
๐โฒ๐ +
๐โฒ
๐โฒ๐
Consider any pair ๐, ๐ โ ๐ Fix any t and t+1 They differ on some coordinate j*
โBeforeโ: |๐๐๐กโฉ
โAfterโ: |๐๐๐ก+1โฉ
= ๐ผ1 1 โ |๐1โฉ + ๐ผ2 2 โ |๐2โฉ + โฏ+ ๐ผ๐ ๐ โ |๐๐โฉ
= โ1 ๐1๐ผ1 1 โ |๐1โฉ + โ1 ๐2๐ผ2 2 โ |๐2โฉ + โฏ+ โ1 ๐๐๐ผ๐ ๐ โ |๐๐โฉ
Each |๐๐โฉ is unit,
and ฯ๐ ๐ผ๐2= 1.= ๐ฝ1 1 โ ๐1 + ๐ฝ2 2 โ ๐2 +โฏ+ ๐ฝ๐ ๐ โ |๐๐โฉ
= โ1 ๐1๐ฝ1 1 โ |๐1โฉ + โ1 ๐2 ๐ฝ2 2 โ |๐2โฉ + โฏ+ โ1 ๐๐๐ฝ๐ ๐ โ |๐๐โฉ
|๐๐๐กโฉ
|๐๐๐ก+1โฉ
โจ๐๐ฆ๐ก |๐๐
๐กโฉ = ๐ผ1๐ฝ1โจ๐1 ๐1 + ๐ผ2๐ฝ2โจ๐2 ๐2 +โฏ+ ๐ผ๐๐ฝ๐โจ๐๐|๐๐โฉ
These signs are all the same โ except for in coordinate j*
Progress๐ก =
๐,๐ โ๐
๐๐๐ก ๐๐
๐กR = { (๐, ๐) : dist(y, z) = 1 } โ ๐ ร ๐
Claim: Progress๐ก โ Progress๐ก+1 โค๐โฒ
๐โฒ๐ +
๐โฒ
๐โฒ๐
Consider any pair ๐, ๐ โ ๐ Fix any t and t+1 They differ on some coordinate j*
โBeforeโ: |๐๐๐กโฉ
โAfterโ: |๐๐๐ก+1โฉ
= ๐ผ1 1 โ |๐1โฉ + ๐ผ2 2 โ |๐2โฉ + โฏ+ ๐ผ๐ ๐ โ |๐๐โฉ
= โ1 ๐1๐ผ1 1 โ |๐1โฉ + โ1 ๐2๐ผ2 2 โ |๐2โฉ + โฏ+ โ1 ๐๐๐ผ๐ ๐ โ |๐๐โฉ
Each |๐๐โฉ is unit,
and ฯ๐ ๐ผ๐2= 1.= ๐ฝ1 1 โ ๐1 + ๐ฝ2 2 โ ๐2 +โฏ+ ๐ฝ๐ ๐ โ |๐๐โฉ
= โ1 ๐1๐ฝ1 1 โ |๐1โฉ + โ1 ๐2 ๐ฝ2 2 โ |๐2โฉ + โฏ+ โ1 ๐๐๐ฝ๐ ๐ โ |๐๐โฉ
|๐๐๐กโฉ
|๐๐๐ก+1โฉ
โจ๐๐ฆ๐ก |๐๐
๐กโฉ = ๐ผ1๐ฝ1โจ๐1 ๐1 + ๐ผ2๐ฝ2โจ๐2 ๐2 +โฏ+ ๐ผ๐๐ฝ๐โจ๐๐|๐๐โฉ
โจ๐๐ฆ๐ก+1|๐๐
๐ก+1โฉ = ๐ผ1๐ฝ1โจ๐1 ๐1 + ๐ผ2๐ฝ2โจ๐2 ๐2 +โฏโ ๐ผ๐โ๐ฝ๐โ ๐๐โ ๐๐โ +โฏ+ ๐ผ๐๐ฝ๐โจ๐๐|๐๐โฉ
Progress๐ก =
๐,๐ โ๐
๐๐๐ก ๐๐
๐กR = { (๐, ๐) : dist(y, z) = 1 } โ ๐ ร ๐
Claim: Progress๐ก โ Progress๐ก+1 โค๐โฒ
๐โฒ๐ +
๐โฒ
๐โฒ๐
Consider any pair ๐, ๐ โ ๐ Fix any t and t+1 They differ on some coordinate j*
โBeforeโ:
โAfterโ:
Each |๐๐โฉ is unit,
and ฯ๐ ๐ผ๐2= 1.
โจ๐๐ฆ๐ก |๐๐
๐กโฉ = ๐ผ1๐ฝ1โจ๐1 ๐1 + ๐ผ2๐ฝ2โจ๐2 ๐2 +โฏ+ ๐ผ๐๐ฝ๐โจ๐๐|๐๐โฉ
โจ๐๐ฆ๐ก+1|๐๐
๐ก+1โฉ = ๐ผ1๐ฝ1โจ๐1 ๐1 + ๐ผ2๐ฝ2โจ๐2 ๐2 +โฏโ ๐ผ๐โ๐ฝ๐โ ๐๐โ ๐๐โ +โฏ+ ๐ผ๐๐ฝ๐โจ๐๐|๐๐โฉ
Progress๐ก =
๐,๐ โ๐
๐๐๐ก ๐๐
๐กR = { (๐, ๐) : dist(y, z) = 1 } โ ๐ ร ๐
Claim: Progress๐ก โ Progress๐ก+1 โค๐โฒ
๐โฒ๐ +
๐โฒ
๐โฒ๐
Consider any pair ๐, ๐ โ ๐ Fix any t and t+1 They differ on some coordinate j*
โBeforeโ:
โAfterโ:
Each |๐๐โฉ is unit,
and ฯ๐ ๐ผ๐2= 1.
โจ๐๐ฆ๐ก+1|๐๐
๐ก+1โฉ = ๐ผ1๐ฝ1โจ๐1 ๐1 + ๐ผ2๐ฝ2โจ๐2 ๐2 +โฏโ ๐ผ๐โ๐ฝ๐โ ๐๐โ ๐๐โ +โฏ+ ๐ผ๐๐ฝ๐โจ๐๐|๐๐โฉ
โจ๐๐ฆ๐ก |๐๐
๐กโฉ = ๐ผ1๐ฝ1โจ๐1 ๐1 + ๐ผ2๐ฝ2โจ๐2 ๐2 +โฏ+ ๐ผ๐๐ฝ๐โจ๐๐|๐๐โฉ
๐๐ฆ๐ก ๐๐
๐ก โ ๐๐ฆ๐ก+1 ๐๐
๐ก+1 = 2 ๐ผ๐โ๐ฝ๐โ ๐๐โ ๐๐โ ๐๐ฆ๐ก ๐๐
๐ก โ ๐๐ฆ๐ก+1 ๐๐
๐ก+1 โค 2 ๐ผ๐โ โ ๐ฝ๐โโ
Progress๐ก =
๐,๐ โ๐
๐๐๐ก ๐๐
๐กR = { (๐, ๐) : dist(y, z) = 1 } โ ๐ ร ๐
Claim: Progress๐ก โ Progress๐ก+1 โค๐โฒ
๐โฒ๐ +
๐โฒ
๐โฒ๐
Consider any pair ๐, ๐ โ ๐ Fix any t and t+1 They differ on some coordinate j*
โBeforeโ:
โAfterโ:
Each |๐๐โฉ is unit,
and ฯ๐ ๐ผ๐2= 1.
โจ๐๐ฆ๐ก+1|๐๐
๐ก+1โฉ = ๐ผ1๐ฝ1โจ๐1 ๐1 + ๐ผ2๐ฝ2โจ๐2 ๐2 +โฏโ ๐ผ๐โ๐ฝ๐โ ๐๐โ ๐๐โ +โฏ+ ๐ผ๐๐ฝ๐โจ๐๐|๐๐โฉ
โจ๐๐ฆ๐ก |๐๐
๐กโฉ = ๐ผ1๐ฝ1โจ๐1 ๐1 + ๐ผ2๐ฝ2โจ๐2 ๐2 +โฏ+ ๐ผ๐๐ฝ๐โจ๐๐|๐๐โฉ
๐๐ฆ๐ก ๐๐
๐ก โ ๐๐ฆ๐ก+1 ๐๐
๐ก+1 โค
(triangle inequality)
๐๐ฆ๐ก ๐๐
๐ก โ ๐๐ฆ๐ก+1 ๐๐
๐ก+1 โค 2 ๐ผ๐โ โ ๐ฝ๐โ
Progress๐ก =
๐,๐ โ๐
๐๐๐ก ๐๐
๐กR = { (๐, ๐) : dist(y, z) = 1 } โ ๐ ร ๐
Claim: Progress๐ก โ Progress๐ก+1 โค๐โฒ
๐โฒ๐ +
๐โฒ
๐โฒ๐
Consider any pair ๐, ๐ โ ๐ Fix any t and t+1 They differ on some coordinate j*
โBeforeโ:
โAfterโ:
Each |๐๐โฉ is unit,
and ฯ๐ ๐ผ๐2= 1.
โจ๐๐ฆ๐ก+1|๐๐
๐ก+1โฉ = ๐ผ1๐ฝ1โจ๐1 ๐1 + ๐ผ2๐ฝ2โจ๐2 ๐2 +โฏโ ๐ผ๐โ๐ฝ๐โ ๐๐โ ๐๐โ +โฏ+ ๐ผ๐๐ฝ๐โจ๐๐|๐๐โฉ
โจ๐๐ฆ๐ก |๐๐
๐กโฉ = ๐ผ1๐ฝ1โจ๐1 ๐1 + ๐ผ2๐ฝ2โจ๐2 ๐2 +โฏ+ ๐ผ๐๐ฝ๐โจ๐๐|๐๐โฉ
๐๐ฆ๐ก ๐๐
๐ก โ ๐๐ฆ๐ก+1 ๐๐
๐ก+1 โค 2 ๐ผ๐โ โ ๐ฝ๐โ
Progress๐ก =
๐,๐ โ๐
๐๐๐ก ๐๐
๐กR = { (๐, ๐) : dist(y, z) = 1 } โ ๐ ร ๐
Claim: Progress๐ก โ Progress๐ก+1 โค๐โฒ
๐โฒ๐ +
๐โฒ
๐โฒ๐
Consider any pair ๐, ๐ โ ๐ Fix any t and t+1 They differ on some coordinate j*
๐๐ฆ๐ก ๐๐
๐ก โ ๐๐ฆ๐ก+1 ๐๐
๐ก+1 โค 2 ๐ผ๐โ โ ๐ฝ๐โ
A math trick: For any real ๐, ๐, and โ > 0: 2๐๐ โค โ๐2 + ฮค1 โ ๐2
Proof 1: AM-GM inequality: ๐๐ is the geometric mean of โ๐2 and ฮค1 โ ๐2
Proof 2: Certainly: 0 โค โ ๐ โ ฮค1 โ ๐2
Expanding: 0 โค โ๐2 + ฮค1 โ ๐2 โ 2๐๐
Progress๐ก =
๐,๐ โ๐
๐๐๐ก ๐๐
๐กR = { (๐, ๐) : dist(y, z) = 1 } โ ๐ ร ๐
Claim: Progress๐ก โ Progress๐ก+1 โค๐โฒ
๐โฒ๐ +
๐โฒ
๐โฒ๐
Consider any pair ๐, ๐ โ ๐ Fix any t and t+1 They differ on some coordinate j*
๐๐ฆ๐ก ๐๐
๐ก โ ๐๐ฆ๐ก+1 ๐๐
๐ก+1 โค
A math trick: For any real ๐, ๐, and โ > 0: 2๐๐ โค โ๐2 + ฮค1 โ ๐2
Apply this above, with ๐ = ๐ผ๐โ , ๐ = ๐ฝ๐โ , โ =๐โฒ
๐โฒ
2 ๐ผ๐โ โ ๐ฝ๐โ
Progress๐ก =
๐,๐ โ๐
๐๐๐ก ๐๐
๐กR = { (๐, ๐) : dist(y, z) = 1 } โ ๐ ร ๐
Claim: Progress๐ก โ Progress๐ก+1 โค๐โฒ
๐โฒ๐ +
๐โฒ
๐โฒ๐
Consider any pair ๐, ๐ โ ๐ Fix any t and t+1 They differ on some coordinate j*
๐๐ฆ๐ก ๐๐
๐ก โ ๐๐ฆ๐ก+1 ๐๐
๐ก+1 โค
A math trick: For any real ๐, ๐, and โ > 0: 2๐๐ โค โ๐2 + ฮค1 โ ๐2
Apply this above, with ๐ = ๐ผ๐โ , ๐ = ๐ฝ๐โ , โ =๐โฒ
๐โฒ
๐โฒ
๐โฒ ๐ผ๐โ2
+๐โฒ
๐โฒ ๐ฝ๐โ2
Progress๐ก =
๐,๐ โ๐
๐๐๐ก ๐๐
๐กR = { (๐, ๐) : dist(y, z) = 1 } โ ๐ ร ๐
Claim: Progress๐ก โ Progress๐ก+1 โค๐โฒ
๐โฒ๐ +
๐โฒ
๐โฒ๐
Consider any pair ๐, ๐ โ ๐ Fix any t and t+1 They differ on some coordinate j*
๐๐ฆ๐ก ๐๐
๐ก โ ๐๐ฆ๐ก+1 ๐๐
๐ก+1 โค
Finally, coordinate j* really depends on the pair ๐, ๐ , so letโs write it as
j* ๐, ๐
๐โฒ
๐โฒ ๐ผ๐โ2
+๐โฒ
๐โฒ ๐ฝ๐โ2
Progress๐ก =
๐,๐ โ๐
๐๐๐ก ๐๐
๐กR = { (๐, ๐) : dist(y, z) = 1 } โ ๐ ร ๐
Claim: Progress๐ก โ Progress๐ก+1 โค๐โฒ
๐โฒ๐ +
๐โฒ
๐โฒ๐
Consider any pair ๐, ๐ โ ๐ Fix any t and t+1 They differ on some coordinate j*
๐๐ฆ๐ก ๐๐
๐ก โ ๐๐ฆ๐ก+1 ๐๐
๐ก+1 โค
Finally, coordinate j* really depends on the pair ๐, ๐ , so letโs write it as
j* ๐, ๐
๐โฒ
๐โฒ ๐ผ๐โ ๐,๐2
+๐โฒ
๐โฒ ๐ฝ๐โ ๐,๐2
Progress๐ก =
๐,๐ โ๐
๐๐๐ก ๐๐
๐กR = { (๐, ๐) : dist(y, z) = 1 } โ ๐ ร ๐
Claim: Progress๐ก โ Progress๐ก+1 โค๐โฒ
๐โฒ๐ +
๐โฒ
๐โฒ๐
Consider any pair ๐, ๐ โ ๐ Fix any t and t+1 They differ on some coordinate j* ๐, ๐
๐๐ฆ๐ก ๐๐
๐ก โ ๐๐ฆ๐ก+1 ๐๐
๐ก+1 โค๐โฒ
๐โฒ ๐ผ๐โ ๐,๐2
+๐โฒ
๐โฒ ๐ฝ๐โ ๐,๐2
Also, to be scrupulous about notation, the ๐ผ๐ โs come from |๐๐๐กโฉ, and thus depend on y.
Similarly, the ๐ฝ๐ โs depend on z.
Progress๐ก =
๐,๐ โ๐
๐๐๐ก ๐๐
๐กR = { (๐, ๐) : dist(y, z) = 1 } โ ๐ ร ๐
Claim: Progress๐ก โ Progress๐ก+1 โค๐โฒ
๐โฒ๐ +
๐โฒ
๐โฒ๐
Consider any pair ๐, ๐ โ ๐ Fix any t and t+1 They differ on some coordinate j* ๐, ๐
๐๐ฆ๐ก ๐๐
๐ก โ ๐๐ฆ๐ก+1 ๐๐
๐ก+1 โค๐โฒ
๐โฒ ๐ผ๐โ ๐,๐๐ 2
+๐โฒ
๐โฒ ๐ฝ๐โ ๐,๐๐
2
Summing overall ๐, ๐ โ ๐ :
Progress๐ก โ Progress๐ก+1 โค
๐,๐ โ๐
๐โฒ
๐โฒ๐ผ๐โ ๐,๐
๐ 2+
๐,๐ โ๐
๐โฒ
๐โฒ๐ฝ๐โ ๐,๐
๐2
Final claim:
๐,๐ โ๐
๐ผ๐โ ๐,๐๐ 2
โค |๐| (and similarly for the second term, completing the proof)
Progress๐ก =
๐,๐ โ๐
๐๐๐ก ๐๐
๐กR = { (๐, ๐) : dist(y, z) = 1 } โ ๐ ร ๐
Claim: Progress๐ก โ Progress๐ก+1 โค๐โฒ
๐โฒ๐ +
๐โฒ
๐โฒ๐
Final claim:
๐,๐ โ๐
๐ผ๐โ ๐,๐๐ 2
โค |๐|
Consider any pair ๐, ๐ โ ๐ They differ on some coordinate j* ๐, ๐Fix any t and t+1
For each ๐ โ ๐, if you go over all z such that ๐, ๐ โ ๐ , the associated j* ๐, ๐ are distinct.
So for each ๐ โ ๐, youโre summing a subset of all possible ๐ผ๐๐ 2
. Which is at most 1.
So indeed the overall sum is at most |๐|.
[Ambainis โ00]Super-Basic Adversary Method:
For ๐ = (YES, NO), suppose ๐ โ YES, ๐ โ NO are such that:
โข for each ๐ โ ๐, there are at least ๐ strings ๐ โ ๐ with dist(y, z) = 1
โข for each ๐ โ ๐, there are at least ๐โฒ strings ๐ โ ๐ with dist(y, z) = 1
Then Q(๐), the quantum query complexity of ๐, is โณ ๐๐โฒ.
[Ambainis โ00]Super-Basic Adversary Method:
For ๐ = (YES, NO), suppose ๐ โ YES, ๐ โ NO are such that:
โข for each ๐ โ ๐, there are at least ๐ strings ๐ โ ๐ with dist(y, z) = 1
โข for each ๐ โ ๐, there are at least ๐โฒ strings ๐ โ ๐ with dist(y, z) = 1
Then Q(๐), the quantum query complexity of ๐, is โณ ๐๐โฒ.
[Ambainis โ00] Basic Adversary Method:
For ๐ = (YES, NO), let ๐ โ YES, ๐ โ NO.
Let ๐ โ ๐ ร ๐ be a set of โhard-to-distinguishโ pairs, such that:
โข for each ๐ โ ๐, there are at least ๐ strings ๐ โ ๐ with ๐, ๐ โ ๐
โข for each ๐ โ ๐, there are at least ๐โฒ strings ๐ โ ๐ with ๐, ๐ โ ๐
Also, for each coordinate j, define Rj = ๐, ๐ โ ๐ โถ ๐๐ โ ๐๐
(namely, all the pairs distinguishable by querying coordinate j).
Assume:
โข for each ๐ โ ๐ and j, there are at most โ strings ๐ โ ๐ with ๐, ๐ โ ๐ ๐
โข for each ๐ โ ๐ and j, there are at most โโฒ strings ๐ โ ๐ with ๐, ๐ โ ๐ ๐
Then Q(๐), the quantum query complexity of ๐, is โณ ฮค๐ ๐โฒ โ โโฒ.
Proof: Exercise!
(Only tiny modifications needed to the proof we saw.)
Exercise #2: Recall that Grover Search only needs โฒ ฮค๐ ๐ queries to find a 1if itโs promised there are at least k 1โs. (Assume ๐ โค ฮค๐ 2.)
Use the Basic Adversary Method to show โณ ฮค๐ ๐ queries are necessary for the promise problem:
๐ = โdecide if w has no 1โs, or at least k 1โsโ.
Basic Adversary Method:
For ๐ = (YES, NO), let ๐ โ YES, ๐ โ NO.
Let ๐ โ ๐ ร ๐ be a set of โhard-to-distinguishโ pairs, such that:
โข for each ๐ โ ๐, there are at least ๐ strings ๐ โ ๐ with ๐, ๐ โ ๐
โข for each ๐ โ ๐, there are at least ๐โฒ strings ๐ โ ๐ with ๐, ๐ โ ๐
Also, for each coordinate j, define Rj = ๐, ๐ โ ๐ โถ ๐๐ โ ๐๐
(namely, all the pairs distinguishable by querying coordinate j).
Assume:
โข for each ๐ โ ๐ and j, there are at most โ strings ๐ โ ๐ with ๐, ๐ โ ๐ ๐
โข for each ๐ โ ๐ and j, there are at most โโฒ strings ๐ โ ๐ with ๐, ๐ โ ๐ ๐
Then Q(๐), the quantum query complexity of ๐, is โณ ฮค๐ ๐โฒ โ โโฒ.
General (โNegative-Weightsโ) Adversary Method:
For ๐ = (YES, NO), let ๐ โ YES, ๐ โ NO.
Let ๐ โ ๐ ร ๐ be a set of โhard-to-distinguishโ pairs, such that:
โข for each ๐ โ ๐, there are at least ๐ strings ๐ โ ๐ with ๐, ๐ โ ๐
โข for each ๐ โ ๐, there are at least ๐โฒ strings ๐ โ ๐ with ๐, ๐ โ ๐
Also, for each coordinate j, define Rj = ๐, ๐ โ ๐ โถ ๐๐ โ ๐๐
(namely, all the pairs distinguishable by querying coordinate j).
Assume:
โข for each ๐ โ ๐ and j, there are at most โ strings ๐ โ ๐ with ๐, ๐ โ ๐ ๐
โข for each ๐ โ ๐ and j, there are at most โโฒ strings ๐ โ ๐ with ๐, ๐ โ ๐ ๐
Then Q(๐), the quantum query complexity of ๐, is โณ ฮค๐ ๐โฒ โ โโฒ.
General (โNegative-Weightsโ) Adversary Method:
A story for another time!