  The junction-tree representation provides an attractive structural property
for organizing a decomposable graph. In this study, we present two novel
stochastic algorithms, which we call the junction-tree expander and
junction-tree collapser for sequential sampling of junction trees for
decomposable graphs. We show that recursive application of the junction-tree
expander, expanding incrementally the underlying graph with one vertex at a
time, has full support on the space of junction trees with any given number of
underlying vertices. On the other hand, the junction-tree collapser provides a
complementary operation for removing vertices in the underlying decomposable
graph of a junction tree, while maintaining the junction tree property. A
direct application of our suggested algorithms is demonstrated in a
sequential-Monte-Carlo setting designed for sampling from distributions on
spaces of decomposable graphs. Numerical studies illustrate the utility of the
proposed algorithms for combinatorial computations on decomposable graphs and
junction trees. All the methods proposed in the paper are implemented in the
Python library trilearn.
