Skip to main content

GenomeLikelihood

Trait GenomeLikelihood 

Source
pub trait GenomeLikelihood<G>:
    Clone
    + Send
    + Sync
    + 'static {
    // Required method
    fn model(&self, genome: &G, beta: f64) -> Model<()>;
}
Expand description

An observation program p(data | genome), possibly tempered.

beta is the likelihood temperature. Implementations decide how it enters: FactorFitness scales its factor by β; observation models can use tempered_observe per datum (which reduces to a plain observe at β = 1). Callers on the SMC path always pass β = 1 — fugue’s adaptive tempering supplies β there, exactly once.

Required Methods§

Source

fn model(&self, genome: &G, beta: f64) -> Model<()>

The observation program conditioned on genome, at likelihood temperature beta.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl GenomeLikelihood<TreeGenome> for GaussianRegression

Source§

impl<G, F> GenomeLikelihood<G> for FactorFitness<F>
where F: Fitness<Genome = G, Value = f64> + Clone + Send + Sync + 'static, G: 'static,

Source§

impl<G, M> GenomeLikelihood<G> for ChebyshevScalarization<M>
where G: 'static, M: MultiObjectiveFitness<G> + Clone + Send + Sync + 'static,

Source§

impl<G, M> GenomeLikelihood<G> for ParetoScalarization<M>
where G: 'static, M: MultiObjectiveFitness<G> + Clone + Send + Sync + 'static,

Source§

impl<G: 'static> GenomeLikelihood<G> for NoLikelihood