BALL
1.4.79
|
#include <BALL/DATATYPE/GRAPH/treeWidth.h>
Classes | |
struct | FillInHeuristic |
class | GeneralLowerBoundAlgorithm |
Generic lower bound algorithm on graphs. More... | |
class | GreedyX |
class | MinorMinWidthCriterion |
class | MinorMinWidthReducer |
class | QuickBB |
class | TreeDecompositionBuilder |
Public Types | |
typedef boost::graph_traits < UndirectedGraph > ::vertex_descriptor | VertexType |
typedef boost::graph_traits < UndirectedGraph > ::adjacency_iterator | NeighbourIterator |
typedef boost::graph_traits < UndirectedGraph > ::vertex_iterator | VertexIterator |
typedef std::pair< std::vector < Size >, Size > | EliminationOrder |
typedef GeneralLowerBoundAlgorithm < MinorMinWidthCriterion, MinorMinWidthReducer > | MinorMinWidth |
typedef GreedyX< FillInHeuristic > | GreedyFillIn |
Definition at line 54 of file treeWidth.h.
typedef std::pair<std::vector<Size>, Size> BALL::TreeWidthImplementation< EditableGraph >::EliminationOrder |
An EliminationOrder is a permutation of vertices of a graph which can be used to build a Fill-In-Graph. The TreeDecomposition of such a graph is a minimal Tree-Decomposition of the source graph, if the elimination order is perfect. first is the permutation of vertices, second is the tree width of the Three-Decomposition of such a Fill-In graph
Definition at line 191 of file treeWidth.h.
typedef GreedyX<FillInHeuristic> BALL::TreeWidthImplementation< EditableGraph >::GreedyFillIn |
An upperbound heuristic which computes an EliminationOrder, which can build a tree decomposition, and a treewidth of a given graph. The basic idea is to add as few as possible edges into the FillInGraph, because this should reduce the treewidth of the FillInGraph. Nevertheless, it's just a heuristic, so there is no guarantee, that the treewidth is minimal.
BALL::GRAPH::UnconnectedGraphException | if called on unconnected graphs |
Definition at line 445 of file treeWidth.h.
typedef GeneralLowerBoundAlgorithm<MinorMinWidthCriterion, MinorMinWidthReducer> BALL::TreeWidthImplementation< EditableGraph >::MinorMinWidth |
Minor-Min-Width is a lowerbound algorithm for computing the treewidth. It contracts in each step a vertex u, which has minimum degree in graph, with a vertex v, which has a minimum degree in u's neighbourhood. The maximum of the minimum degrees is the lowerbound for the treewidth.
The basic idea behind this algorithm is:
BALL::GRAPH::UnconnectedGraphException | if called on unconnected graphs |
Definition at line 268 of file treeWidth.h.
typedef boost::graph_traits<UndirectedGraph>::adjacency_iterator BALL::TreeWidthImplementation< EditableGraph >::NeighbourIterator |
Definition at line 182 of file treeWidth.h.
typedef boost::graph_traits<UndirectedGraph>::vertex_iterator BALL::TreeWidthImplementation< EditableGraph >::VertexIterator |
Definition at line 183 of file treeWidth.h.
typedef boost::graph_traits<UndirectedGraph>::vertex_descriptor BALL::TreeWidthImplementation< EditableGraph >::VertexType |
Definition at line 181 of file treeWidth.h.