|
dlvhex
2.1.0
|
This template provides a framework for building an evaluation graph. More...
#include <include/dlvhex2/EvalGraphBuilder.h>


This template provides a framework for building an evaluation graph.
It provides one modifier method createEvalUnit() for creating an evaluation unit; this method does all necessary checks.
All evaluation planning heuristics must use this builder for creating evaluation units and evaluation graphs.
Definition at line 61 of file EvalGraphBuilder.h.
Definition at line 69 of file EvalGraphBuilder.h.
typedef boost::bimaps::bimap< boost::bimaps::unordered_set_of<Component>, boost::bimaps::unordered_multiset_of<EvalUnit, identity > > EvalGraphBuilder::ComponentEvalUnitMapping [protected] |
Definition at line 105 of file EvalGraphBuilder.h.
| typedef boost::filtered_graph<ComponentGraph::Graph, UnusedEdgeFilter, UnusedVertexFilter> EvalGraphBuilder::ComponentGraphRest |
Definition at line 150 of file EvalGraphBuilder.h.
typedef ComponentGraph::ComponentInfo EvalGraphBuilder::ComponentInfo [protected] |
Definition at line 74 of file EvalGraphBuilder.h.
typedef ComponentGraph::ComponentSet EvalGraphBuilder::ComponentSet [protected] |
Definition at line 73 of file EvalGraphBuilder.h.
Definition at line 70 of file EvalGraphBuilder.h.
Definition at line 67 of file EvalGraphBuilder.h.
Definition at line 68 of file EvalGraphBuilder.h.
| DLVHEX_NAMESPACE_BEGIN EvalGraphBuilder::EvalGraphBuilder | ( | ProgramCtx & | ctx, |
| ComponentGraph & | cg, | ||
| EvalGraphT & | eg, | ||
| ASPSolverManager::SoftwareConfigurationPtr | externalEvalConfig | ||
| ) |
Definition at line 54 of file EvalGraphBuilder.cpp.
| EvalGraphBuilder::~EvalGraphBuilder | ( | ) | [virtual] |
Definition at line 70 of file EvalGraphBuilder.cpp.
| EvalGraphBuilder::BOOST_CONCEPT_ASSERT | ( | (boost::Convertible< Component, void * >) | ) | [protected] |
| EvalGraphBuilder::BOOST_CONCEPT_ASSERT | ( | (boost::Convertible< EvalUnit, unsigned >) | ) | [protected] |
| void EvalGraphBuilder::calculateNewEvalUnitInfos | ( | const ComponentSet & | comps, |
| const ComponentSet & | ccomps, | ||
| std::list< DependencyInfo > & | newUnitDependsOn, | ||
| ComponentInfo & | newUnitInfo | ||
| ) | [protected] |
Definition at line 111 of file EvalGraphBuilder.cpp.
References cg, ComponentGraph::ComponentInfo::componentIsMonotonic, DBGLOG, DBGLOG_INDENT, DBGLOG_SCOPE, ComponentGraph::ComponentInfo::disjunctiveHeads, ComponentGraph::ComponentInfo::fixedDomain, ComponentGraph::getDependencies(), ComponentGraph::ComponentInfo::innerConstraints, ComponentGraph::ComponentInfo::innerEatoms, ComponentGraph::ComponentInfo::innerEatomsNonmonotonic, ComponentGraph::ComponentInfo::innerRules, LOG, mapping, ComponentGraph::ComponentInfo::negationInCycles, ComponentGraph::ComponentInfo::outerEatoms, ComponentGraph::ComponentInfo::outerEatomsNonmonotonic, printrange(), ComponentGraph::propsOf(), ComponentGraph::ComponentInfo::sources, ComponentGraph::ComponentInfo::stratifiedLiterals, ComponentGraph::ComponentInfo::stronglySafeVariables, and ComponentGraph::targetOf().
Referenced by createEvalUnit().
| EvalGraphBuilder::EvalUnit EvalGraphBuilder::createEvalUnit | ( | const std::list< Component > & | comps, |
| const std::list< Component > & | ccomps | ||
| ) | [virtual] |
Reimplemented in DumpingEvalGraphBuilder.
Definition at line 262 of file EvalGraphBuilder.cpp.
References EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::addDependency(), EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::addUnit(), calculateNewEvalUnitInfos(), ProgramCtx::config, ctx, DBGLOG, EvalGraphBuilder::DependencyInfo::dependsOn, ComponentGraph::ComponentInfo::disjunctiveHeads, eg, externalEvalConfig, Configuration::getOption(), ComponentGraph::ComponentInfo::innerEatoms, ComponentGraph::ComponentInfo::innerEatomsNonmonotonic, LOG, LOG_SCOPE, mapping, ComponentGraph::ComponentInfo::negationInCycles, printrange(), and EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::propsOf().
Referenced by EvalHeuristicEasy::build(), EvalHeuristicTrivial::build(), EvalHeuristicOldDlvhex::build(), EvalHeuristicFromFile::build(), EvalHeuristicGreedy::build(), DumpingEvalGraphBuilder::createEvalUnit(), and evalheur::executeBuildCommands().
| const ComponentGraph& EvalGraphBuilder::getComponentGraph | ( | ) | const [inline] |
Definition at line 197 of file EvalGraphBuilder.h.
References cg.
Referenced by EvalHeuristicASP::build(), EvalHeuristicTrivial::build(), EvalHeuristicEasy::build(), EvalHeuristicOldDlvhex::build(), EvalHeuristicFromFile::build(), EvalHeuristicGreedy::build(), and evalheur::executeBuildCommands().
| const ComponentGraphRest& EvalGraphBuilder::getComponentGraphRest | ( | ) | const [inline] |
Definition at line 199 of file EvalGraphBuilder.h.
References cgrest.
Referenced by EvalHeuristicFromFile::build(), and DumpingEvalGraphBuilder::createEvalUnit().
| const EvalGraphT& EvalGraphBuilder::getEvalGraph | ( | ) | const [inline] |
Definition at line 195 of file EvalGraphBuilder.h.
References eg.
Definition at line 74 of file EvalGraphBuilder.cpp.
References ctx, and ProgramCtx::registry().
Referenced by EvalHeuristicASP::build().
const ComponentGraph& EvalGraphBuilder::cg [protected] |
Definition at line 159 of file EvalGraphBuilder.h.
Referenced by calculateNewEvalUnitInfos(), DumpingEvalGraphBuilder::createEvalUnit(), and getComponentGraph().
ComponentGraphRest EvalGraphBuilder::cgrest [protected] |
Definition at line 181 of file EvalGraphBuilder.h.
Referenced by DumpingEvalGraphBuilder::createEvalUnit(), and getComponentGraphRest().
ProgramCtx& EvalGraphBuilder::ctx [protected] |
Definition at line 157 of file EvalGraphBuilder.h.
Referenced by createEvalUnit(), and registry().
EvalGraphT& EvalGraphBuilder::eg [protected] |
Definition at line 161 of file EvalGraphBuilder.h.
Referenced by createEvalUnit(), and getEvalGraph().
Definition at line 163 of file EvalGraphBuilder.h.
Referenced by createEvalUnit().
ComponentEvalUnitMapping EvalGraphBuilder::mapping [protected] |
Definition at line 166 of file EvalGraphBuilder.h.
Referenced by calculateNewEvalUnitInfos(), and createEvalUnit().
UnusedEdgeFilter EvalGraphBuilder::unusedEdgeFilter [protected] |
Definition at line 172 of file EvalGraphBuilder.h.
Definition at line 173 of file EvalGraphBuilder.h.