liveBook · Manning

Species extinction

As explained in Evolutionary Deep Learning: Genetic algorithms and neural networks

Species extinction is the removal of an evolutionary species from the population when it no longer persists or remains viable.

Species extinction removes an evolutionary species from the population when it no longer persists or remains viable. In NEAT, extinction is a deliberate selection mechanism: stagnant or overly specialized species are culled so new groups can form and population diversity can recover. section 10.5 section 10.6

NEAT uses extinction to manage evolving network populations:

  • Groups genomes into species according to network similarity, preserving diversity during optimization. section 10.5
  • Treats stagnation as a reason to remove a species rather than allowing it to remain specialized around a local maximum or minimum. section 10.5
  • Checks species after a configurable number of generations and can reset the population when extinction occurs. section 10.5.1

Extinction during circles classification

A NEAT run evolves networks for a binary circles problem. With compatibility_threshold set to 1.0 and max_stagnation set to 25, species are grouped by network similarity and checked for prolonged lack of progress. Stagnant groups can be culled while other groups continue evolving. section 10.5.1

Listing 10.19 EDL_10_5_NEAT_Speciation.ipynb: NEAT configuration options
[NEAT]
fitness_criterion     = max
fitness_threshold     = .85                 #1
pop_size              = 100
reset_on_extinction   = 1
 
[DefaultGenome]
num_inputs              = 2
num_hidden              = 25                #2
num_outputs             = 1
initial_connection      = partial_direct 0.5
feed_forward            = True
compatibility_disjoint_coefficient    = 1.0
compatibility_weight_coefficient      = 0.6
conn_add_prob           = 0.02              #3
conn_delete_prob        = 0.02              #3
node_add_prob           = 0.02              #4
node_delete_prob        = 0.02              #4

Inspect the NEAT configuration that enables population reset, species compatibility control, and mutation settings. section 10.5.1

Listing 10.20 EDL_10_5_NEAT_Speciation.ipynb: More NEAT configuration options
weight_max_value        = 30
weight_min_value        = -30
weight_init_mean        = 0.0
weight_init_stdev       = 1.0
weight_mutate_rate      = 0.08    #1
weight_replace_rate     = 0.01    #2
weight_mutate_power     = 0.1     #3
enabled_default         = True
enabled_mutate_rate     = 0.01
 
[DefaultSpeciesSet]
compatibility_threshold = 1.0     #4
 
[DefaultStagnation]
species_fitness_func = max
max_stagnation  = 25              #5

Inspect the stagnation threshold and compatibility threshold used to decide how species are grouped and when they become candidates for extinction. section 10.5.1

How Evolutionary Deep Learning: Genetic algorithms and neural networks covers it

How deep it goes
Explains extinction’s evolutionary purpose and configurable stagnation checks, without deriving the underlying species-selection algorithm.
Examples
Demonstrates extinction with NEAT networks solving a binary circles classification problem across multiple generations.
What it assumes
Assumes familiarity with genomes, network populations, fitness, species grouping, and generational evolutionary optimization.
What you can do after
Operate/configure NEAT species management with compatibility thresholds, stagnation limits, and population-reset settings.
How it connects
Connects extinction to NEAT, speciation, genome similarity, population diversity, stagnation, and evolutionary optimization.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Evolutionary Deep Learning: Genetic algorithms and neural networks. The section links point to the parts of the book it draws on.