genome_mutator (macula_tweann v0.18.1)

View Source

Genetic mutation operators for neural network evolution.

This module is the main entry point for genome mutations. It delegates to specialized modules for different mutation categories:

- topological_mutations: Network structure changes - parametric_mutations: Weight and parameter changes - ltc_mutations: LTC neuron-specific mutations - mutation_helpers: Shared utility functions

Mutations are selected using roulette wheel selection weighted by mutation probabilities from the agent's constraint.

Summary

Functions

add_actuator(AgentId)

add_actuatorlink(AgentId)

add_bias(AgentId)

add_inlink(AgentId)

add_neuron(AgentId)

add_outlink(AgentId)

add_sensor(AgentId)

add_sensorlink(AgentId)

calculate_mutation_count(AgentId)

-spec calculate_mutation_count(term()) -> pos_integer().

Calculate number of mutations based on agent's mutation function.

mutate(AgentId)

-spec mutate(term()) -> ok.

Apply mutations to an agent.

Selects and applies mutations based on the agent's constraint. The number of mutations is determined by the tot_topological_mutations_f.

mutate(AgentId, Count)

-spec mutate(term(), non_neg_integer()) -> ok.

Apply a specific number of mutations to an agent.

mutate_af(AgentId)

mutate_agent_parameter(AgentId, F, C)

mutate_aggr_f(AgentId)

mutate_heredity_type(AgentId)

mutate_ltc_weights(AgentId)

mutate_neuron_type(AgentId)

mutate_state_bound(AgentId)

mutate_time_constant(AgentId)

mutate_tot_topological_mutations(AgentId)

mutate_tuning_annealing(AgentId)

mutate_tuning_selection(AgentId)

mutate_weights(AgentId)

outsplice(AgentId)

select_random_neuron(AgentId)