← Back to CoursesEvolutionary Programming

Neuroanatomy Explorer

Drag to rotate · scroll to zoom · click regions to explore

View
Loading 3D model…

Click a region
to explore it

Memory Deck

Flip each card and rate whether you knew it. Your score is saved.

Term
Definition

Deck complete — score saved.

Match the Pairs

Match each term to its definition. Finish the board to earn your score.

All matched — score saved.

Concept Constellation

Every key idea in this course, mapped as an explorable 3D constellation. Drag to rotate, scroll to zoom, click a node.

Click a node to read its definition.

NEAT: Evolving Topologies and Weights

Manual: General · Subject: Evolutionary Programming

Learn the NEAT method for simultaneously evolving network structure and parameters with historical markings and speciation.

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

Historical markings
Innovation numbers that track matching genes
Speciation
Grouping similar genomes together
Complexification
Adding nodes and connections over time
Protection of innovation
New structures get time to improve

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. 1

    Step 1: Start with minimal network genomes.

  2. 2

    Step 2: Evaluate genomes on the task.

  3. 3

    Step 3: Group similar genomes into species.

  4. 4

    Step 4: Select parents within species.

  5. 5

    Step 5: Mutate weights and occasionally add nodes or connections.

  6. 6

    Step 6: Perform crossover using innovation numbers.

  7. 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?

What do innovation numbers help with in NEAT?

NEAT usually begins evolution with which kind of 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.