NEAT: Evolving Topologies and Weights
NeuroEvolution of Augmenting Topologies
NEAT Overview
NEAT is a neuroevolution algorithm that starts with simple networks and gradually complexifies them. It evolves both connection weights and network topology, using speciation to protect innovation.
NEAT Features
Why Historical Markings Matter
Innovation numbers help NEAT align genes from different genomes during crossover, making it possible to recombine networks with different structures.
NEAT Pseudocode
-
1
Step 1: Start with minimal network genomes.
-
2
Step 2: Evaluate genomes on the task.
-
3
Step 3: Group similar genomes into species.
-
4
Step 4: Select parents within species.
-
5
Step 5: Mutate weights and occasionally add nodes or connections.
-
6
Step 6: Perform crossover using innovation numbers.
-
7
Step 7: Repeat and adjust species fitness sharing.
Why Speciation Helps
Without speciation
- Innovative but weak structures may be eliminated early
- Population may converge too quickly
With speciation
- Different structural innovations can survive
- Diversity remains higher across generations
What is a main purpose of speciation in NEAT?
Speciation preserves novel structures long enough to improve.
Correct answer: To group similar genomes and protect innovations
What do innovation numbers help with in NEAT?
This makes structural recombination possible.
Correct answer: They align matching genes during crossover.
NEAT usually begins evolution with which kind of networks?
NEAT starts simple and grows complexity over time.
Correct answer: Minimal networks
NEAT Philosophy
Start simple, protect novelty, and let useful complexity emerge gradually.
Practical Use Case
NEAT is often used for game agents, controllers, and tasks where discovering both network size and connection pattern is valuable.