Decision-tree lower bounds from query-complexity measures #
CSLib supplies sensitivity, block sensitivity and certificate complexity, including
s(f) ≤ bs(f) ≤ C(f). The variables a tree queries at an input form a certificate, so
C(f) ≤ D(f) [Nis91], Jukna, Section 14.3.
The numerical measures use CSLib's BooleanFunction n. The coordinate-witness lower bound
card_le_complexity_of_forall_update_ne also applies to arbitrary finite coordinate types and
arbitrary outputs, without introducing a second family of measures.
Main results #
Cslib.DecisionTree.subset_queries_of_forall_update_ne: a tree must query every coordinate whose flip changes its output.Cslib.DecisionTree.card_le_complexity_of_forall_update_ne: sensitive coordinates give a lower bound for arbitrary output types.Cslib.DecisionTree.certificateComplexity_le_complexity:C(f) ≤ D(f).Cslib.DecisionTree.sensitivityAt_le_complexity: sensitivity at any input boundsD(f)below.
References #
A tree must query every coordinate whose flip changes the function's value at x.
The coordinates and outputs need not be finite.
Exhibiting sensitive coordinates bounds decision tree complexity below, for any output type.
Sensitivity to every coordinate forces a tree to query all of them in the worst case.
The coordinates queried at an input certify the output of the tree.
Certificate complexity at an input is at most the depth of any tree computing the function.
Certificate complexity is at most decision tree complexity.
A lower bound on sensitivity at one input is a lower bound on decision tree complexity.
A function sensitive to every variable at some input needs to query all of them.