neuroevolution_stats (faber_neuroevolution v1.2.4)
View SourceStatistics calculation for neuroevolution.
This module provides utility functions for calculating population statistics such as average, min, max fitness, and standard deviation.
Summary
Functions
Calculate average fitness of a population.
Calculate standard deviation of fitness.
Find maximum fitness in a population.
Find minimum fitness in a population.
Generate a summary of population statistics.
Types
-type fitness() :: float() | undefined.
-type generation() :: non_neg_integer().
-type genome() :: #genome{connection_genes :: [#connection_gene{innovation :: pos_integer() | undefined, from_id :: term(), to_id :: term(), weight :: float(), enabled :: boolean()}], input_count :: non_neg_integer(), hidden_count :: non_neg_integer(), output_count :: non_neg_integer()}.
-type individual() :: #individual{id :: individual_id(), network :: network(), genome :: genome() | undefined, parent1_id :: individual_id() | undefined, parent2_id :: individual_id() | undefined, fitness :: fitness(), metrics :: metrics(), generation_born :: generation(), birth_evaluation :: non_neg_integer(), max_age :: pos_integer(), is_survivor :: boolean(), is_offspring :: boolean()}.
-type individual_id() :: term().
-type metrics() :: map().
-type network() :: term().
Functions
-spec avg_fitness(Population) -> AvgFitness when Population :: [individual()], AvgFitness :: float().
Calculate average fitness of a population.
-spec fitness_std_dev(Population) -> StdDev when Population :: [individual()], StdDev :: float().
Calculate standard deviation of fitness.
-spec max_fitness(Population) -> MaxFitness when Population :: [individual()], MaxFitness :: float().
Find maximum fitness in a population.
-spec min_fitness(Population) -> MinFitness when Population :: [individual()], MinFitness :: float().
Find minimum fitness in a population.
-spec population_summary(Population) -> Summary when Population :: [individual()], Summary :: map().
Generate a summary of population statistics.
Uses tweann_nif:fitness_stats/1 for NIF-accelerated computation of min, max, mean, and std_dev in a single pass when available.