task_silo (faber_neuroevolution v1.2.4)
View SourceTask Silo - Evolution optimization controller for neuroevolution.
Part of the Liquid Conglomerate v2 architecture. The Task Silo optimizes evolution hyperparameters to maximize fitness improvement.
Hierarchical Levels
- L0 (Defaults): Safe starting parameters - ALWAYS ACTIVE - L1 (Tactical): Per-generation adjustments based on recent fitness - L2 (Strategic): Multi-generation learning via LTC network (future)
Time Constant
τ = 50 (slow adaptation for stable evolution)
Usage
%% Start task silo {ok, Pid} = task_silo:start_link(#{ enabled_levels => [l0, l1], stagnation_threshold => 5 }),
%% Get recommended parameters after a generation Stats = #{best_fitness => 0.85, improvement => 0.02, stagnation => 0}, #{mutation_rate := MR} = task_silo:get_recommendations(Pid, Stats).
Summary
Functions
Get recommendations from the registered server using cached state.
Get recommended parameters based on current evolution state.
Get current silo state for debugging/monitoring.
Reset the silo state (for new training session).
Set which levels are enabled.
Set L2 guidance from meta_controller.
Start the task silo with default configuration.
Start the task silo with custom configuration.
Update internal state with generation statistics.
Types
-type l2_guidance() :: #l2_guidance{aggression_factor :: float(), exploration_step :: float(), stagnation_sensitivity :: float(), topology_aggression :: float(), exploitation_weight :: float(), adaptation_momentum :: float(), warning_threshold :: float(), intervention_threshold :: float(), critical_threshold :: float(), velocity_window_size :: pos_integer(), memory_high_threshold :: float(), memory_critical_threshold :: float(), cpu_high_threshold :: float(), pressure_scale_factor :: float(), min_scale_factor :: float(), pressure_change_threshold :: float(), generation :: non_neg_integer()}.
Functions
Get recommendations from the registered server using cached state.
Get recommended parameters based on current evolution state.
Stats should include: - best_fitness: Current best fitness - avg_fitness: Average population fitness - improvement: Fitness improvement from last generation - generation: Current generation number
Returns a map of recommended hyperparameters.
Get current silo state for debugging/monitoring.
-spec reset(pid()) -> ok.
Reset the silo state (for new training session).
-spec set_enabled_levels(pid(), [l0 | l1 | l2]) -> ok.
Set which levels are enabled.
-spec set_l2_guidance(pid(), l2_guidance()) -> ok.
Set L2 guidance from meta_controller.
Called by meta_controller to update the L1 control parameters. This is the L2→L1 communication channel.
Start the task silo with default configuration.
Start the task silo with custom configuration.
Options: - enabled_levels: [l0, l1, l2] (default: [l0, l1]) - stagnation_threshold: Generations without improvement before boosting (default: 5) - history_size: Number of generations to track (default: 20)
Update internal state with generation statistics.