Relations between block sensitivity, certificate and decision tree complexity #
Block sensitivity bounds certificate and decision tree complexity polynomially, so that the three
are polynomially related [BdW02]. For a value b, the one-sided measures s_b(f),
bs_b(f) and C_b(f) are the largest sensitivity, block sensitivity and certificate complexity
of f at an input of value b.
C(f) ≤ s(f) bs(f), due to Nisan [Nis91] (QueryComplexity.certificateComplexity_le_sensitivity_mul_blockSensitivity). Take a largest family of pairwise disjoint minimal sensitive blocks atx. Every coordinate of a blockBof it is sensitive atxwithBflipped, an input of value¬f(x), so|B| ≤ s_{¬f(x)}(f)(QueryComplexity.IsMinimalSensitiveBlock.card_le_sensitivityFor). The union of the family is a certificate forx: an input agreeing withxon it but with a different value differs fromxon a sensitive block disjoint from the family, which contains a minimal one and would enlarge the family. This gives the one-sided formC_b(f) ≤ s_{¬b}(f) bs_b(f)(QueryComplexity.certificateComplexityFor_le_sensitivityFor_mul_blockSensitivityFor).D(f) ≤ bs₀(f) C₁(f) ≤ C(f) bs(f)(DecisionTree.complexity_le_blockSensitivityFor_mul_certificateComplexityFor). This is a one-sided form of the boundD(f) ≤ C₁(f) bs(f)of Beals, Buhrman, Cleve, Mosca and de Wolf [BBC+01] ([BdW02], Theorem 11). Query a smallest certificate of an input of value1. Every input of value0of the function restricted by the answers has one more sensitive block in the original function, the coordinates of the certificate on which it differs from the input of value1, so its block sensitivity has dropped.
With D(¬f) = D(f) this turns D(f) ≤ bs₀(f) C₁(f) into its dual D(f) ≤ bs₁(f) C₀(f)
(DecisionTree.complexity_le_blockSensitivityFor_not_mul_certificateComplexityFor), hence
D(f) ≤ min(C₀(f), C₁(f)) bs(f), and with the one-sided Nisan bound it gives
D(f) ≤ bs_{¬b}(f) s_{¬b}(f) bs_b(f), in particular D(f) ≤ bs₀(f) bs₁(f) s(f).
With C(f) ≤ s(f) bs(f) ≤ bs(f)² it gives D(f) ≤ s(f) bs(f)² ≤ bs(f)³
(DecisionTree.complexity_le_sensitivity_mul_blockSensitivity_sq,
DecisionTree.complexity_le_blockSensitivity_pow_three; [BdW02], Corollary 1).
Main results #
Cslib.QueryComplexity.certificateComplexityAt_le_sensitivityFor_mul_blockSensitivityAt:C(f, x) ≤ s_{¬f(x)}(f) bs(f, x).Cslib.QueryComplexity.certificateComplexityFor_le_sensitivityFor_mul_blockSensitivityFor:C_b(f) ≤ s_{¬b}(f) bs_b(f).Cslib.QueryComplexity.certificateComplexityAt_le_sensitivity_mul_blockSensitivityAt:C(f, x) ≤ s(f) bs(f, x).Cslib.QueryComplexity.certificateComplexity_le_sensitivity_mul_blockSensitivity:C(f) ≤ s(f) bs(f).Cslib.QueryComplexity.certificateComplexity_le_blockSensitivity_sq:C(f) ≤ bs(f)².Cslib.DecisionTree.complexity_le_blockSensitivityFor_mul_certificateComplexityFor:D(f) ≤ bs₀(f) C₁(f).Cslib.DecisionTree.complexity_le_blockSensitivityFor_not_mul_certificateComplexityFor:D(f) ≤ bs_{¬b}(f) C_b(f).Cslib.DecisionTree.complexity_le_min_certificateComplexityFor_mul_blockSensitivity:D(f) ≤ min(C₀(f), C₁(f)) bs(f).Cslib.DecisionTree.complexity_le_blockSensitivityFor_mul_sensitivityFor_mul_blockSensitivityFor:D(f) ≤ bs_{¬b}(f) s_{¬b}(f) bs_b(f).Cslib.DecisionTree.complexity_le_blockSensitivityFor_mul_blockSensitivityFor_mul_sensitivity:D(f) ≤ bs₀(f) bs₁(f) s(f).Cslib.DecisionTree.complexity_le_certificateComplexity_mul_blockSensitivity:D(f) ≤ C(f) bs(f).Cslib.DecisionTree.complexity_le_sensitivity_mul_blockSensitivity_sq:D(f) ≤ s(f) bs(f)².Cslib.DecisionTree.complexity_le_blockSensitivity_pow_three:D(f) ≤ bs(f)³.
References #
C(f) ≤ s(f) bs(f) #
A sensitive block contains a minimal sensitive block.
A sensitive block is nonempty.
A minimal sensitive block at x has at most s_{¬f(x)}(f) coordinates: they are all
sensitive at x with the block flipped, where f has the other value.
One-sided Nisan bound at an input: C(f, x) ≤ s_{¬f(x)}(f) bs(f, x).
Nisan's bound at an input: C(f, x) ≤ s(f) bs(f, x).
Nisan's bound: C(f) ≤ s(f) bs(f).
C(f) ≤ bs(f)².
One-sided Nisan bound: C_b(f) ≤ s_{¬b}(f) bs_b(f).
Restricting by the answers to a certificate #
Decision tree complexity from block sensitivity and certificates: D(f) ≤ bs₀(f) C₁(f), a
one-sided form of the bound D(f) ≤ C₁(f) bs(f) of Beals, Buhrman, Cleve, Mosca and de Wolf
[BBC+01].
Decision tree complexity from one-sided measures: D(f) ≤ bs_{¬b}(f) C_b(f) for either
value b. For b = 1 this is D(f) ≤ bs₀(f) C₁(f), a one-sided form of the bound of Beals,
Buhrman, Cleve, Mosca and de Wolf [BBC+01]; negating the function gives
the dual D(f) ≤ bs₁(f) C₀(f).
D(f) ≤ C_b(f) bs(f) for either value b [BBC+01].
D(f) ≤ min(C₀(f), C₁(f)) bs(f).
D(f) ≤ bs_{¬b}(f) s_{¬b}(f) bs_b(f), from D(f) ≤ bs_{¬b}(f) C_b(f) and the one-sided Nisan
bound.
D(f) ≤ bs₀(f) bs₁(f) s(f).
D(f) ≤ C(f) bs(f) [BBC+01].
D(f) ≤ s(f) bs(f)², from D(f) ≤ C(f) bs(f) and Nisan's C(f) ≤ s(f) bs(f).
Decision tree complexity is at most the cube of block sensitivity: D(f) ≤ bs(f)³
[BBC+01].