This PR represents the changes we made to BLOG in the process of working on the PPAML SLAM challenge problem.
Main changes:
Add DontCare distribution. If a variable has this distribution, then its value must be provided as an observation.
Add IsotropicMultivarGaussian distribution. This is much faster than the built-in MultivarGaussian since the covariance matrix is const * identity.
Add ResampleMovePF, an inference engine for particle filtering with resample-move. The move step uses the built-in MHSampler to do MCMC on the particles. Includes example model resample-move.blog. See @cberzan's MS thesis for discussion.
Modify ParticleFilter to answer atemporal queries at every timestep, instead of just at the end. Probably need a flag to switch between these two behaviors.
The old SLAM model (using noisy GPS) is in src/main/java/ppaml_slam and src/main/scala/ppaml_slam. This should probably be moved into the ppaml-slam repo, instead of merging into the main BLOG repo, so I will not merge this PR at this time.
This PR represents the changes we made to BLOG in the process of working on the PPAML SLAM challenge problem.
Main changes:
DontCare
distribution. If a variable has this distribution, then its value must be provided as an observation.IsotropicMultivarGaussian
distribution. This is much faster than the built-inMultivarGaussian
since the covariance matrix is const * identity.ResampleMovePF
, an inference engine for particle filtering with resample-move. The move step uses the built-inMHSampler
to do MCMC on the particles. Includes example modelresample-move.blog
. See @cberzan's MS thesis for discussion.ParticleFilter
to answer atemporal queries at every timestep, instead of just at the end. Probably need a flag to switch between these two behaviors.The old SLAM model (using noisy GPS) is in
src/main/java/ppaml_slam
andsrc/main/scala/ppaml_slam
. This should probably be moved into the ppaml-slam repo, instead of merging into the main BLOG repo, so I will not merge this PR at this time.