dlvhex
2.5.0
|
Function templates related to Common Ancestor Units (CAUs). More...
#include "Logger.h"
#include "Printhelpers.h"
#include "EvalGraph.h"
#include "ModelGraph.h"
#include "ModelGenerator.h"
#include <boost/graph/depth_first_search.hpp>
#include <boost/graph/two_bit_color_map.hpp>
#include <boost/graph/reverse_graph.hpp>
Go to the source code of this file.
Data Structures | |
class | CAUAlgorithms::AncestryMarkingVisitor< Graph > |
class | CAUAlgorithms::RelevanceMarkingVisitor< Graph > |
Namespaces | |
namespace | CAUAlgorithms |
Function templates related to Common Ancestor Units (CAUs). | |
Typedefs | |
typedef std::set< int > | CAUAlgorithms::Ancestry |
typedef boost::vector_property_map < Ancestry > | CAUAlgorithms::AncestryPropertyMap |
Store for each eval unit the ancestry starting from some join. | |
typedef boost::vector_property_map < bool > | CAUAlgorithms::JoinRelevancePropertyMap |
Functions | |
template<typename EvalGraphT > | |
void | CAUAlgorithms::findCAUs (std::set< typename EvalGraphT::EvalUnit > &caus, const EvalGraphT &eg, typename EvalGraphT::EvalUnit u, AncestryPropertyMap &apm) |
Finds CAUs of a unit in an evaluation graph. | |
template<typename EvalGraphT > | |
void | CAUAlgorithms::findCAUs (std::set< typename EvalGraphT::EvalUnit > &caus, const EvalGraphT &eg, typename EvalGraphT::EvalUnit u) |
Finds CAUs of a unit in an evaluation graph. | |
DLVHEX_EXPORT void | CAUAlgorithms::logAPM (const AncestryPropertyMap &apm) |
Logs a given AncestryPropertyMap. | |
template<typename EvalGraphT > | |
void | CAUAlgorithms::initJoinRelevance (JoinRelevancePropertyMap &jr, const EvalGraphT &eg) |
Stores for each unit whether it is relevant for joining. | |
template<typename EvalGraphT > | |
void | CAUAlgorithms::markJoinRelevance (JoinRelevancePropertyMap &jr, const EvalGraphT &eg, typename EvalGraphT::EvalUnit u, const std::set< typename EvalGraphT::EvalUnit > &caus, const AncestryPropertyMap &apm) |
Given the results of findCAUs(caus, eg, u), mark all units between u and elements of caus as relevant (true), others as irrelevant (false) (do this by going from caus along a DFS through the reversed graph, marking everything that has an ancestry as relevant). | |
DLVHEX_EXPORT void | CAUAlgorithms::logJRPM (const JoinRelevancePropertyMap &jr) |
Function templates related to Common Ancestor Units (CAUs).
Definition in file CAUAlgorithms.h.