pub trait Fitness: Send + Sync {
type Genome: EvolutionaryGenome;
type Value: FitnessValue;
// Required method
fn evaluate(&self, genome: &Self::Genome) -> Self::Value;
// Provided methods
fn as_log_likelihood(&self, genome: &Self::Genome, temperature: f64) -> f64 { ... }
fn gradient(&self, _genome: &Self::Genome) -> Option<Vec<f64>> { ... }
}Expand description
Fitness evaluation trait
Defines how to evaluate the fitness of a genome.
Required Associated Types§
Sourcetype Genome: EvolutionaryGenome
type Genome: EvolutionaryGenome
The genome type being evaluated
Sourcetype Value: FitnessValue
type Value: FitnessValue
The fitness value type
Required Methods§
Provided Methods§
Sourcefn as_log_likelihood(&self, genome: &Self::Genome, temperature: f64) -> f64
fn as_log_likelihood(&self, genome: &Self::Genome, temperature: f64) -> f64
Convert fitness to log-likelihood for probabilistic selection
Uses Boltzmann distribution: P(x) ∝ exp(f(x) / T)