Amplification of public-coin protocols #
A public-coin protocol computing a Boolean function f with error ε ≤ 1 / 2 can be run 2 r
times with independent coins, answering with the strict majority of the outputs
(BitString.strictMajorityOn) Kushilevitz and Nisan, Chapter 3. The
majority is wrong only if at least r of the runs err
(BitString.card_filter_eq_le_half_of_strictMajorityOn_ne), which happens with probability at most
(4 ε (1 - ε)) ^ r by the majority tail bound Probability.PMF.iid_card_ge_le, applied to the
indicators of the runs that err. The repeated protocol sends at most 2 r times as many bits
(PublicCoin.ecomplexity_le_two_mul_mul, PublicCoin.ecomplexityFun_le_two_mul_mul). For error
1 / 3, 2 r runs reduce the error to (8 / 9) ^ r
(PublicCoin.ecomplexityFun_le_two_mul_mul_one_third).
The runs are sequenced with Protocol.runAll, which runs a tuple of protocols one after another
before combining their outputs. The protocols are drawn independently with
Probability.PMF.iid, which unlike the product Probability.PMF.pi applies to the infinite type
of protocols.
Main definitions #
Cslib.Communication.PublicCoin.amplify: the strict majority of2 rindependent runs.
Main results #
Cslib.Communication.PublicCoin.Solves.amplify: the error of the majority of2 rruns.Cslib.Communication.PublicCoin.ecomplexity_le_two_mul_mul,Cslib.Communication.PublicCoin.ecomplexityFun_le_two_mul_mul: amplification of public-coin protocols for Boolean functions.Cslib.Communication.PublicCoin.ecomplexityFun_le_two_mul_mul_one_third: amplification from error1 / 3.
References #
The strict majority of 2 r independent runs of μ.
Instances For
Amplification: if μ computes f on A × B with error ε ≤ 1 / 2, then the majority of
2 r independent runs computes it with error (4 ε (1 - ε)) ^ r.
Amplification of public-coin protocols: for error ε ≤ 1 / 2, computing a Boolean function
on A × B with error (4 ε (1 - ε)) ^ r costs at most 2 r times as much as with error ε.
Amplification of public-coin protocols for Boolean functions: for error ε ≤ 1 / 2,
computing f with error (4 ε (1 - ε)) ^ r costs at most 2 r times as much as with error
ε.
Amplification from error 1 / 3: 2 r runs reduce the error to (8 / 9) ^ r.