dlvhex  2.5.0
TestSetMinusNongroundNogoodBasedLearningAtom Class Reference
Inheritance diagram for TestSetMinusNongroundNogoodBasedLearningAtom:
Collaboration diagram for TestSetMinusNongroundNogoodBasedLearningAtom:

Public Member Functions

 TestSetMinusNongroundNogoodBasedLearningAtom ()
virtual void retrieve (const Query &query, Answer &answer, NogoodContainerPtr nogoods)
 Retrieve answer to a query (external computation happens here).

Detailed Description

Definition at line 1134 of file TestPlugin.cpp.


Constructor & Destructor Documentation


Member Function Documentation

virtual void TestSetMinusNongroundNogoodBasedLearningAtom::retrieve ( const Query query,
Answer answer,
NogoodContainerPtr  nogoods 
) [inline, virtual]

Retrieve answer to a query (external computation happens here).

This function implements the external atom computation with customized learning functions.

Answer tuples must conform to the content of the pattern tuple in Query:

  • they must contain the same number of terms as pattern
  • constants in pattern must match constants in answer tuples
  • variables in pattern must be replaced by constants in answer tuples

See also documentation of Query and Answer classes.

If both retrieve(const Query& query, Answer& answer) and retrieve(const Query& query, Answer& answer, NogoodContainerPtr nogoods) are overridden, the latter takes over precedence.

Parameters:
queryInput to the external source.
answerOutput of the external source.
nogoodsHere, nogoods learned from the external source can be added to prune the search space; see Nogood, NogoodContainer and ExternalLearningHelper.

Reimplemented from PluginAtom.

Definition at line 1151 of file TestPlugin.cpp.

References ProgramCtx::config, NogoodContainer::createLiteral(), PluginAtom::Query::ctx, DBGLOG, PluginAtom::Answer::get(), Configuration::getOption(), ExternalLearningHelper::getOutputAtom(), PluginAtom::getRegistry(), PluginAtom::Query::input, Nogood::insert(), PluginAtom::Query::interpretation, ID::MAINKIND_ATOM, ID::SUBKIND_ATOM_ORDINARYG, ID::SUBKIND_ATOM_ORDINARYN, and Atom::tuple.


The documentation for this class was generated from the following file: