Constructing a Chain Event Graph from a Staged Tree
  Chain Event Graphs (CEGs) are a recent family of probabilistic graphical
models - a generalisation of Bayesian Networks - providing an explicit
representation of structural zeros, structural missing values and
context-specific conditional independences within their graph topology. A CEG
is constructed from an event tree through a sequence of transformations
beginning with the colouring of the vertices of the event tree to identify
one-step transition symmetries. This coloured event tree, also known as a
staged tree, is the output of the learning algorithms used for this family.
Surprisingly, no general algorithm has yet been devised that automatically
transforms any staged tree into a CEG representation. In this paper we provide
a simple iterative backward algorithm for this transformation. Additionally, we
show that no information is lost from transforming a staged tree into a CEG.
Finally, we demonstrate that with an optimal stopping criterion, our algorithm
is more efficient than the generalisation of a special case presented in
Silander and Leong (2013). We also provide Python code using this algorithm to
obtain a CEG from any staged tree along with the functionality to add edges
with sampling zeros.
