lc_l0_morphology (faber_neuroevolution v1.2.4)

View Source

L0 Reactive Layer Morphology for Liquid Conglomerate.

The L0 layer operates at the lowest temporal abstraction (tau=10). It receives tactical signals from L1 plus emergent metrics from the model under training, and outputs the final hyperparameters.

Input Sensors

Fixed inputs (always connected, from L1): - l0_from_l1_signal_1 through l0_from_l1_signal_5

Emergent metric sensors (available for topology evolution): - convergence_rate, current_mutation_rate, survival_rate, etc.

The emergent sensors are NOT initially connected. Topology evolution can add them via add_sensor/1 when the network determines they are useful for hyperparameter control.

Output Actuators

Final hyperparameters for the model under training: - mutation_rate: [0.01, 0.5] - mutation_strength: [0.05, 1.0] - selection_ratio: [0.1, 0.5] - add_node_rate: [0.0, 0.1] - add_connection_rate: [0.0, 0.2]

Summary

Functions

Get actuators for L0 reactive layer.

Get emergent metric sensors.

Get fixed sensors that receive L1 tactical outputs.

Get all sensors for L0 reactive layer.

Functions

get_actuators(_)

-spec get_actuators(lc_l0) ->
                       [#actuator{id :: term(),
                                  name :: term(),
                                  type :: term(),
                                  cx_id :: term(),
                                  scape :: term(),
                                  vl :: term(),
                                  fanin_ids :: term(),
                                  generation :: term(),
                                  format :: term(),
                                  parameters :: term(),
                                  gt_parameters :: term(),
                                  phys_rep :: term(),
                                  vis_rep :: term(),
                                  pre_f :: term(),
                                  post_f :: term(),
                                  innovation :: term()}].

Get actuators for L0 reactive layer.

Returns actuators that output the final hyperparameters for the model under training. Each output is scaled to its valid range.

get_emergent_sensors()

-spec get_emergent_sensors() ->
                              [#sensor{id :: term(),
                                       name :: term(),
                                       type :: term(),
                                       cx_id :: term(),
                                       scape :: term(),
                                       vl :: term(),
                                       fanout_ids :: term(),
                                       generation :: term(),
                                       format :: term(),
                                       parameters :: term(),
                                       gt_parameters :: term(),
                                       phys_rep :: term(),
                                       vis_rep :: term(),
                                       pre_f :: term(),
                                       post_f :: term(),
                                       innovation :: term()}].

Get emergent metric sensors.

These sensors observe metrics from the model under training. They are available for topology evolution to add, but NOT initially connected. This allows the LC to evolve which emergent signals are useful.

get_fixed_sensors()

-spec get_fixed_sensors() ->
                           [#sensor{id :: term(),
                                    name :: term(),
                                    type :: term(),
                                    cx_id :: term(),
                                    scape :: term(),
                                    vl :: term(),
                                    fanout_ids :: term(),
                                    generation :: term(),
                                    format :: term(),
                                    parameters :: term(),
                                    gt_parameters :: term(),
                                    phys_rep :: term(),
                                    vis_rep :: term(),
                                    pre_f :: term(),
                                    post_f :: term(),
                                    innovation :: term()}].

Get fixed sensors that receive L1 tactical outputs.

These sensors are always connected in new agents.

get_sensors(_)

-spec get_sensors(lc_l0) ->
                     [#sensor{id :: term(),
                              name :: term(),
                              type :: term(),
                              cx_id :: term(),
                              scape :: term(),
                              vl :: term(),
                              fanout_ids :: term(),
                              generation :: term(),
                              format :: term(),
                              parameters :: term(),
                              gt_parameters :: term(),
                              phys_rep :: term(),
                              vis_rep :: term(),
                              pre_f :: term(),
                              post_f :: term(),
                              innovation :: term()}].

Get all sensors for L0 reactive layer.

Returns both fixed sensors (from L1) and emergent sensors (from model). Fixed sensors are always connected initially. Emergent sensors are available but not initially connected - topology evolution can add them via add_sensor/1.