ecological_silo (faber_neuroevolution v1.2.4)

View Source

Ecological Silo - Niches, resource competition, and environmental dynamics.

Part of the Liquid Conglomerate v2 architecture. The Ecological Silo manages: Niche formation and occupancy Resource pools and regeneration Carrying capacity Environmental stress Ecosystem stability

Time Constant

τ = 50 (slow adaptation for ecological dynamics)

Cross-Silo Signals

Outgoing: environmental_pressure to task: Environmental stress level resource_level to resource: Available resources stress_signal to developmental: Environmental stress environmental_context to regulatory: Context for gene expression

Incoming: adaptation_pressure from task: Need for adaptation abundance_signal from resource: Resource availability metamorphosis_rate from developmental: Stage transitions efficiency_score from morphological: Network efficiency

Summary

Functions

add_to_niche(Pid, NicheId, IndividualId)

-spec add_to_niche(pid(), term(), term()) -> ok.

apply_actuators(Actuators, State)

collect_sensors(State)

compute_reward(State)

emit_cross_silo_signals(State)

get_ecological_stats(Pid)

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

get_niche(Pid, NicheId)

-spec get_niche(pid(), term()) -> {ok, map()} | not_found.

get_params(Pid)

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

get_silo_type()

get_state(Pid)

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

get_time_constant()

handle_call(Request, From, State)

handle_cast(Msg, State)

handle_cross_silo_signals(Signals, State)

handle_info(Info, State)

init(Config)

init_silo(Config)

register_niche(Pid, NicheId, NicheData)

-spec register_niche(pid(), term(), map()) -> ok.

remove_from_niche(Pid, NicheId, IndividualId)

-spec remove_from_niche(pid(), term(), term()) -> ok.

reset(Pid)

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

start_link()

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

start_link(Config)

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

terminate(Reason, State)

update_niche(Pid, NicheId, Updates)

-spec update_niche(pid(), term(), map()) -> ok.

update_resource_pool(Pid, ResourceId, Amount)

-spec update_resource_pool(pid(), term(), float()) -> ok.