lc_controller (faber_neuroevolution v1.2.4)
View SourceLC Controller - Simple online-learning TWEANN for hyperparameter control.
Unlike the main TWEANN population which evolves competitively, LC controllers are single networks that learn "on the job" through online weight updates.
Architecture: - Input layer: Sensor values (21 for task silo, 15 for resource silo) - Hidden layers: Configurable (default: [32, 16]) - Output layer: Actuator values (16 for task silo, 9 for resource silo)
Learning: Evolution Strategies (ES) style weight perturbation - Perturb weights with Gaussian noise - Keep perturbation if reward improves - Decay noise over time as performance stabilizes
Summary
Functions
Get hyperparameter recommendations from the controller.
Get current controller state for debugging/monitoring.
Report reward signal to the controller for learning.
Start the LC controller with default options.
Start the LC controller with custom configuration.
Functions
Get hyperparameter recommendations from the controller.
SensorInputs is a map of sensor name => value (all normalized to 0-1 or -1 to 1). Returns a map of actuator name => value (scaled to actual ranges).
Get current controller state for debugging/monitoring.
Report reward signal to the controller for learning.
The reward should be in range [-1, 1].
Start the LC controller with default options.
Start the LC controller with custom configuration.
Config options: - input_size: Number of sensor inputs (default: 21) - output_size: Number of actuator outputs (default: 16) - hidden_sizes: List of hidden layer sizes (default: [32, 16]) - learning_rate: Weight update rate (default: 0.1) - noise_std: Initial noise standard deviation (default: 0.1) - output_ranges: Map of output name to {min, max} ranges