2
$\begingroup$

When a new node is added, the previous connection is disabled and not removed.

enter image description here

Is there any situation in which a connection gene is removed? For example, in the above diagram connection gene with innovation number 2 is not present. It could be because some other genome used that innovation number for a different connection that isn't present in this genome. But are there cases where a connection gene has to be removed?

$\endgroup$
1
$\begingroup$

The original paper never goes further than disabling the link, but I have seen implementations on github that did have a probability of deleting the link.

python-neat is such an eaxample.

| improve this answer | |
$\endgroup$
1
$\begingroup$

You can remove the genes, of course, if it makes sense in your implementation. I can see some reasons why you might want to do it:

  • Your genome's size is very high, so performing some pruning of disabled genes might speed up the algorithm
  • You do not want to re-enable the genes in the future (maybe you have a special mutation mechanism that might add connections instead of genes or simply when it is disable it stays like that)

As a rule of thumbs, keeping connections is usually a good thing if the algorithm can handle big genomes. After all you might re-enable them in the future (these connections are safer to enable than creating new random ones,as the latter might create unwanted cycles, so you'd have to check for that) and dense ANNs work better than sparse ones and pruning too much might not play at your favor.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.