Boolean function complexity measures #
Sensitivity s(f), block sensitivity bs(f) and certificate complexity C(f), together with
the chain s(f) ≤ bs(f) ≤ C(f). Notation follows [AB09]; the pointwise measures
s(f, x), bs(f, x), C(f, x) are those of Jukna, Section 14.3.
Main definitions #
BitString.sensitivity:s(f), the maximum over inputs of the number of sensitive coordinates.blockSensitivity:bs(f), the maximum over inputs of the maximum number of disjoint sensitive blocks.IsCertificate: a set of coordinates whose values atxpin downf x, as in Jukna, Section 14.3.Forces: a partial assignment forces the valueb, as in [BdW02]. At a fixed input an assignment consistent withxis determined by its support, so the pointwise measure needs no bit values.certificateComplexity:C(f), the maximum over inputs of the smallest certificate size.
Main results #
sensitivity_le_blockSensitivity:s(f) ≤ bs(f).blockSensitivity_le_certificateComplexity:bs(f) ≤ C(f).isCertificate_iff_forces_restrict,forces_iff_isCertificate_support:IsCertificateandForcesagree at a fixed input.certificateComplexityAt_eq_inf'_size:C(f, x)is the minimum size of a forcing assignment consistent withx.|B| ≤ s(f)for a minimal sensitive blockB.
References #
- S. Arora, B. Barak, Computational Complexity: A Modern Approach, Section 12.2 (Certificate Complexity) and Section 12.5.1 (Sensitivity).
- H. Buhrman, R. de Wolf, Complexity measures and decision tree complexity: a survey
- S. Jukna, Boolean Function Complexity: Advances and Frontiers, Section 14.3.
Sensitivity #
Coordinate i is sensitive for f at x when flipping it flips f.
Instances For
The set of coordinates sensitive for f at x.
Instances For
The bridge between the predicate and the Finset it cuts out.
The number of sensitive coordinates in input x, usually denoted s(f, x).
Instances For
The maximum sensitivity over all inputs, denoted s(f).
Instances For
Lower-bound rule for s(f, x): exhibit a set of sensitive coordinates.
The sensitivity at a single input is at most the sensitivity of f: s(f, x) ≤ s(f).
Lower-bound rule for s(f): sensitive coordinates at any input suffice.
s(f, x) ≤ n: there are only n coordinates.
s(f) ≤ n.
Block sensitivity #
Block B is sensitive for f at x when flipping all bits of B flips f.
Instances For
Every member flips f, and the members are pairwise disjoint.
Instances For
All sensitive families.
Instances For
The block sensitivity of f at x: the largest number of pairwise disjoint blocks of
coordinates such that flipping every coordinate of any one block flips f. Usually denoted
bs(f, x).
Instances For
The maximum block sensitivity over all inputs, denoted bs(f).
Instances For
Lower-bound rule for bs(f, x): exhibit one sensitive family.
The block sensitivity at a single input is at most that of f: bs(f, x) ≤ bs(f).
Lower-bound rule for bs(f).
Sensitive singletons #
A singleton block is sensitive if and only if its coordinate is.
s(f) ≤ bs(f) #
One block per sensitive coordinate.
Instances For
Membership in the singleton family: one block per sensitive coordinate.
The singleton family has one block per sensitive coordinate, so s(f, x) of them.
Singletons of distinct sensitive coordinates do form a sensitive family: each
flips f, and distinct singletons are disjoint.
Pointwise: s(f, x) ≤ bs(f, x).
Every sensitive coordinate is a sensitive block of size one, so s(f) ≤ bs(f).
Minimal sensitive blocks #
B is sensitive, and no proper subset of B is sensitive.
Instances For
Dropping any coordinate from a minimal sensitive block breaks sensitivity.
Every coordinate of a minimal sensitive block is sensitive at the input which has the minimal sensitive block flipped.
|B| ≤ s(f) for a minimal sensitive block B.
Certificates #
A certificate for x is a set of coordinates whose values at x already determine f x
Jukna, Section 14.3. The survey [BdW02] instead works with partial
assignments that force a value; Forces keeps that in general form, with the forced value b a
parameter, and the two views agree at a fixed input.
S is a certificate for f at x: every input agreeing with x on S takes the same
value, so f x can be read off from the bits of x in S.
Instances For
C forces the value b: everything consistent with C has f = b.
Instances For
S is a certificate for x if and only if x restricted to S forces f x.
A partial assignment consistent with x forces f x if and only if its support is a
certificate for x.
Reading every coordinate of x is a certificate.
There is always a certificate, so C(f, x) is a minimum over a non-empty set.
The fewest coordinates of x that pin down the value of f, denoted C(f, x).
Instances For
Upper-bound rule for C(f, x): exhibit one certificate.
Lower-bound rule for C(f, x): a bound that holds for every certificate.
Some certificate for x has exactly C(f, x) coordinates.
Certificates as partial assignments #
At a fixed input a forcing assignment carries no information beyond the coordinates it reads:
Agrees C x forces C i = some (x i) on the support and none elsewhere. So C(f, x) over
coordinate sets is also the minimum size of a forcing assignment consistent with x.
Partial assignments consistent with x that force f x.
Instances For
Reading off all of x forces f x.
There is always a forcing assignment consistent with x.
C(f, x) over coordinate sets is the minimum size of a forcing assignment consistent with
x, the definition of [BdW02].
The maximum over all inputs of the smallest certificate size, denoted C(f).
Instances For
The certificate complexity at a single input is at most that of f: C(f, x) ≤ C(f).
C(f, x) ≤ n: reading every coordinate pins down f.
C(f) ≤ n.
bs(f) ≤ C(f) #
A certificate for x must meet every block of a sensitive family. The blocks are pairwise
disjoint, so a family has at most |S| members.
A certificate must contain at least one coordinate of every sensitive block.
A certificate is at least as large as any sensitive family.
Pointwise: bs(f, x) ≤ C(f, x).
Every block of a sensitive family meets every certificate, so bs(f) ≤ C(f).
bs(f, x) ≤ n.
bs(f) ≤ n.