task_l0_actuators (faber_neuroevolution v1.2.4)
View SourceTask Silo L0 Actuators - Denormalizes and applies TWEANN outputs.
Part of the Liquid Conglomerate v2 architecture. This module takes the normalized output vector from the L0 TWEANN and converts it into actual evolution parameters that control the neuroevolution process.
Responsibilities
1. Convert TWEANN outputs (0.0-1.0) to evolution parameter ranges 2. Apply outputs to neuroevolution_server (evolution params) 3. Apply archive management outputs 4. Handle delta outputs (population_size_delta, compatibility_threshold_delta, archive_max_size_delta) 5. Track applied values for debugging/monitoring
Actuators (20 total)
Evolution actuators (1-12): - mutation_rate, mutation_strength, selection_ratio - add_node_rate, add_connection_rate, delete_connection_rate - weight_perturb_vs_replace, crossover_rate, interspecies_crossover_rate - elitism_count, population_size_delta, compatibility_threshold_delta
Layer-specific mutation actuators (13-16): - reservoir_mutation_rate: Hidden layer mutation probability - reservoir_mutation_strength: Hidden layer weight perturbation strength - readout_mutation_rate: Output layer mutation probability - readout_mutation_strength: Output layer weight perturbation strength
Self-play archive actuators (17-20): - archive_threshold_percentile: Entry threshold for adding to archive - archive_sampling_temperature: Opponent selection strategy (0=uniform, 1=fitness-weighted) - archive_prune_ratio: Keep top X% when pruning (0.5-1.0) - archive_max_size_delta: Adjust archive max size (-5 to +5)
Usage
%% Start the actuator controller {ok, Pid} = task_l0_actuators:start_link(Config),
%% Apply TWEANN output vector task_l0_actuators:apply_output_vector(OutputVector),
%% Get current actuator values Values = task_l0_actuators:get_actuator_values(), %% Returns: #{mutation_rate => 0.15, crossover_rate => 0.7, ...}
Summary
Functions
Apply TWEANN output vector (ordered list).
Apply TWEANN output vector (specific server).
Apply TWEANN outputs as a map.
Apply TWEANN outputs as a map (specific server).
Get current denormalized actuator values.
Get current denormalized actuator values (specific server).
Get evolution parameters ready for neuroevolution_server.
Get evolution parameters (specific server).
Get raw TWEANN outputs (before denormalization).
Get raw TWEANN outputs (specific server).
Start the actuator controller with default configuration.
Start the actuator controller with custom configuration.
Functions
-spec apply_output_vector([float()]) -> ok.
Apply TWEANN output vector (ordered list).
Apply TWEANN output vector (specific server).
-spec apply_outputs(map()) -> ok.
Apply TWEANN outputs as a map.
Apply TWEANN outputs as a map (specific server).
-spec get_actuator_values() -> map().
Get current denormalized actuator values.
Get current denormalized actuator values (specific server).
-spec get_evolution_params() -> map().
Get evolution parameters ready for neuroevolution_server.
Get evolution parameters (specific server).
-spec get_raw_outputs() -> [float()].
Get raw TWEANN outputs (before denormalization).
Get raw TWEANN outputs (specific server).
Start the actuator controller with default configuration.
Start the actuator controller with custom configuration.