Connectome Fighter
MaleCNS controller connected to FightingICE through explicit sensory and action mappings, with a research ledger separating connectome structure from project-defined learning rules.
Neurons are simulated — leaky integrate-and-fire or better — with documented, tuned parameters.
Dispute this rating →The evidence
No evidence, no level.Reward-gated multipliers are written directly into the Brian2 synaptic weights of the MaleCNS recurrent synapse object, with the assignment read back and verified.
https://github.com/Unjuno/connectome-fighter/blob/0c5566aeff5da1de13d53222fa33c25f19231382/src/connectome_fighter/malecns_plasticity_apply.py#L72-L80The update rule is a local anti-Hebbian, reward-gated change on an eligibility trace, not an optimiser step.
https://github.com/Unjuno/connectome-fighter/blob/0c5566aeff5da1de13d53222fa33c25f19231382/src/connectome_fighter/reward_plasticity.py#L178-L189The plastic edges are anatomically existing MaleCNS Kenyon-cell-to-MBON synapses selected from the connectome's own class metadata; the script fails if no real KC->MBON edge is found.
https://github.com/Unjuno/connectome-fighter/blob/0c5566aeff5da1de13d53222fa33c25f19231382/scripts/build_malecns_plasticity_candidates.py#L98-L106Neuron dynamics are a pinned Shiu et al. LIF with explicit membrane, threshold, reset, refractory and delay parameters.
https://github.com/Unjuno/connectome-fighter/blob/0c5566aeff5da1de13d53222fa33c25f19231382/scripts/malecns_lif_worker.py#L185-L195Eligibility is accumulated offline from a logged per-decision spike file and one terminal reward is applied afterwards, so the weight change happens between matches rather than within a round.
https://github.com/Unjuno/connectome-fighter/blob/0c5566aeff5da1de13d53222fa33c25f19231382/scripts/update_malecns_reward_plasticity.py#L86-L104
Neuron dynamics are a pinned Shiu et al. LIF with explicit v_th / v_rst / tau / refractory / delay parameters over ~156k MaleCNS v1.0 neurons, which earns L1. Not L2, on three independent grounds. First, no synapse changes during play: run_game_malecns_lif.py says so in its own CLI help ('no weights change during play'), and the update script calls itself a post-match updater that replays an already-logged spike file. The learned multipliers reach the simulation only by being baked into a per-character connectivity parquet beforehand, which is offline fitting followed by inference. Second, the in-memory Brian2 write that the strongest evidence points at, apply_character_plasticity, is never called from anywhere in the repository. Third, the modulatory term is a terminal game reward restricted to -1/0/+1, and the module's own docstring states that using a single game reward as the modulatory signal is an engineering abstraction - not a modelled neuromodulator. The design is careful and honest: topology and transmitter sign are held immutable, the plastic edges are genuine KC->MBON candidates from the connectome's class metadata, and the rule is anti-Hebbian in the direction fly mushroom-body plasticity runs. The README itself reports the arm as off ('continuous production reward-driven learning: OFF'). A second, better-grounded arm exists in valence_plasticity.py, cited to Aso et al. 2014 and wired into the continuous-training workflow, but it is post-match in the same way. Not validated: no published comparison against real fly measurements.
Record
Nearby
All projects →MaleCNS simulation connected to ViZDoom through modeled visual inputs and a fixed button readout. Includes plasticity experiments and negative validation results; learned survival has not been demonstrated.
Research framework comparing a MaleCNS-constrained sparse recurrent controller with rewired graphs, conventional neural networks, and other controls on simple VizDoom tasks.
Ratings on thelearningfly.com are proposals, not verdicts. Every one of them is arguable in public.