OpenGM  2.3.x
Discrete Graphical Model Library
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
opengm::trws_base::SmoothingStrategy< GM, ACC > Class Template Referenceabstract

#include <smoothing_strategy.hxx>

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

Public Types

typedef ACC AccumulationType
 
typedef GM GraphicalModelType
 
typedef SmoothingParameters< ValueType > Parameter
 

Public Member Functions

 SmoothingStrategy (ValueType smoothingMultiplier, const Parameter &param=Parameter(), std::ostream &fout=std::cout)
 
virtual ~SmoothingStrategy ()
 
ValueType InitSmoothing (SmoothingBasedInference< GM, ACC > &smoothInference, ValueType primalBound, ValueType dualBound)
 
ValueType UpdateSmoothing (ValueType smoothingValue, ValueType primalBound, ValueType dualBound, ValueType smoothDualBound, ValueType smoothingDerivative, size_t iterationCounter)
 
bool SmoothingMustBeDecreased (ValueType smoothingValue, ValueType primalBound, ValueType dualBound, ValueType smoothDualBound, ValueType smoothingDerivative, size_t iterationCounter)
 
size_t getOracleCallsCounter () const
 
virtual ValueType SmoothingEstimateValue (ValueType primalBound, ValueType smoothDualBound, ValueType smoothingDerivative) const =0
 
ValueType getStartingSmoothing (ValueType primalBound, ValueType dualBound) const
 
ValueType getWorstCaseSmoothing () const
 

Static Public Member Functions

template<class DualDecompositionStorage >
static ValueType ComputeSmoothingMultiplier (const DualDecompositionStorage &storage)
 

Public Attributes

 OPENGM_GM_TYPE_TYPEDEFS
 

Protected Member Functions

ValueType _InitAdaptiveSmoothing (SmoothingBasedInference< GM, ACC > &smoothInference, ValueType primalBound, ValueType dualBound, ValueType initialSmoothing)
 

Protected Attributes

std::ostream & _fout
 
bool _initializationStage
 
ValueType _smoothingMultiplier
 
Parameter _parameters
 
size_t _oracleCallsCounter
 

Detailed Description

template<class GM, class ACC>
class opengm::trws_base::SmoothingStrategy< GM, ACC >

Definition at line 263 of file smoothing_strategy.hxx.

Member Typedef Documentation

template<class GM , class ACC >
typedef ACC opengm::trws_base::SmoothingStrategy< GM, ACC >::AccumulationType

Definition at line 266 of file smoothing_strategy.hxx.

template<class GM , class ACC >
typedef GM opengm::trws_base::SmoothingStrategy< GM, ACC >::GraphicalModelType

Definition at line 267 of file smoothing_strategy.hxx.

template<class GM , class ACC >
typedef SmoothingParameters<ValueType> opengm::trws_base::SmoothingStrategy< GM, ACC >::Parameter

Definition at line 269 of file smoothing_strategy.hxx.

Constructor & Destructor Documentation

template<class GM , class ACC >
opengm::trws_base::SmoothingStrategy< GM, ACC >::SmoothingStrategy ( ValueType  smoothingMultiplier,
const Parameter param = Parameter(),
std::ostream &  fout = std::cout 
)
inline

Definition at line 271 of file smoothing_strategy.hxx.

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

Definition at line 277 of file smoothing_strategy.hxx.

Member Function Documentation

template<class GM , class ACC >
SmoothingStrategy< GM, ACC >::ValueType opengm::trws_base::SmoothingStrategy< GM, ACC >::_InitAdaptiveSmoothing ( SmoothingBasedInference< GM, ACC > &  smoothInference,
ValueType  primalBound,
ValueType  dualBound,
ValueType  initialSmoothing 
)
protected

Definition at line 367 of file smoothing_strategy.hxx.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class GM , class ACC >
template<class DualDecompositionStorage >
static ValueType opengm::trws_base::SmoothingStrategy< GM, ACC >::ComputeSmoothingMultiplier ( const DualDecompositionStorage &  storage)
inlinestatic

Definition at line 318 of file smoothing_strategy.hxx.

+ Here is the caller graph for this function:

template<class GM , class ACC >
size_t opengm::trws_base::SmoothingStrategy< GM, ACC >::getOracleCallsCounter ( ) const
inline

Definition at line 334 of file smoothing_strategy.hxx.

template<class GM , class ACC >
ValueType opengm::trws_base::SmoothingStrategy< GM, ACC >::getStartingSmoothing ( ValueType  primalBound,
ValueType  dualBound 
) const
inline

Definition at line 341 of file smoothing_strategy.hxx.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class GM , class ACC >
ValueType opengm::trws_base::SmoothingStrategy< GM, ACC >::getWorstCaseSmoothing ( ) const
inline

Definition at line 349 of file smoothing_strategy.hxx.

+ Here is the caller graph for this function:

template<class GM , class ACC >
ValueType opengm::trws_base::SmoothingStrategy< GM, ACC >::InitSmoothing ( SmoothingBasedInference< GM, ACC > &  smoothInference,
ValueType  primalBound,
ValueType  dualBound 
)
inline

Definition at line 278 of file smoothing_strategy.hxx.

+ Here is the call graph for this function:

template<class GM , class ACC >
virtual ValueType opengm::trws_base::SmoothingStrategy< GM, ACC >::SmoothingEstimateValue ( ValueType  primalBound,
ValueType  smoothDualBound,
ValueType  smoothingDerivative 
) const
pure virtual
template<class GM , class ACC >
bool opengm::trws_base::SmoothingStrategy< GM, ACC >::SmoothingMustBeDecreased ( ValueType  smoothingValue,
ValueType  primalBound,
ValueType  dualBound,
ValueType  smoothDualBound,
ValueType  smoothingDerivative,
size_t  iterationCounter 
)
inline

Definition at line 302 of file smoothing_strategy.hxx.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class GM , class ACC >
ValueType opengm::trws_base::SmoothingStrategy< GM, ACC >::UpdateSmoothing ( ValueType  smoothingValue,
ValueType  primalBound,
ValueType  dualBound,
ValueType  smoothDualBound,
ValueType  smoothingDerivative,
size_t  iterationCounter 
)
inline

Definition at line 284 of file smoothing_strategy.hxx.

+ Here is the call graph for this function:

Member Data Documentation

template<class GM , class ACC >
std::ostream& opengm::trws_base::SmoothingStrategy< GM, ACC >::_fout
protected

Definition at line 358 of file smoothing_strategy.hxx.

template<class GM , class ACC >
bool opengm::trws_base::SmoothingStrategy< GM, ACC >::_initializationStage
protected

Definition at line 359 of file smoothing_strategy.hxx.

template<class GM , class ACC >
size_t opengm::trws_base::SmoothingStrategy< GM, ACC >::_oracleCallsCounter
protected

Definition at line 362 of file smoothing_strategy.hxx.

template<class GM , class ACC >
Parameter opengm::trws_base::SmoothingStrategy< GM, ACC >::_parameters
protected

Definition at line 361 of file smoothing_strategy.hxx.

template<class GM , class ACC >
ValueType opengm::trws_base::SmoothingStrategy< GM, ACC >::_smoothingMultiplier
protected

Definition at line 360 of file smoothing_strategy.hxx.

template<class GM , class ACC >
opengm::trws_base::SmoothingStrategy< GM, ACC >::OPENGM_GM_TYPE_TYPEDEFS

Definition at line 268 of file smoothing_strategy.hxx.