  In many situations, it would be useful to know not just the best phylogenetic
tree for a given data set, but the collection of high-quality trees. This goal
is typically addressed using Bayesian techniques, however, current Bayesian
methods do not scale to large data sets. Furthermore, for large data sets with
relatively low signal one cannot even store every good tree individually,
especially when the trees are required to be bifurcating. In this paper, we
develop a novel object called the "history subpartition directed acyclic graph"
(or "history sDAG" for short) that compactly represents an ensemble of trees
with labels (e.g. ancestral sequences) mapped onto the internal nodes. The
history sDAG can be built efficiently and can also be efficiently trimmed to
only represent maximally parsimonious trees. We show that the history sDAG
allows us to find many additional equally parsimonious trees, extending
combinatorially beyond the ensemble used to construct it. We argue that this
object could be useful as the "skeleton" of a more complete uncertainty
quantification.
