MRPT logo

mrpt::bayes::CRejectionSamplingCapable< TStateSpace > Class Template Reference

A base class for implementing rejection sampling in a generic state space. More...

#include <mrpt/bayes/CRejectionSamplingCapable.h>

List of all members.

Public Types

typedef CProbabilityParticle
< TStateSpace > 
TParticle

Public Member Functions

virtual ~CRejectionSamplingCapable ()
 Virtual destructor.
void rejectionSampling (size_t desiredSamples, std::vector< TParticle > &outSamples, size_t timeoutTrials=1000)
 Generates a set of N independent samples via rejection sampling.

Protected Member Functions

virtual void RS_drawFromProposal (TStateSpace &outSample)=0
 Generates one sample, drawing from some proposal distribution.
virtual double RS_observationLikelihood (const TStateSpace &x)=0
 Returns the NORMALIZED observation likelihood (linear, not exponential!!!) at a given point of the state space (values in the range [0,1]).

Detailed Description

template<class TStateSpace>
class mrpt::bayes::CRejectionSamplingCapable< TStateSpace >

A base class for implementing rejection sampling in a generic state space.

See the main method CRejectionSamplingCapable::rejectionSampling To use this class, create your own class as a child of this one and implement the desired virtual methods, and add any required internal data.

Definition at line 45 of file CRejectionSamplingCapable.h.


Member Typedef Documentation

template<class TStateSpace>
typedef CProbabilityParticle<TStateSpace> mrpt::bayes::CRejectionSamplingCapable< TStateSpace >::TParticle

Definition at line 48 of file CRejectionSamplingCapable.h.


Constructor & Destructor Documentation

template<class TStateSpace>
virtual mrpt::bayes::CRejectionSamplingCapable< TStateSpace >::~CRejectionSamplingCapable (  )  [inline, virtual]

Virtual destructor.

Definition at line 52 of file CRejectionSamplingCapable.h.


Member Function Documentation

template<class TStateSpace>
void mrpt::bayes::CRejectionSamplingCapable< TStateSpace >::rejectionSampling ( size_t  desiredSamples,
std::vector< TParticle > &  outSamples,
size_t  timeoutTrials = 1000 
) [inline]

Generates a set of N independent samples via rejection sampling.

Parameters:
desiredSamples The number of desired samples to generate
outSamples The output samples.
timeoutTrials The maximum number of rejection trials for each generated sample (i.e. the maximum number of iterations). This can be used to set a limit to the time complexity of the algorithm for difficult probability densities. All will have equal importance weights (a property of rejection sampling), although those samples generated at timeout will have a different importance weights.

Definition at line 63 of file CRejectionSamplingCapable.h.

template<class TStateSpace>
virtual void mrpt::bayes::CRejectionSamplingCapable< TStateSpace >::RS_drawFromProposal ( TStateSpace &  outSample  )  [protected, pure virtual]

Generates one sample, drawing from some proposal distribution.

Implemented in mrpt::slam::CRejectionSamplingRangeOnlyLocalization.

Referenced by mrpt::bayes::CRejectionSamplingCapable< poses::CPose2D >::rejectionSampling().

template<class TStateSpace>
virtual double mrpt::bayes::CRejectionSamplingCapable< TStateSpace >::RS_observationLikelihood ( const TStateSpace &  x  )  [protected, pure virtual]

Returns the NORMALIZED observation likelihood (linear, not exponential!!!) at a given point of the state space (values in the range [0,1]).

Implemented in mrpt::slam::CRejectionSamplingRangeOnlyLocalization.

Referenced by mrpt::bayes::CRejectionSamplingCapable< poses::CPose2D >::rejectionSampling().




Page generated by Doxygen 1.6.1 for MRPT 0.7.1 SVN: at Tue Dec 22 08:29:35 CET 2009