Randomized decision trees #
A randomized decision tree tosses coins, uses them to pick a deterministic decision tree, and runs
it. We represent it by the distribution over decision trees that it draws from, a finitely
supported probability distribution Convexity.StdSimplex ℝ (DecisionTree ι β)
(RandomizedDecisionTree). Its depth is the largest depth of a tree it can draw: the number of
queries it makes in the worst case over the inputs and the coins (RandomizedDecisionTree.depth).
It computes f with error ε when on every input the tree it draws outputs a wrong value with
probability at most ε (RandomizedDecisionTree.errorProb, RandomizedDecisionTree.Computes).
The randomized decision tree complexity R_ε(f) is the least depth of a randomized decision tree
computing f with error ε (QueryComplexity.randomizedComplexity) [BdW02]; the
bounded-error complexity R(f) of the literature is R_{1/3}(f).
Deterministic trees are randomized trees that draw one tree, so R_ε(f) ≤ D(f) for ε ≥ 0
(DecisionTree.randomizedComplexity_le_complexity). With error 0 every tree that can be drawn
computes f, so R_0(f) = D(f) (QueryComplexity.randomizedComplexity_zero); zero-error
complexity in the literature usually counts the expected number of queries instead, which can be
smaller. A fair coin guesses a Boolean value correctly with probability 1/2, so R_ε(f) = 0 for
Boolean-valued f and ε ≥ 1/2 (QueryComplexity.randomizedComplexity_eq_zero_of_le).
If a randomized tree computes f with error ε, then for every distribution ν on the inputs
some tree that it can draw errs with probability at most ε on inputs drawn from ν
(RandomizedDecisionTree.Computes.exists_distributionalError_le, from
Convexity.StdSimplex.exists_mem_support_le_sum_mul in Complexity.Probability.Minimax). This
averaging argument is the easy direction of Yao's principle [Yao77]; the converse follows from
the minimax theorem (QueryComplexity.exists_computes_of_forall_exists_distributionalError_le).
Main definitions #
Cslib.RandomizedDecisionTree: randomized decision trees, as finitely supported distributions over decision trees, withRandomizedDecisionTree.depth,RandomizedDecisionTree.errorProbandRandomizedDecisionTree.Computes.Cslib.DecisionTree.distributionalError: the error of a decision tree on inputs drawn from a distribution.Cslib.QueryComplexity.randomizedComplexity: the randomized decision tree complexityR_ε(f).
Main results #
Cslib.RandomizedDecisionTree.Computes.exists_distributionalError_le: the averaging argument.Cslib.DecisionTree.randomizedComplexity_le_complexity:R_ε(f) ≤ D(f)forε ≥ 0.Cslib.QueryComplexity.randomizedComplexity_zero:R_0(f) = D(f).Cslib.QueryComplexity.randomizedComplexity_antitone:R_ε(f)decreases asεgrows.Cslib.QueryComplexity.randomizedComplexity_eq_zero_of_le:R_ε(f) = 0for Boolean-valuedfandε ≥ 1/2.
References #
A randomized decision tree over Boolean variables indexed by ι, with outputs in β: a
finitely supported probability distribution over decision trees. It draws a tree from this
distribution and runs it.
Instances For
The error of a decision tree t on inputs drawn from ν: the probability that on an input x
drawn from ν it outputs a value other than f x.
Instances For
distributionalError with any decidable equality on the outputs.
A decision tree computing f has error 0 on every distribution.
The depth of a randomized decision tree: the largest depth of a tree that it can draw, so the number of queries it makes in the worst case over the inputs and the coins.
Instances For
The probability that the tree drawn from μ outputs on x a value other than f x.
Instances For
A randomized decision tree μ computes f with error ε when on every input the tree drawn
from μ outputs a wrong value with probability at most ε.
Instances For
errorProb with any decidable equality on the outputs.
A randomized decision tree can only compute with nonnegative error.
A deterministic decision tree computing f computes it with any nonnegative error.
The averaging argument, the easy direction of Yao's principle: if μ computes f with
error ε, then for every distribution ν on the inputs some tree that μ can draw errs with
probability at most ε on inputs drawn from ν.
The randomized decision tree complexity R_ε(f): the least depth of a randomized decision tree
computing f with error ε. It is 0 when no randomized decision tree computes f with error
ε, which over finitely many variables happens exactly for ε < 0.
Instances For
For ε ≥ 0 the randomized complexity is attained: some randomized decision tree of depth
R_ε(f) computes f with error ε.
With error 0 randomness does not help: R_0(f) = D(f). The cost here is the worst case over
the coins, unlike the expected number of queries of zero-error (Las Vegas) complexity.