![]() |
ProvSQL C/C++ API
Adding support for provenance and uncertainty management to PostgreSQL databases
|
Tree decomposition construction, manipulation, and I/O. More...
#include <cassert>#include <set>#include <algorithm>#include <string>#include <type_traits>#include "TreeDecomposition.h"#include "BooleanCircuit.h"#include "PermutationStrategy.h"#include "dDNNFTreeDecompositionBuilder.h"
Go to the source code of this file.
Functions | |
| std::istream & | operator>> (std::istream &in, TreeDecomposition &td) |
| Read a tree decomposition in PACE challenge format. | |
Tree decomposition construction, manipulation, and I/O.
Implements the TreeDecomposition class declared in TreeDecomposition.h:
TreeDecomposition(const BooleanCircuit&): constructs the tree decomposition of the circuit's primal graph using the min-fill elimination-ordering heuristic (PermutationStrategy). Throws TreeDecompositionException if the treewidth exceeds MAX_TREEWIDTH.TreeDecomposition(std::istream&): parses a PACE-format decomposition from a stream.makeFriendly(): restructures the tree into the friendly normal form expected by dDNNFTreeDecompositionBuilder.toDot(): GraphViz DOT string for visualising the tree.operator>>(): stream extraction in PACE format.The reroot() helper and addEmptyBag(), addGateToBag(), findGateConnection() are private utilities for tree restructuring.
Definition in file TreeDecomposition.cpp.
| std::istream & operator>> | ( | std::istream & | in, |
| TreeDecomposition & | td | ||
| ) |
Read a tree decomposition in PACE challenge format.
| in | Input stream. |
| td | Tree decomposition to populate. |
in. Definition at line 232 of file TreeDecomposition.cpp.