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

#include <lp_reparametrization.hxx>

+ Inheritance diagram for opengm::LPReparametrizer< GM, ACC >:
+ Collaboration diagram for opengm::LPReparametrizer< GM, ACC >:

Public Types

typedef GM GraphicalModelType
 
typedef GraphicalModelType::ValueType ValueType
 
typedef GraphicalModelType::IndexType IndexType
 
typedef GraphicalModelType::LabelType LabelType
 
typedef std::vector< boolMaskType
 
typedef std::vector< MaskTypeImmovableLabelingType
 
typedef LPReparametrisationStorage< GM > RepaStorageType
 
typedef opengm::GraphicalModel< ValueType, opengm::Adder, opengm::ReparametrizationView< GM, RepaStorageType >, opengm::DiscreteSpace< IndexType, LabelType > > ReparametrizedGMType
 
typedef LPReparametrizer_Parameter Parameter
 

Public Member Functions

 LPReparametrizer (const GM &gm)
 
virtual ~LPReparametrizer ()
 
RepaStorageTypeReparametrization ()
 
virtual void getArcConsistency (std::vector< bool > *pmask, std::vector< LabelType > *plabeling, IndexType modelorder=2)
 
virtual void reparametrize (const MaskType *pmask=0)
 
void reparametrize (const ImmovableLabelingType &immovableLabeling)
 
virtual void getReparametrizedModel (ReparametrizedGMType &gm) const
 
const GM & graphicalModel () const
 

Detailed Description

template<class GM, class ACC>
class opengm::LPReparametrizer< GM, ACC >

Definition at line 282 of file lp_reparametrization.hxx.

Member Typedef Documentation

template<class GM, class ACC>
typedef GM opengm::LPReparametrizer< GM, ACC >::GraphicalModelType

Definition at line 285 of file lp_reparametrization.hxx.

template<class GM, class ACC>
typedef std::vector<MaskType> opengm::LPReparametrizer< GM, ACC >::ImmovableLabelingType

Definition at line 290 of file lp_reparametrization.hxx.

template<class GM, class ACC>
typedef GraphicalModelType::IndexType opengm::LPReparametrizer< GM, ACC >::IndexType

Definition at line 287 of file lp_reparametrization.hxx.

template<class GM, class ACC>
typedef GraphicalModelType::LabelType opengm::LPReparametrizer< GM, ACC >::LabelType

Definition at line 288 of file lp_reparametrization.hxx.

template<class GM, class ACC>
typedef std::vector<bool> opengm::LPReparametrizer< GM, ACC >::MaskType

Definition at line 289 of file lp_reparametrization.hxx.

template<class GM, class ACC>
typedef LPReparametrizer_Parameter opengm::LPReparametrizer< GM, ACC >::Parameter

Definition at line 294 of file lp_reparametrization.hxx.

Definition at line 293 of file lp_reparametrization.hxx.

template<class GM, class ACC>
typedef LPReparametrisationStorage<GM> opengm::LPReparametrizer< GM, ACC >::RepaStorageType

Definition at line 291 of file lp_reparametrization.hxx.

template<class GM, class ACC>
typedef GraphicalModelType::ValueType opengm::LPReparametrizer< GM, ACC >::ValueType

Definition at line 286 of file lp_reparametrization.hxx.

Constructor & Destructor Documentation

template<class GM, class ACC>
opengm::LPReparametrizer< GM, ACC >::LPReparametrizer ( const GM &  gm)
inline

Definition at line 296 of file lp_reparametrization.hxx.

template<class GM, class ACC>
virtual opengm::LPReparametrizer< GM, ACC >::~LPReparametrizer ( )
inlinevirtual

Definition at line 297 of file lp_reparametrization.hxx.

Member Function Documentation

template<class GM , class ACC >
void opengm::LPReparametrizer< GM, ACC >::getArcConsistency ( std::vector< bool > *  pmask,
std::vector< LabelType > *  plabeling,
IndexType  modelorder = 2 
)
virtual

for (all factors) compute optimal values and labels (label sequences) create the list of unary factors; find optimal label for each variable

for (unary factors and the optimal label) { for (each NON-nary factor) if NOT (locally optimal labels form an eps-optimal factor value or the optimal label produces THE (very) optimal factor value) mark the node as NON-consistent }

only higher order factors are considered

>find the place of the variable

>if the label belongs to the optimal configuration of the factor

if it is connected to other optimal labels with eps-optimal hyperedge

else

Definition at line 325 of file lp_reparametrization.hxx.

+ Here is the call graph for this function:

template<class GM , class ACC >
void opengm::LPReparametrizer< GM, ACC >::getReparametrizedModel ( ReparametrizedGMType gm) const
virtual

Definition at line 311 of file lp_reparametrization.hxx.

+ Here is the call graph for this function:

template<class GM, class ACC>
const GM& opengm::LPReparametrizer< GM, ACC >::graphicalModel ( ) const
inline

Definition at line 304 of file lp_reparametrization.hxx.

template<class GM, class ACC>
RepaStorageType& opengm::LPReparametrizer< GM, ACC >::Reparametrization ( )
inline

Definition at line 298 of file lp_reparametrization.hxx.

+ Here is the caller graph for this function:

template<class GM, class ACC>
virtual void opengm::LPReparametrizer< GM, ACC >::reparametrize ( const MaskType pmask = 0)
inlinevirtual

Reimplemented in opengm::TRWS_Reparametrizer< Storage, ACC >.

Definition at line 301 of file lp_reparametrization.hxx.

template<class GM, class ACC>
void opengm::LPReparametrizer< GM, ACC >::reparametrize ( const ImmovableLabelingType immovableLabeling)
inline

Definition at line 302 of file lp_reparametrization.hxx.