OpenGM  2.3.x
Discrete Graphical Model Library
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
opengm::AlphaExpansion< GM, INF > Class Template Reference

Alpha-Expansion Algorithm. More...

#include <alphaexpansion.hxx>

+ Inheritance diagram for opengm::AlphaExpansion< GM, INF >:
+ Collaboration diagram for opengm::AlphaExpansion< GM, INF >:

Classes

struct  Parameter
 

Public Types

typedef GM GraphicalModelType
 
typedef INF InferenceType
 
typedef INF::AccumulationType AccumulationType
 
typedef visitors::VerboseVisitor< AlphaExpansion< GM, INF > > VerboseVisitorType
 
typedef visitors::EmptyVisitor< AlphaExpansion< GM, INF > > EmptyVisitorType
 
typedef visitors::TimingVisitor< AlphaExpansion< GM, INF > > TimingVisitorType
 
- Public Types inherited from opengm::Inference< GM, INF::AccumulationType >
typedef GM GraphicalModelType
 
typedef INF::AccumulationType AccumulationType
 
typedef GraphicalModelType::LabelType LabelType
 
typedef GraphicalModelType::IndexType IndexType
 
typedef GraphicalModelType::ValueType ValueType
 
typedef GraphicalModelType::OperatorType OperatorType
 
typedef GraphicalModelType::FactorType FactorType
 
typedef GraphicalModelType::IndependentFactorType IndependentFactorType
 
typedef GraphicalModelType::FunctionIdentifier FunctionIdentifier
 

Public Member Functions

 AlphaExpansion (const GraphicalModelType &, Parameter para=Parameter())
 
std::string name () const
 
const GraphicalModelTypegraphicalModel () const
 
template<class StateIterator >
void setState (StateIterator, StateIterator)
 
InferenceTermination infer ()
 
void reset ()
 
template<class Visitor >
InferenceTermination infer (Visitor &visitor)
 
void setStartingPoint (typename std::vector< LabelType >::const_iterator)
 set initial labeling More...
 
InferenceTermination arg (std::vector< LabelType > &, const size_t=1) const
 output a solution More...
 
- Public Member Functions inherited from opengm::Inference< GM, INF::AccumulationType >
virtual ~Inference ()
 
virtual InferenceTermination args (std::vector< std::vector< LabelType > > &) const
 
virtual InferenceTermination marginal (const size_t, IndependentFactorType &) const
 output a solution for a marginal for a specific variable More...
 
virtual InferenceTermination factorMarginal (const size_t, IndependentFactorType &) const
 output a solution for a marginal for all variables connected to a factor More...
 
virtual ValueType bound () const
 return a bound on the solution More...
 
virtual ValueType value () const
 return the solution (value) More...
 
InferenceTermination constrainedOptimum (std::vector< IndexType > &, std::vector< LabelType > &, std::vector< LabelType > &) const
 
InferenceTermination modeFromMarginal (std::vector< LabelType > &) const
 
InferenceTermination modeFromFactorMarginal (std::vector< LabelType > &) const
 

Public Attributes

 OPENGM_GM_TYPE_TYPEDEFS
 

Detailed Description

template<class GM, class INF>
class opengm::AlphaExpansion< GM, INF >

Alpha-Expansion Algorithm.

Definition at line 13 of file alphaexpansion.hxx.

Member Typedef Documentation

template<class GM, class INF>
typedef INF::AccumulationType opengm::AlphaExpansion< GM, INF >::AccumulationType

Definition at line 19 of file alphaexpansion.hxx.

template<class GM, class INF>
typedef visitors::EmptyVisitor<AlphaExpansion<GM,INF> > opengm::AlphaExpansion< GM, INF >::EmptyVisitorType

Definition at line 22 of file alphaexpansion.hxx.

template<class GM, class INF>
typedef GM opengm::AlphaExpansion< GM, INF >::GraphicalModelType

Definition at line 17 of file alphaexpansion.hxx.

template<class GM, class INF>
typedef INF opengm::AlphaExpansion< GM, INF >::InferenceType

Definition at line 18 of file alphaexpansion.hxx.

template<class GM, class INF>
typedef visitors::TimingVisitor<AlphaExpansion<GM,INF> > opengm::AlphaExpansion< GM, INF >::TimingVisitorType

Definition at line 23 of file alphaexpansion.hxx.

template<class GM, class INF>
typedef visitors::VerboseVisitor<AlphaExpansion<GM,INF> > opengm::AlphaExpansion< GM, INF >::VerboseVisitorType

Definition at line 21 of file alphaexpansion.hxx.

Constructor & Destructor Documentation

template<class GM , class INF >
opengm::AlphaExpansion< GM, INF >::AlphaExpansion ( const GraphicalModelType gm,
Parameter  para = Parameter() 
)
inline

Definition at line 129 of file alphaexpansion.hxx.

Member Function Documentation

template<class GM , class INF >
InferenceTermination opengm::AlphaExpansion< GM, INF >::arg ( std::vector< LabelType > &  ,
const size_t  = 1 
) const
inlinevirtual

output a solution

Parameters
[out]arglabeling
argIndexsolution index (1=best, 2=second best, etc.)

Reimplemented from opengm::Inference< GM, INF::AccumulationType >.

Definition at line 377 of file alphaexpansion.hxx.

template<class GM , class INF >
const AlphaExpansion< GM, INF >::GraphicalModelType & opengm::AlphaExpansion< GM, INF >::graphicalModel ( ) const
inlinevirtual

Implements opengm::Inference< GM, INF::AccumulationType >.

Definition at line 95 of file alphaexpansion.hxx.

template<class GM , class INF >
InferenceTermination opengm::AlphaExpansion< GM, INF >::infer ( )
inlinevirtual
template<class GM , class INF >
template<class Visitor >
InferenceTermination opengm::AlphaExpansion< GM, INF >::infer ( Visitor &  visitor)

Definition at line 263 of file alphaexpansion.hxx.

template<class GM , class INF >
std::string opengm::AlphaExpansion< GM, INF >::name ( ) const
inlinevirtual

Implements opengm::Inference< GM, INF::AccumulationType >.

Definition at line 88 of file alphaexpansion.hxx.

template<class GM , class INF >
void opengm::AlphaExpansion< GM, INF >::reset ( )
inline

Definition at line 183 of file alphaexpansion.hxx.

template<class GM, class INF>
void opengm::AlphaExpansion< GM, INF >::setStartingPoint ( typename std::vector< LabelType >::const_iterator  )
inlinevirtual

set initial labeling

Parameters
beginiterator to the beginning of a sequence of labels

Reimplemented from opengm::Inference< GM, INF::AccumulationType >.

Definition at line 115 of file alphaexpansion.hxx.

template<class GM , class INF >
template<class StateIterator >
void opengm::AlphaExpansion< GM, INF >::setState ( StateIterator  begin,
StateIterator  end 
)
inline

Definition at line 104 of file alphaexpansion.hxx.

Member Data Documentation

template<class GM, class INF>
opengm::AlphaExpansion< GM, INF >::OPENGM_GM_TYPE_TYPEDEFS

Definition at line 20 of file alphaexpansion.hxx.