The discrepancy bound and the inner product #
The discrepancy of f : X → Y → Bool under a distribution ν on X × Y is the largest
imbalance |ν(S ∩ f⁻¹ false) - ν(S ∩ f⁻¹ true)| over rectangles S = A × B (discrepancy)
Kushilevitz and Nisan, Chapter 3. The output of a protocol is constant on
each leaf rectangle, so its correlation with f under ν, which is 1 - 2 ε for a protocol
erring with probability ε on inputs drawn from ν, is at most the number of leaves times the
discrepancy (Protocol.abs_sum_mul_signVal_le, splitting the sum by
Protocol.sum_eq_sum_leaves). Hence a protocol sending c bits with error 1 / 2 - γ under ν
has 2 γ ≤ 2 ^ c disc_ν(f) (Protocol.two_mul_le_two_pow_mul_discrepancy), and by averaging the
same holds for public-coin protocols with error 1 / 2 - γ on every input
(PublicCoin.two_mul_le_two_pow_mul_discrepancy).
For the inner product, Lindsey's lemma (Matrix.sq_sum_bilinear_mul_two_pow_rank_le) bounds the
signed sum of the inner product modulo two over a rectangle A × B of n-bit strings by
√(|A| |B| 2 ^ n) (BitString.sq_sum_signVal_dotProduct_le), so under the uniform distribution
the inner product has discrepancy at most 2 ^ (-n / 2)
(discrepancy_dotProduct_sq_mul_two_pow_le). So public-coin protocols for the inner product with
error 1 / 2 - γ send c bits with (2 γ)² 2 ^ n ≤ 4 ^ c
(PublicCoin.Solves.sq_mul_two_pow_le_four_pow_of_dotProduct), and with error 1 / 3 at least
(n - 3) / 2 bits: R(IP) = Ω(n) (PublicCoin.le_two_mul_ecomplexityFun_dotProduct_add_three)
Chor and Goldreich.
Main definitions #
Cslib.Communication.discrepancy: the discrepancy of a Boolean function under a distribution.
Main results #
Cslib.Communication.Protocol.two_mul_le_two_pow_mul_discrepancy,Cslib.Communication.PublicCoin.two_mul_le_two_pow_mul_discrepancy: the discrepancy bound.Cslib.Communication.discrepancy_dotProduct_sq_mul_two_pow_le: the discrepancy of the inner product.Cslib.Communication.PublicCoin.le_two_mul_ecomplexityFun_dotProduct_add_three,Cslib.Communication.PrivateCoin.le_two_mul_ecomplexityFun_dotProduct_add_three: randomized protocols for the inner product ofnbits sendΩ(n)bits.
References #
Discrepancy #
The discrepancy of f : X → Y → Bool under a distribution ν on X × Y: the largest
imbalance |ν(S ∩ f⁻¹ false) - ν(S ∩ f⁻¹ true)| of f on a rectangle S = A × B, written as the
signed sum |∑_{x ∈ A, y ∈ B} ν(x, y) (-1)^{f x y}|. The results about it assume that X and Y
are finite.
Instances For
The discrepancy bound #
Correlation with a protocol is bounded by discrepancy: the correlation under ν of f
with the output of a protocol is at most the number of its leaves times the discrepancy of f
under ν.
The discrepancy bound for deterministic protocols: a protocol erring with probability at
most 1 / 2 - γ on inputs drawn from ν has 2 γ ≤ 2 ^ depth · disc_ν(f).
The discrepancy bound for public-coin protocols: a public-coin protocol sending at most
c bits and computing f with error at most 1 / 2 - γ on every input has
2 γ ≤ 2 ^ c · disc_ν(f) for every distribution ν.
The discrepancy bound: if f has public-coin communication complexity at most c with
error 1 / 2 - γ, then 2 γ ≤ 2 ^ c · disc_ν(f) for every distribution ν.
The inner product #
The inner product has discrepancy at most 2 ^ (-n / 2) under the uniform distribution on
pairs of n-bit strings, in the form disc² · 2 ^ n ≤ 1.
Randomized protocols for the inner product: a public-coin protocol computing the inner
product modulo two of two n-bit strings with error at most 1 / 2 - γ, for γ ≥ 0, and sending
at most c bits has (2 γ)² 2 ^ n ≤ 4 ^ c.
The inner product needs Ω(n) bits with public coins: computing the inner product modulo
two of two n-bit strings with error 1 / 3 needs at least (n - 3) / 2 bits.
The inner product needs Ω(n) bits with private coins: computing the inner product modulo
two of two n-bit strings with error 1 / 3 needs at least (n - 3) / 2 bits.