The first equation deals with distance. Delta, or distance, is the measure of how compatible two genomes are with each other. c1
, c2
and c3
are parameters you set to dictate the importance of E
, D
and W
. Note that if you change cc1
, c2
or c3
, you will most likely also have to change dt, which is the distance threshold, or the maximum distance apart 2 genomes can be before they are separated into different species. E
represents the total number of excess genes. D
represents the total number of disjoint genes in both genomes, W
represents the total weight difference between genes that match, and finally, N
represents the number of connections / genes the genome with the larger number of connections has. For example, take the following 2 genomes:
[[1,.25][2,.55],[4,.78],[6,.2]]
and
[[1,.15][3,.92],[5,.37]]
Where the 0 index represents innovation number and the 1 index represents weight value. E
would be 1, since there is 1 excess gene, gene 6
. D
would be 4, since connections 2
and 4
are not in genome 2, and connections 3
and 5
are not in genome 1. W
would be .10, since only connection 1
is shared between the two genomes.
The second formula is a bit more complicated. From my understanding, correct me if I'm wrong, this is a formula for adjusting fitness. f′i
is the adjusted fitness, which will replace the original fitness, fi
. For every genome j
in the entire population, yes, entire population and not just every genome in its specie, it will calculate the distance between j
and i
, i
being the genome of fitness fi
. Then it will sum up all the distance values, and divide the original fitness fi
by the total distance sum, and set f'i
to that. Next,
Every species is
assigned a potentially different number of offspring in proportion to the sum of adjusted fitnesses f`i
of its member organisms.
This assigning of number of species offspring is used so that one specie can't take over the entire population, which is the whole point of speciation in the first place, so in conclusion, these two formulas are vital to the function and efficiency of the NEAT algorithm.