  Consider any locally checkable labeling problem $\Pi$ in rooted regular
trees: there is a finite set of labels $\Sigma$, and for each label $x \in
\Sigma$ we specify what are permitted label combinations of the children for an
internal node of label $x$ (the leaf nodes are unconstrained). This formalism
is expressive enough to capture many classic problems studied in distributed
computing, including vertex coloring, edge coloring, and maximal independent
set.
  We show that the distributed computational complexity of any such problem
$\Pi$ falls in one of the following classes: it is $O(1)$, $\Theta(\log^* n)$,
$\Theta(\log n)$, or $n^{\Theta(1)}$ rounds in trees with $n$ nodes (and all of
these classes are nonempty). We show that the complexity of any given problem
is the same in all four standard models of distributed graph algorithms:
deterministic $\mathsf{LOCAL}$, randomized $\mathsf{LOCAL}$, deterministic
$\mathsf{CONGEST}$, and randomized $\mathsf{CONGEST}$ model. In particular, we
show that randomness does not help in this setting, and the complexity class
$\Theta(\log \log n)$ does not exist (while it does exist in the broader
setting of general trees).
  We also show how to systematically determine the complexity class of any such
problem $\Pi$, i.e., whether $\Pi$ takes $O(1)$, $\Theta(\log^* n)$,
$\Theta(\log n)$, or $n^{\Theta(1)}$ rounds. While the algorithm may take
exponential time in the size of the description of $\Pi$, it is nevertheless
practical: we provide a freely available implementation of the classifier
algorithm, and it is fast enough to classify many problems of interest.
