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

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

# Mers::Generators::BFIG::BFIGImplicantNoMPI Class Reference

`#include <BFIGImplicantNoMPI.h>`

Inheritance diagram for Mers::Generators::BFIG::BFIGImplicantNoMPI:

[legend]
Collaboration diagram for Mers::Generators::BFIG::BFIGImplicantNoMPI:

[legend]
List of all members.

## Public Member Functions
| BFIGImplicantNoMPI (const BFIGImplicant &i)
| BFIGImplicantNoMPI (std::vector< BFIGConstraint const * > const &unentailedConflictsList, BFIGObjectiveFunction const *of=NULL)
virtual | ~BFIGImplicantNoMPI ()
virtual double | getBestCost () const
virtual double | getTrueCost () const
virtual std::vector< BFIGImplicant * > | generateChildren (std::vector< BFIGVariable * > const *varSet=NULL)
virtual BFIGImplicant * | generateSibling ()
virtual void | updateBestCost ()
| This function should never be called.
## Protected Member Functions
| BFIGImplicantNoMPI (BFIGImplicant const *i, BFIGAssignment const *extraAssignment)
| BFIGImplicantNoMPI (BFIGImplicant *i, BFIGAssignment const *extraAssignment, std::vector< BFIGAssignment const * > siblingAssigns)
## Friends
std::ostream & | operator<< (std::ostream &, BFIGImplicantNoMPI const &)

## Detailed Description

An implicant is a partial set of assignments of values to design variables. An implicant that does assigns a value to a proper subset of the design variables is a "partial implicant". Unassigned design variables in a partial implicant are treated as "don't cares". Partial implicants may be expanded to produce other partial implicants or full implicants (all design vars have a value assigned).

This implicant class is derived from a base implicant class that current assumes that the objective function for the OCSP being solved is MPI. This implicant class assumes No MPI and expands all of the children of each node instead of the next most likely one.

Definition at line 46 of file BFIGImplicantNoMPI.h.

## Constructor & Destructor Documentation

BFIGImplicantNoMPI::~BFIGImplicantNoMPI | ( |  | ) | `[virtual]`

This

Definition at line 59 of file BFIGImplicantNoMPI.cpp.

## Member Function Documentation

double BFIGImplicantNoMPI::getBestCost | ( |  | ) | const`[virtual]`

Returns the cost of the implicant based on the objective function. The costs are the negative log probabilities. getBestCost and getTrueCost are identical.

Returns:
  the cost of the implicant

Reimplemented from Mers::Generators::BFIG::BFIGImplicant.

Definition at line 128 of file BFIGImplicantNoMPI.cpp.

References Mers::Generators::BFIG::BFIGImplicant::bestCost.

Referenced by Mers::Generators::BFIG::operator<<().

double BFIGImplicantNoMPI::getTrueCost | ( |  | ) | const`[virtual]`

Returns the cost of the implicant based on the objective function. The costs are the negative log probabilities. getBestCost and getTrueCost are identical.

Returns:
  the cost of the implicant

Reimplemented from Mers::Generators::BFIG::BFIGImplicant.

Definition at line 136 of file BFIGImplicantNoMPI.cpp.

References Mers::Generators::BFIG::BFIGImplicant::bestCost.

virtual std::vector<BFIGImplicant *> Mers::Generators::BFIG::BFIGImplicantNoMPI::generateChildren | ( | std::vector< BFIGVariable * > const * | varSet = `NULL` | ) | `[virtual]`

Generates all child extensions to the implicant to cover the current conflicts. If varSet is given, it will be used to generate extensions beyond those needed to cover conflicts, should all the conflicts already be covered.

Parameters:

  | varSet | The set of variable to use to extend this implicant.

Returns:
  a vector of all of the children of this impicant which cover this impicant's conflicts.

Reimplemented from Mers::Generators::BFIG::BFIGImplicant.

BFIGImplicant * BFIGImplicantNoMPI::generateSibling | ( |  | ) | `[virtual]`

Generates and returns the sibling of this implicant, if any.

Returns:
  the next sibling of this implicant, if any. If there are none, then NULL is returned.

Reimplemented from Mers::Generators::BFIG::BFIGImplicant.

Definition at line 229 of file BFIGImplicantNoMPI.cpp.

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

- /Users/fpy/titan-1-5-MBARI/Mers/Generators/BFIG/BFIGImplicantNoMPI.h
- /Users/fpy/titan-1-5-MBARI/Mers/Generators/BFIG/BFIGImplicantNoMPI.cpp