Junction tree algorithm

The junction tree algorithm is a method used in machine learning for exact marginalization in general graphs. In essence, it entails performing belief propagation on a modified graph called a junction tree. The basic premise is to eliminate cycles by clustering them into single nodes.

Hugin algorithm

 * Moralize the graph
 * Introduce the evidence
 * Triangulate the graph
 * Construct a junction tree from this (form a maximal spanning tree)
 * Propagate the probabilities (via belief propagation)