task_silo (faber_neuroevolution v1.2.4)

View Source

Task 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

l2_guidance/0

-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

code_change(OldVsn, State, Extra)

get_recommendations(Pid)

-spec get_recommendations(pid()) -> map().

Get recommendations from the registered server using cached state.

get_recommendations(Pid, Stats)

-spec get_recommendations(pid(), map()) -> map().

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_state(Pid)

-spec get_state(pid()) -> map().

Get current silo state for debugging/monitoring.

handle_call(Request, From, State)

handle_cast(Msg, State)

handle_info(Info, State)

init(Config)

reset(Pid)

-spec reset(pid()) -> ok.

Reset the silo state (for new training session).

set_enabled_levels(Pid, Levels)

-spec set_enabled_levels(pid(), [l0 | l1 | l2]) -> ok.

Set which levels are enabled.

set_l2_guidance(Pid, Guidance)

-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_link()

-spec start_link() -> {ok, pid()} | ignore | {error, term()}.

Start the task silo with default configuration.

start_link(Config)

-spec start_link(map()) -> {ok, pid()} | ignore | {error, term()}.

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)

terminate(Reason, State)

update_stats(Pid, Stats)

-spec update_stats(pid(), map()) -> ok.

Update internal state with generation statistics.