- Main Page
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# Mers::Generators::AssignmentGeneratorInterface Class Reference

`#include <AssignmentGeneratorInterface.h>`

Inheritance diagram for Mers::Generators::AssignmentGeneratorInterface:

[legend]
List of all members.

## Public Member Functions
| AssignmentGeneratorInterface ()
virtual | ~AssignmentGeneratorInterface ()
virtual void | addConflict (Mers::Models::Base::BaseModelAssignmentArray const *newConflict)=0
virtual void | addConflict (Mers::Models::Base::BaseModelAssignmentArray const &newConflict)=0
virtual void | addConflicts (Mers::Models::Base::BaseModelClauseArray const &newConflicts)=0
virtual Mers::Models::Base::BaseModelAssignmentArray const * | generateBestImplicant (long maximumVisitedStateCount, long maxSize, bool expand=true)=0
virtual void | markBestFeasible ()=0
virtual void | printStatistics (bool verbose=false) const =0
virtual void | setDebug (unsigned int state)
virtual void | restart ()=0
virtual void | reset ()=0
virtual unsigned int | getFullAssignmentSize ()=0
virtual double | getNumberOfSteps () const=0
## Protected Attributes
unsigned int | debug

## Detailed Description

Generic interface for an assignment generator.

Author:
  Paul H. Elliott

Definition at line 38 of file AssignmentGeneratorInterface.h.

## Member Function Documentation

virtual void Mers::Generators::AssignmentGeneratorInterface::addConflict | ( | Mers::Models::Base::BaseModelAssignmentArray const * | newConflict | ) | `[pure virtual]`

adds a conflict to this generator, preventing the generation of supersets of the conflict

Parameters:

  | newConflict | the new conflict being added

Implemented in Mers::Generators::BFIG::BFIGGenerator.

Referenced by Mers::Solvers::SAT::GATSAT::GATSAT::findSatisfyingSolution(), and Mers::Solvers::SAT::GATSAT::GATSAT::findUnsatisfyingSolution().

virtual void Mers::Generators::AssignmentGeneratorInterface::addConflict | ( | Mers::Models::Base::BaseModelAssignmentArray const & | newConflict | ) | `[pure virtual]`

adds a conflict to this generator, preventing the generation of supersets of the conflict

Parameters:

  | newConflict | the new conflict being added

Implemented in Mers::Generators::BFIG::BFIGGenerator.

virtual void Mers::Generators::AssignmentGeneratorInterface::addConflicts | ( | Mers::Models::Base::BaseModelClauseArray const & | newConflicts | ) | `[pure virtual]`

adds a list of conflicts to this generator, preventing the generation of supersets of any of the conflicts

Parameters:

  | newConflicts | the new conflicts being added

Implemented in Mers::Generators::BFIG::BFIGGenerator.

virtual Mers::Models::Base::BaseModelAssignmentArray const* Mers::Generators::AssignmentGeneratorInterface::generateBestImplicant | ( | long | maximumVisitedStateCount,
|  | long | maxSize,
|  | bool | expand = `true` |
| ) |  |  | `[pure virtual]`

generates the next best implicant to be tested by the SAT engine.

Parameters:

  | maximumVisitedStateCount | the maximum number of nodes that can be searched before giving up
  | maxSize | Maximum space (search elements) that can be stored at once (memory usage restriction)
  | expand | true if the generated state should be expanded to a full set of assignments or false if it can be returned as a partial list.

Returns:
  NULL if no implicant could be generated or the next (progressively) best implicant as compared to the one returned previously.

Implemented in Mers::Generators::BFIG::BFIGGenerator.

Referenced by Mers::Solvers::SAT::GATSAT::GATSAT::findSatisfyingSolution(), and Mers::Solvers::SAT::GATSAT::GATSAT::findUnsatisfyingSolution().

virtual void Mers::Generators::AssignmentGeneratorInterface::markBestFeasible | ( |  | ) | `[pure virtual]`

when called, sets the last returned implicant as a feasible solution to the problem being solved. No supersets of this implicant will be returned.

Implemented in Mers::Generators::BFIG::BFIGGenerator.

Referenced by Mers::Solvers::SAT::GATSAT::GATSAT::findSatisfyingSolution(), and Mers::Solvers::SAT::GATSAT::GATSAT::findUnsatisfyingSolution().

virtual void Mers::Generators::AssignmentGeneratorInterface::printStatistics | ( | bool | verbose = `false` | ) | const`[pure virtual]`

Prints out the performance statistics of the assignment generator

Parameters:

  | verbose | true if detailed statistics should be printed, otherwise only a summary is printed.

Implemented in Mers::Generators::BFIG::BFIGGenerator.

Referenced by Mers::Solvers::SAT::GATSAT::GATSAT::printStatistics().

virtual void Mers::Generators::AssignmentGeneratorInterface::setDebug | ( | unsigned int | state | ) | `[inline, virtual]`

sets the debug state of this generator

Parameters:

  | state | the new debug state of the generator

Reimplemented in Mers::Generators::BFIG::BFIGGenerator.

Definition at line 116 of file AssignmentGeneratorInterface.h.

References debug.

Referenced by Mers::Solvers::SAT::GATSAT::GATSAT::setDebug(), and Mers::Generators::BFIG::BFIGGenerator::setDebug().

virtual void Mers::Generators::AssignmentGeneratorInterface::restart | ( |  | ) | `[pure virtual]`

Resets the generation process back to the beginning while keeping all conflict and prune items.

Implemented in Mers::Generators::BFIG::BFIGGenerator.

virtual void Mers::Generators::AssignmentGeneratorInterface::reset | ( |  | ) | `[pure virtual]`

Restarts the generator, eliminating all conflict and prune data. This is effectively like recreating the generator on the same data, and is somewhat more efficient than deleting the generator and creating it again.

Implemented in Mers::Generators::BFIG::BFIGGenerator.

Referenced by Mers::Solvers::Entailment::GI::GoalInterpreter::generateGoalState().

virtual unsigned int Mers::Generators::AssignmentGeneratorInterface::getFullAssignmentSize | ( |  | ) | `[pure virtual]`

Returns the size of a candidate that represents a full assignment.

Returns:
  the number of assignments required to have a full assignment.

Implemented in Mers::Generators::BFIG::BFIGGenerator.

Referenced by Mers::Solvers::SAT::GATSAT::GATSAT::findSatisfyingSolution().

virtual double Mers::Generators::AssignmentGeneratorInterface::getNumberOfSteps | ( |  | ) | const`[pure virtual]`

Returns the number of steps taken by this interface towards solving the problem.

Implemented in Mers::Generators::BFIG::BFIGGenerator.

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

- /Users/fpy/titan-1-5-MBARI/Mers/Generators/AssignmentGeneratorInterface.h