Cutset conditioning is a method for performing Tree Decomposition on a dependency graph. By identifying and conditioning on the “cut set” of the graph, a tree structure is produced.
The cut set of a graph is the set of variables which, if removed, will “cut” all loops in the graph and produce an acyclic graph.
Loop-cutset decomposition (Loop-cutset conditioning) uses [http://en.wikipedia.org/wiki/Decomposition_method_(constraint_satisfaction)#Cycle_cutset Cutset-Conditioning] to transform a belief graph into a tree structure by removing large-degree variables from the network. It improves time performance at the cost of space. The result is a forest of probability trees which can be easily processed by Belief Propagation. Unfortunately, the resulting cutset forest forms a tree which takes additional memory and must be searched over via tree search spaces.
Inference work is exponential in $C$ for cycle [http://en.wikipedia.org/wiki/Cut_set cutset] of size $C$. $ C + 1 > w$ for cutset size $C$ and induced-width w. For example, in a chain of cliques, the induced width is a function of clique size while the cutset is a function of the total number of nodes in the graph. Finding a minimal cycle cutset is not easy.
Because full loop-cutset decomposition produces a very large graph, it is generally better to not condition all the way to a tree structure but to stop when some target graph width $\omega$ is met. This is called a w-cutset algorithm.
Small cycle-cutsets require a smaller number of tree-solving algorithms to be run, but finding a minimal-size cycle-cutset is [http://en.wikipedia.org/wiki/Feedback_vertex_set NP-complete]. One heuristic for quickly choosing a cutset is to perform a depth-first search.
This is an algorithm for using VEC to optimize Bucket Elimination inference:
#* Each sub-tree is a dependency graph of some kind #* The main tree is a tree of variable assignments leading to a sub-tree
For a target treewidth $\omega$ , run loop-cutset decomposition but stop when the target width is achieved. Time complexity is $O(n * k^{c + \omega + 1})$ Space complexity is $O(k^\omega)$
It can be shown that $c \geq \omega - 1$. So decreasing $\omega$ results in a greater time requirement and lesser space requirements.