Upload
others
View
14
Download
0
Embed Size (px)
Citation preview
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!