Noise stability and noise sensitivity #
Flipping each bit of a string x independently with probability (1 - ρ) / 2 gives a random
string y that is ρ-correlated with x. The noise operator T_ρ (BitString.noiseOp)
averages a real function over this noise, T_ρ f x = 𝔼_y f y. It damps the Fourier coefficient of
S by ρ ^ |S| (BitString.fourierCoeff_noiseOp), so it has Fourier expansion
∑_S ρ ^ |S| f̂(S) χ_S (BitString.noiseOp_eq_sum), the noise operators form a semigroup,
T_ρ T_σ = T_{ρ σ} (BitString.noiseOp_noiseOp), and each is self-adjoint
(BitString.expect_mul_noiseOp_comm).
The noise stability Stab_ρ[f] = 𝔼_x f x T_ρ f x (BitString.noiseStability) is the
correlation of f at two ρ-correlated strings. It is ∑_S ρ ^ |S| f̂(S) ^ 2
(BitString.noiseStability_eq_sum), so on 0 ≤ ρ ≤ 1 it increases with ρ from the squared
mean (𝔼 f) ^ 2 to the second moment 𝔼 f ^ 2.
The noise sensitivity NS_δ[f] of a Boolean function (BitString.noiseSensitivity) is the
probability that f x ≠ f y when y flips each bit of a uniform x independently with
probability δ. Reading f as the function F = (-1) ^ f with values ±1, it is
NS_δ[f] = 1 / 2 - 1 / 2 Stab_{1 - 2 δ}[F] (BitString.noiseSensitivity_eq_noiseStability),
hence NS_δ[f] = ∑_S (1 - (1 - 2 δ) ^ |S|) / 2 F̂(S) ^ 2 (BitString.noiseSensitivity_eq_sum)
and NS_δ[f] ≤ δ I[F], at most δ times the total influence
(BitString.noiseSensitivity_le_mul_totalInfluence) O'Donnell, Section 2.4.
The noised string is x + P, the coordinatewise exclusive or of x with a random mask P of
BitString.bernoulliAverage, bit strings adding in Mathlib's Boolean ring structure on
Bool. The coordinates of the mask are independent:
the average of a product of functions of the separate coordinates factorizes
(BitString.bernoulliAverage_prod), so the character of S averages to (1 - 2 p) ^ |S|
over a mask of rate p (BitString.bernoulliAverage_chi).
Main definitions #
Cslib.BitString.noiseOp,Cslib.BitString.noiseOpₗ: the noise operatorT_ρ, and the same as a linear map.Cslib.BitString.noiseStability: the noise stability of a real function.Cslib.BitString.noiseSensitivity: the noise sensitivity of a Boolean function.
Main results #
Cslib.BitString.noiseOp_eq_sum,Cslib.BitString.fourierCoeff_noiseOp: the Fourier expansion ofT_ρ fO'Donnell, Proposition 2.47.Cslib.BitString.noiseOp_noiseOp: the noise operators form a semigroup.Cslib.BitString.noiseOp_comp_arrowCongr,Cslib.BitString.noiseOp_of_isEmpty: the noise operator commutes with renaming the coordinates and is the identity on the cube over no coordinates.Cslib.BitString.expect_mul_noiseOp_comm: the noise operator is self-adjoint.Cslib.BitString.noiseStability_eq_sum: the Fourier formula for the noise stability O'Donnell, Theorem 2.49.Cslib.BitString.sq_expect_le_noiseStability,Cslib.BitString.noiseStability_le_expect_sq,Cslib.BitString.noiseStability_mono: the noise stability lies between the squared mean and the second moment, increasingly inρ.Cslib.BitString.noiseSensitivity_eq_noiseStability,Cslib.BitString.noiseSensitivity_eq_sum: the noise sensitivity through the noise stability and its Fourier formula O'Donnell, Definition 2.43 and Theorem 2.49.Cslib.BitString.noiseSensitivity_le_mul_totalInfluence: the noise sensitivity atδis at mostδtimes the total influence.
References #
The character of S averages to (1 - 2 p) ^ |S| over a random mask of rate p: each of its
coordinates is selected, negating the sign, with probability p.
The noise operator #
The noise operator T_ρ: the average of f at a string ρ-correlated with x, which
flips each bit of x independently with probability (1 - ρ) / 2. It is an average over a
probability distribution when -1 ≤ ρ ≤ 1.
Instances For
The Fourier expansion of T_ρ f: the noise operator damps the coefficient of S by
ρ ^ |S| O'Donnell, Proposition 2.47.
The noise operator damps the Fourier coefficient of S by ρ ^ |S|
O'Donnell, Proposition 2.47.
At ρ = 1 no bit is flipped, so the noise operator is the identity.
At ρ = 0 the noised string is uniform, so the noise operator returns the mean.
The noise operator fixes the constants.
The noise operator commutes with renaming the coordinates.
The correlation of f with T_ρ g is the sum of the products of the Fourier coefficients
damped by ρ ^ |S|.
The noise operator is self-adjoint: 𝔼 f T_ρ g = 𝔼 (T_ρ f) g.
Noise stability #
The noise stability Stab_ρ[f] of f at ρ: the correlation 𝔼 f x f y of f at a
uniform string x and a string y that is ρ-correlated with x.
Instances For
The Fourier formula for the noise stability: Stab_ρ[f] = ∑_S ρ ^ |S| f̂(S) ^ 2
O'Donnell, Theorem 2.49.
The noise stability of a derivative: ρ Stab_ρ[Dᵢ f] weighs the squared coefficient of
f on each set containing i by ρ to the size of the set.
At ρ = 1 the noise stability is the second moment.
At ρ = 0 the noise stability is the squared mean.
On 0 ≤ ρ, the noise stability increases with ρ.
On 0 ≤ ρ, the noise stability is at least the squared mean.
On 0 ≤ ρ, the noise stability is nonnegative.
On |ρ| ≤ 1, the noise stability is at most the second moment.
Noise sensitivity #
The noise sensitivity NS_δ[f] of a Boolean function f at δ: the probability that
f x ≠ f y for a uniform string x and the string y that flips each bit of x independently
with probability δ.
Instances For
The noise sensitivity through the noise stability:
NS_δ[f] = 1 / 2 - 1 / 2 Stab_{1 - 2 δ}[F], for F the function f with values ±1.
The Fourier formula for the noise sensitivity:
NS_δ[f] = ∑_S (1 - (1 - 2 δ) ^ |S|) / 2 F̂(S) ^ 2, for F the function f with values ±1
O'Donnell, Theorem 2.49.
With no noise, f never changes.
On 0 ≤ δ ≤ 1, the noise sensitivity is a probability.
On δ ≤ 1 / 2, the noise sensitivity increases with δ.
The noise sensitivity is at most δ times the total influence: NS_δ[f] ≤ δ I[F] for
δ ≤ 1, for F the function f with values ±1 O'Donnell, Exercise 2.42.