pub struct SMCConfig {
pub resampling_method: ResamplingMethod,
pub ess_threshold: f64,
pub rejuvenation_steps: usize,
}Expand description
Configuration options for Sequential Monte Carlo.
This struct controls various aspects of the SMC algorithm, allowing fine-tuning of performance and accuracy trade-offs.
§Fields
resampling_method- Algorithm used for particle resamplingess_threshold- ESS threshold that triggers resampling (as fraction of N)rejuvenation_steps- Number of MCMC moves after resampling to increase diversity
§Examples
use fugue::*;
// Conservative configuration (less resampling, more rejuvenation)
let conservative_config = SMCConfig {
resampling_method: ResamplingMethod::Systematic,
ess_threshold: 0.2, // Resample when ESS < 20% of particles
rejuvenation_steps: 5, // 5 MCMC moves after resampling
};
// Aggressive configuration (frequent resampling, no rejuvenation)
let aggressive_config = SMCConfig {
resampling_method: ResamplingMethod::Systematic,
ess_threshold: 0.8, // Resample when ESS < 80% of particles
rejuvenation_steps: 0, // No rejuvenation
};Fields§
§resampling_method: ResamplingMethodAlgorithm used for particle resampling.
ess_threshold: f64ESS threshold that triggers resampling (as fraction of particle count).
rejuvenation_steps: usizeNumber of MCMC moves after resampling to increase diversity.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SMCConfig
impl RefUnwindSafe for SMCConfig
impl Send for SMCConfig
impl Sync for SMCConfig
impl Unpin for SMCConfig
impl UnwindSafe for SMCConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more