Ternary majority trees and counting amplification #
A majority tree (Cslib.majTree) of depth L combines 3 ^ L outcomes by repeated majorities
of three, maj3 a b c = if a = b then a else c, which is right whenever two of its arguments are.
If a single outcome errs on at most a ρ fraction of a finite sample space, the tree errs on at
most a (3 * ρ) ^ (2 ^ L) / 3 fraction of the 3 ^ L-tuples (Cslib.card_majTree_ne_le). For
3 * ρ ≤ 1 / 2 this is below 2 ^ (-2 ^ L), so by a union bound one fixed choice of the 3 ^ L
outcomes is right on every element of a set of at most 2 ^ (2 ^ L) targets
(Cslib.exists_forall_majTree_eq). Majority trees replace a Chernoff bound by a counting argument
and need only equality tests to evaluate Arora and Barak, Chapter 19.
Main definitions #
Cslib.maj3,Cslib.majTree: majorities of three and majority trees.Cslib.tripleEquiv: the splitting of3 ^ (L + 1)indices into three blocks of3 ^ L.
Main results #
Cslib.card_majTree_ne_le: amplification by majority trees.Cslib.exists_forall_majTree_eq: one choice of outcomes is right across a whole set.
References #
The majority of three, right whenever two of its arguments are: a if a = b, else c.
Instances For
A majority tree of depth L over 3 ^ L values: the majority of three of the trees over
the three blocks.
Instances For
Amplification by majority trees. If at most a ρ fraction of the outcomes ω have
val ω ≠ y, then at most a (3 * ρ) ^ (2 ^ L) / 3 fraction of the tuples of 3 ^ L outcomes
make the majority tree miss y.
One choice of randomness corrects a whole set. Let a randomized procedure val x, for
each x in a set S of at most 2 ^ (2 ^ L) inputs, miss target x on at most a ρ fraction of
its outcomes, with 3 * ρ ≤ 1 / 2. Then some tuple of 3 ^ L outcomes makes the majority tree
right at every x ∈ S.