dlvhex
2.5.0
|
Implements meta information about components. More...
#include <include/dlvhex2/ComponentGraph.h>
Public Member Functions | |
ComponentInfo () | |
Constructor. | |
std::ostream & | print (std::ostream &o) const |
Data Fields | |
std::list< DependencyGraph::Node > | sources |
List of nodes. | |
std::vector< ID > | outerEatoms |
Outer external atoms in the component, i.e., external atoms which do not depend on atoms defined in this component. | |
std::vector< ID > | innerRules |
Inner rules in the component (except constraints), i.e., rules which may cyclically depend on atoms defined in this component. | |
std::vector< ID > | innerEatoms |
Inner external atoms in the component, i.e., external atoms which cyclically depend on atoms defined in this component. | |
std::vector< ID > | innerConstraints |
Inner constraints in the component, i.e., rules which may cyclically depend on atoms defined in this component. | |
boost::unordered_map< ID, std::set< ID > > | stronglySafeVariables |
Stores for each rule the set of strongly safe variables in the rule. | |
boost::unordered_map< ID, std::set< ID > > | stratifiedLiterals |
Stores for each rule the set of stratified literals in the rule, i.e., which do not depend on atoms derived in the component. | |
std::set< ID > | predicatesDefinedInComponent |
Set of all predicates defined in the component. | |
std::set< ID > | predicatesOccurringInComponent |
Set of all predicates occurring in the component. | |
bool | disjunctiveHeads |
Component contains disjunctive heads. | |
bool | negativeDependencyBetweenRules |
Component contains negative dependencies between rules. | |
bool | innerEatomsNonmonotonic |
Component contains nonmonotonic inner external atoms. | |
bool | outerEatomsNonmonotonic |
Component contains nonmonotonic outer external atoms. | |
bool | componentIsMonotonic |
Component is purely monotonic. | |
bool | fixedDomain |
Component does not make use of value invention. | |
bool | recursiveAggregates |
Component contains recursive aggregates. |
Implements meta information about components.
Definition at line 79 of file ComponentGraph.h.
ComponentGraph::ComponentInfo::ComponentInfo | ( | ) | [inline] |
Constructor.
Definition at line 123 of file ComponentGraph.h.
std::ostream & ComponentGraph::ComponentInfo::print | ( | std::ostream & | o | ) | const |
Definition at line 86 of file ComponentGraph.cpp.
References printrange().
Component is purely monotonic.
Definition at line 116 of file ComponentGraph.h.
Referenced by ComponentGraph::calculateComponents(), and ComponentGraph::computeCollapsedComponentInfos().
Component contains disjunctive heads.
Definition at line 108 of file ComponentGraph.h.
Referenced by ComponentGraph::calculateComponents(), ComponentGraph::computeCollapsedComponentInfos(), EvalGraphBuilder::createEvalUnit(), GenuineGuessAndCheckModelGenerator::GenuineGuessAndCheckModelGenerator(), GuessAndCheckModelGenerator::GuessAndCheckModelGenerator(), EvalHeuristicGreedy::mergeComponents(), and ComponentGraph::writeGraphVizComponentLabel().
Component does not make use of value invention.
Definition at line 118 of file ComponentGraph.h.
Referenced by ComponentGraph::calculateComponents(), ComponentGraph::computeCollapsedComponentInfos(), EvalHeuristicGreedy::mergeComponents(), and ComponentGraph::writeGraphVizComponentLabel().
std::vector<ID> ComponentGraph::ComponentInfo::innerConstraints |
Inner constraints in the component, i.e., rules which may cyclically depend on atoms defined in this component.
Definition at line 95 of file ComponentGraph.h.
Referenced by DLVHEX_NAMESPACE_BEGIN::EvalHeuristicFromHEXSourcecode::build(), ComponentGraph::calculateComponents(), ComponentGraph::calculateFixedDomain(), ComponentGraph::calculatePredicatesOfComponent(), ComponentGraph::computeCollapsedComponentInfos(), GenuineGuessAndCheckModelGeneratorFactory::GenuineGuessAndCheckModelGeneratorFactory(), GenuinePlainModelGeneratorFactory::GenuinePlainModelGeneratorFactory(), GenuineWellfoundedModelGeneratorFactory::GenuineWellfoundedModelGeneratorFactory(), PlainModelGeneratorFactory::PlainModelGeneratorFactory(), DLVHEX_NAMESPACE_BEGIN::EvalHeuristicFromHEXSourcecode::preprocessComponents(), WellfoundedModelGeneratorFactory::WellfoundedModelGeneratorFactory(), and ComponentGraph::writeGraphVizComponentLabel().
std::vector<ID> ComponentGraph::ComponentInfo::innerEatoms |
Inner external atoms in the component, i.e., external atoms which cyclically depend on atoms defined in this component.
Definition at line 93 of file ComponentGraph.h.
Referenced by ComponentGraph::calculateComponents(), ComponentGraph::computeCollapsedComponentInfos(), EvalGraphBuilder::createEvalUnit(), GenuineGuessAndCheckModelGeneratorFactory::GenuineGuessAndCheckModelGeneratorFactory(), GenuinePlainModelGeneratorFactory::GenuinePlainModelGeneratorFactory(), EvalHeuristicGreedy::mergeComponents(), StrongSafetyChecker::operator()(), PlainModelGeneratorFactory::PlainModelGeneratorFactory(), and ComponentGraph::writeGraphVizComponentLabel().
Component contains nonmonotonic inner external atoms.
Definition at line 112 of file ComponentGraph.h.
Referenced by ComponentGraph::calculateComponents(), ComponentGraph::computeCollapsedComponentInfos(), EvalGraphBuilder::createEvalUnit(), EvalHeuristicGreedy::mergeComponents(), and ComponentGraph::writeGraphVizComponentLabel().
std::vector<ID> ComponentGraph::ComponentInfo::innerRules |
Inner rules in the component (except constraints), i.e., rules which may cyclically depend on atoms defined in this component.
Definition at line 91 of file ComponentGraph.h.
Referenced by EvalHeuristicEasy::build(), DLVHEX_NAMESPACE_BEGIN::EvalHeuristicFromHEXSourcecode::build(), ComponentGraph::calculateComponents(), ComponentGraph::calculateFixedDomain(), ComponentGraph::calculatePredicatesOfComponent(), ComponentGraph::calculateStratificationInfo(), ComponentGraph::computeCollapsedComponentInfos(), ComponentGraph::computeRecursiveAggregatesInComponent(), GenuineGuessAndCheckModelGeneratorFactory::GenuineGuessAndCheckModelGeneratorFactory(), GenuinePlainModelGeneratorFactory::GenuinePlainModelGeneratorFactory(), GenuineWellfoundedModelGeneratorFactory::GenuineWellfoundedModelGeneratorFactory(), StrongSafetyChecker::operator()(), PlainModelGeneratorFactory::PlainModelGeneratorFactory(), DLVHEX_NAMESPACE_BEGIN::EvalHeuristicFromHEXSourcecode::preprocessComponents(), WellfoundedModelGeneratorFactory::WellfoundedModelGeneratorFactory(), and ComponentGraph::writeGraphVizComponentLabel().
Component contains negative dependencies between rules.
Definition at line 110 of file ComponentGraph.h.
Referenced by ComponentGraph::calculateComponents(), ComponentGraph::computeCollapsedComponentInfos(), EvalGraphBuilder::createEvalUnit(), EvalHeuristicGreedy::mergeComponents(), and ComponentGraph::writeGraphVizComponentLabel().
std::vector<ID> ComponentGraph::ComponentInfo::outerEatoms |
Outer external atoms in the component, i.e., external atoms which do not depend on atoms defined in this component.
Definition at line 88 of file ComponentGraph.h.
Referenced by EvalHeuristicEasy::build(), EvalHeuristicOldDlvhex::build(), EvalHeuristicGreedy::build(), ComponentGraph::calculateComponents(), ComponentGraph::calculateFixedDomain(), ComponentGraph::computeCollapsedComponentInfos(), EvalHeuristicGreedy::mergeComponents(), and ComponentGraph::writeGraphVizComponentLabel().
Component contains nonmonotonic outer external atoms.
Definition at line 114 of file ComponentGraph.h.
Referenced by ComponentGraph::calculateComponents(), ComponentGraph::computeCollapsedComponentInfos(), and ComponentGraph::writeGraphVizComponentLabel().
Set of all predicates defined in the component.
Definition at line 101 of file ComponentGraph.h.
Referenced by ComponentGraph::calculateStratificationInfo(), ComponentGraph::computeCollapsedComponentInfos(), BaseModelGenerator::computeExtensionOfDomainPredicates(), and GenuineGuessAndCheckModelGenerator::initializeExplanationAtoms().
Set of all predicates occurring in the component.
Definition at line 103 of file ComponentGraph.h.
Referenced by ComponentGraph::calculatePredicatesOfComponent(), ComponentGraph::computeCollapsedComponentInfos(), and GenuineGuessAndCheckModelGenerator::initializeExplanationAtoms().
Component contains recursive aggregates.
Definition at line 120 of file ComponentGraph.h.
Referenced by ComponentGraph::calculateComponents(), ComponentGraph::computeCollapsedComponentInfos(), EvalGraphBuilder::createEvalUnit(), and ComponentGraph::writeGraphVizComponentLabel().
List of nodes.
Definition at line 84 of file ComponentGraph.h.
Referenced by ComponentGraph::calculateComponents(), ComponentGraph::computeCollapsedComponentInfos(), and ComponentGraph::writeGraphVizComponentLabel().
boost::unordered_map<ID, std::set<ID> > ComponentGraph::ComponentInfo::stratifiedLiterals |
Stores for each rule the set of stratified literals in the rule, i.e., which do not depend on atoms derived in the component.
Definition at line 99 of file ComponentGraph.h.
Referenced by BaseModelGeneratorFactory::addDomainPredicatesAndCreateDomainExplorationProgram(), ComponentGraph::calculateFixedDomain(), and ComponentGraph::calculateStratificationInfo().
boost::unordered_map<ID, std::set<ID> > ComponentGraph::ComponentInfo::stronglySafeVariables |
Stores for each rule the set of strongly safe variables in the rule.
Definition at line 97 of file ComponentGraph.h.
Referenced by ComponentGraph::calculateFixedDomain(), and ComponentGraph::computeCollapsedComponentInfos().