lc_communication_events (faber_neuroevolution v1.2.4)
View SourceBehavioral event constructors for Communication Silo.
Events related to signaling, vocabulary, and coordination. Communication Silo operates at timescale τ=55.
Summary
Types
-type communication_event() :: #signal_emitted{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, sender_id :: individual_id(), signal_id :: binary(), signal_content :: term(), intended_receivers :: [individual_id()] | broadcast, honesty :: honest | deceptive} | #signal_received{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, receiver_id :: individual_id(), sender_id :: individual_id(), signal_id :: binary(), interpretation :: correct | incorrect | ambiguous} | #signal_interpreted{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, interpreter_id :: individual_id(), signal_id :: binary(), intended_meaning :: term(), interpreted_meaning :: term(), accuracy :: float()} | #vocabulary_expanded{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(), new_signal_id :: binary(), signal_meaning :: term(), inventor_id :: individual_id(), vocabulary_size_after :: non_neg_integer()} | #vocabulary_contracted{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(), removed_signal_id :: binary(), removal_reason :: obsolescence | ambiguity | replacement, vocabulary_size_after :: non_neg_integer()} | #dialect_formed{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, dialect_id :: binary(), population_id :: population_id(), speaker_ids :: [individual_id()], unique_signals :: non_neg_integer(), formation_cause :: isolation | drift | innovation} | #dialect_merged{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, dialect_a_id :: binary(), dialect_b_id :: binary(), merged_dialect_id :: binary(), merge_cause :: contact | migration | normalization} | #coordination_achieved{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, coordination_id :: binary(), participant_ids :: [individual_id()], coordination_type :: synchronization | division_of_labor | joint_action, success_level :: float(), communication_rounds :: non_neg_integer()} | #deception_detected{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, deceiver_id :: individual_id(), detector_id :: individual_id(), signal_id :: binary(), deception_type :: false_alarm | concealment | manipulation, detection_confidence :: float()}.
-type individual_id() :: binary().
-type population_id() :: binary().
-type timestamp() :: integer().
Functions
-spec coordination_achieved(map()) -> #coordination_achieved{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, coordination_id :: binary(), participant_ids :: [individual_id()], coordination_type :: synchronization | division_of_labor | joint_action, success_level :: float(), communication_rounds :: non_neg_integer()}.
-spec deception_detected(map()) -> #deception_detected{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, deceiver_id :: individual_id(), detector_id :: individual_id(), signal_id :: binary(), deception_type :: false_alarm | concealment | manipulation, detection_confidence :: float()}.
-spec dialect_formed(map()) -> #dialect_formed{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, dialect_id :: binary(), population_id :: population_id(), speaker_ids :: [individual_id()], unique_signals :: non_neg_integer(), formation_cause :: isolation | drift | innovation}.
-spec dialect_merged(map()) -> #dialect_merged{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, dialect_a_id :: binary(), dialect_b_id :: binary(), merged_dialect_id :: binary(), merge_cause :: contact | migration | normalization}.
-spec event_to_map(communication_event()) -> map().
-spec signal_emitted(map()) -> #signal_emitted{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, sender_id :: individual_id(), signal_id :: binary(), signal_content :: term(), intended_receivers :: [individual_id()] | broadcast, honesty :: honest | deceptive}.
-spec signal_interpreted(map()) -> #signal_interpreted{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, interpreter_id :: individual_id(), signal_id :: binary(), intended_meaning :: term(), interpreted_meaning :: term(), accuracy :: float()}.
-spec signal_received(map()) -> #signal_received{meta :: #lc_event_meta{event_id :: binary(), correlation_id :: binary() | undefined, causation_id :: binary() | undefined, timestamp :: timestamp(), version :: pos_integer(), emitter :: atom()}, receiver_id :: individual_id(), sender_id :: individual_id(), signal_id :: binary(), interpretation :: correct | incorrect | ambiguous}.
-spec vocabulary_contracted(map()) -> #vocabulary_contracted{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(), removed_signal_id :: binary(), removal_reason :: obsolescence | ambiguity | replacement, vocabulary_size_after :: non_neg_integer()}.
-spec vocabulary_expanded(map()) -> #vocabulary_expanded{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(), new_signal_id :: binary(), signal_meaning :: term(), inventor_id :: individual_id(), vocabulary_size_after :: non_neg_integer()}.