Polytope propagation associated with hidden Markov models or arbitrary tree models, as introduced in [Pachter and Sturmfels, 2004a], can be carried to a further level of abstraction. Generalizing polytope propagation allows for a clearer view of the algorithmic complexity issues involved.
We begin with the simple observation that a graphical model associated with a model graph G, which may or may not be a tree, defines another directed graph Γ(G) which can roughly be seen as a product of G with the state space of the model (considered as a graph with an isolated node for each state). Polytope propagation actually takes place on this product graph Γ(G). The nodes represent the polytopes propagated while each arc carries a vector which represents the multiplication with a monomial in the parameters of the model.
The purpose of this chapter is to collect some information about what happens if Γ(G) is replaced by an arbitrary directed acyclic graph and to explain how this more general form of polytope propagation is implemented in polymake.
Polytopes from directed acyclic graphs
Let Γ = (V, A) be a finite directed graph with node set V and arc set A. Also, let α : A → ℝd be some function. We assume that Γ does not have any directed cycles. As such, Γ has at least one source and one sink where a source is a node of in-degree zero and a sink is a node of out-degree zero.