V
- the graph vertex typeE
- the graph edge typepublic class CliqueMinimalSeparatorDecomposition<V,E> extends Object
The Clique Minimal Separator (CMS) Decomposition is a procedure that splits a graph into a set of subgraphs separated by minimal clique separators, adding the separating clique to each component produced by the separation. At the end we have a set of atoms. The CMS decomposition is unique and yields the set of the atoms independent of the order of the decomposition.
Constructor and Description |
---|
CliqueMinimalSeparatorDecomposition(Graph<V,E> g)
Setup a clique minimal separator decomposition on undirected graph
g . |
Modifier and Type | Method and Description |
---|---|
Set<Set<V>> |
getAtoms()
Get the atoms generated by the decomposition.
|
Set<E> |
getFillEdges()
Get the fill edges generated by the triangulation.
|
Map<Set<V>,Integer> |
getFullComponentCount()
Get a map to know for each separator how many components it produces.
|
List<V> |
getGenerators()
Get the generators of the separators of the triangulated graph, i.e.
|
Graph<V,E> |
getGraph()
Get the original graph.
|
LinkedList<V> |
getMeo()
Get the minimal elimination ordering produced by the triangulation.
|
Graph<V,E> |
getMinimalTriangulation()
Get the minimal triangulation of the graph.
|
Set<Set<V>> |
getSeparators()
Get the clique minimal separators.
|
boolean |
isChordal()
Check if the graph is chordal.
|
public CliqueMinimalSeparatorDecomposition(Graph<V,E> g)
g
. Loops and multiple (parallel) edges are removed, i.e. the graph is transformed to a
simple graph.g
- The graph to decompose.public boolean isChordal()
public Set<E> getFillEdges()
public Graph<V,E> getMinimalTriangulation()
public List<V> getGenerators()
public LinkedList<V> getMeo()
public Map<Set<V>,Integer> getFullComponentCount()
public Set<Set<V>> getAtoms()
public Set<Set<V>> getSeparators()
Copyright © 2019. All rights reserved.