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 28 of file CRejectionSamplingCapable.h.
#include <mrpt/bayes/CRejectionSamplingCapable.h>
Public Types | |
typedef CProbabilityParticle< TStateSpace > | TParticle |
Public Member Functions | |
virtual | ~CRejectionSamplingCapable () |
Virtual destructor. More... | |
void | rejectionSampling (size_t desiredSamples, std::vector< TParticle > &outSamples, size_t timeoutTrials=1000) |
Generates a set of N independent samples via rejection sampling. More... | |
Protected Member Functions | |
virtual void | RS_drawFromProposal (TStateSpace &outSample)=0 |
Generates one sample, drawing from some proposal distribution. More... | |
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]). More... | |
typedef CProbabilityParticle<TStateSpace> mrpt::bayes::CRejectionSamplingCapable< TStateSpace >::TParticle |
Definition at line 31 of file CRejectionSamplingCapable.h.
|
inlinevirtual |
Virtual destructor.
Definition at line 35 of file CRejectionSamplingCapable.h.
|
inline |
Generates a set of N independent samples via rejection sampling.
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 46 of file CRejectionSamplingCapable.h.
|
protectedpure virtual |
Generates one sample, drawing from some proposal distribution.
Implemented in mrpt::slam::CRejectionSamplingRangeOnlyLocalization.
Referenced by mrpt::bayes::CRejectionSamplingCapable< mrpt::poses::CPose2D >::rejectionSampling().
|
protectedpure 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< mrpt::poses::CPose2D >::rejectionSampling().
Page generated by Doxygen 1.8.14 for MRPT 1.5.7 Git: 5902e14cc Wed Apr 24 15:04:01 2019 +0200 at lun oct 28 01:39:17 CET 2019 |