resource_l0_actuators (faber_neuroevolution v1.2.4)

View Source

Resource 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 control signals that affect system behavior.

Responsibilities

1. Convert TWEANN outputs (0.0-1.0) to target ranges 2. Apply outputs to neuroevolution_server and other targets 3. Emit cross-silo signals to Task Silo 5. Track applied values for debugging/monitoring

Actuators (10 total)

Resource control actuators (1-8): - max_concurrent_evaluations, evaluation_batch_size - gc_trigger_threshold, pause_threshold, throttle_intensity - max_evals_per_individual, task_silo_pressure_signal, gc_aggressiveness

Self-play archive actuator (9): - archive_gc_pressure: Force archive cleanup under memory pressure (0=none, 1=aggressive)

Timeout control actuator (10): - evaluation_timeout: Worker timeout in ms (1000=fast kill, 10000=patient)

Usage

%% Start the actuator controller {ok, Pid} = resource_l0_actuators:start_link(Config),

%% Apply TWEANN output vector resource_l0_actuators:apply_outputs(Pid, OutputVector),

%% Get current actuator values Values = resource_l0_actuators:get_actuator_values(Pid), %% Returns: #{max_concurrent_evaluations => 15, ...}

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 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

apply_output_vector(OutputVector)

-spec apply_output_vector([float()]) -> ok.

Apply TWEANN output vector (ordered list).

apply_output_vector(Pid, OutputVector)

-spec apply_output_vector(pid(), [float()]) -> ok.

Apply TWEANN output vector (specific server).

apply_outputs(OutputMap)

-spec apply_outputs(map()) -> ok.

Apply TWEANN outputs as a map.

apply_outputs(Pid, OutputMap)

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

Apply TWEANN outputs as a map (specific server).

get_actuator_values()

-spec get_actuator_values() -> map().

Get current denormalized actuator values.

get_actuator_values(Pid)

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

Get current denormalized actuator values (specific server).

get_raw_outputs()

-spec get_raw_outputs() -> [float()].

Get raw TWEANN outputs (before denormalization).

get_raw_outputs(Pid)

-spec get_raw_outputs(pid()) -> [float()].

Get raw TWEANN outputs (specific server).

handle_call(Request, From, State)

handle_cast(Msg, State)

handle_info(Info, State)

init(Config)

start_link()

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

Start the actuator controller with default configuration.

start_link(Config)

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

Start the actuator controller with custom configuration.

terminate(Reason, State)