lc_economic_events (faber_neuroevolution v1.2.4)
View SourceBehavioral event constructors for Economic Silo.
Events related to compute budgets, resource economics, and wealth. Economic Silo operates at timescale τ=20.
Summary
Types
-type economic_event() :: #budget_allocated{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, individual_id :: individual_id(), population_id :: population_id(), amount :: float(), allocation_type :: initial | bonus | redistribution} | #budget_exhausted{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, individual_id :: individual_id(), population_id :: population_id(), initial_budget :: float(), expenditure_history :: [float()], exhaustion_cause :: evaluation | mutation | reproduction} | #compute_traded{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, seller_id :: individual_id(), buyer_id :: individual_id(), amount :: float(), price :: float(), trade_reason :: scarcity | opportunity | altruism} | #wealth_redistributed{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, population_id :: population_id(), gini_before :: float(), gini_after :: float(), redistribution_amount :: float(), beneficiaries_count :: non_neg_integer(), redistribution_method :: progressive_tax | universal_basic | merit_bonus} | #bankruptcy_declared{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, individual_id :: individual_id(), population_id :: population_id(), final_balance :: float(), debt_amount :: float(), consequence :: removal | bailout | restructure} | #investment_made{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, investor_id :: individual_id(), target_id :: individual_id() | population_id(), amount :: float(), expected_return :: float(), investment_type :: offspring | coalition | exploration} | #dividend_distributed{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, investment_id :: binary(), investor_id :: individual_id(), return_amount :: float(), roi_percentage :: float()} | #inflation_adjusted{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, population_id :: population_id(), inflation_rate :: float(), price_level_before :: float(), price_level_after :: float(), adjustment_trigger :: scheduled | market_pressure | policy}.
-type individual_id() :: binary().
-type population_id() :: binary().
-type timestamp() :: integer().
Functions
-spec bankruptcy_declared(map()) -> #bankruptcy_declared{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, individual_id :: individual_id(), population_id :: population_id(), final_balance :: float(), debt_amount :: float(), consequence :: removal | bailout | restructure}.
-spec budget_allocated(map()) -> #budget_allocated{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, individual_id :: individual_id(), population_id :: population_id(), amount :: float(), allocation_type :: initial | bonus | redistribution}.
-spec budget_exhausted(map()) -> #budget_exhausted{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, individual_id :: individual_id(), population_id :: population_id(), initial_budget :: float(), expenditure_history :: [float()], exhaustion_cause :: evaluation | mutation | reproduction}.
-spec compute_traded(map()) -> #compute_traded{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, seller_id :: individual_id(), buyer_id :: individual_id(), amount :: float(), price :: float(), trade_reason :: scarcity | opportunity | altruism}.
-spec dividend_distributed(map()) -> #dividend_distributed{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, investment_id :: binary(), investor_id :: individual_id(), return_amount :: float(), roi_percentage :: float()}.
-spec event_to_map(economic_event()) -> map().
-spec inflation_adjusted(map()) -> #inflation_adjusted{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, population_id :: population_id(), inflation_rate :: float(), price_level_before :: float(), price_level_after :: float(), adjustment_trigger :: scheduled | market_pressure | policy}.
-spec investment_made(map()) -> #investment_made{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, investor_id :: individual_id(), target_id :: individual_id() | population_id(), amount :: float(), expected_return :: float(), investment_type :: offspring | coalition | exploration}.
-spec wealth_redistributed(map()) -> #wealth_redistributed{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, population_id :: population_id(), gini_before :: float(), gini_after :: float(), redistribution_amount :: float(), beneficiaries_count :: non_neg_integer(), redistribution_method :: progressive_tax | universal_basic | merit_bonus}.