distribution_l0_actuators (faber_neuroevolution v1.2.4)

View Source

Distribution 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 distribution control signals affecting load balancing and migration.

Responsibilities

1. Convert TWEANN outputs (0.0-1.0) to distribution parameter ranges 2. Apply outputs to island topology and load balancer 3. Control migration rates and strategies 4. Track applied values for debugging/monitoring

Usage

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

%% Apply TWEANN output vector distribution_l0_actuators:apply_output_vector(OutputVector),

%% Get current actuator values Values = distribution_l0_actuators:get_actuator_values(), %% Returns: #{local_vs_remote_ratio => 0.7, migration_rate => 0.05, ...}

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 distribution parameters ready for distribution components.

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

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

-spec get_distribution_params() -> map().

Get distribution parameters ready for distribution components.

get_distribution_params(Pid)

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

Get distribution parameters (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)