Answers.Body: <p>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.</p>
  
  <p><a href="https://github.com/CodeReclaimers/neat-python/blob/c2b79c88667a1798bfe33c00dd8e251ef8be41fa/neat/genome.py#L292" rel="nofollow noreferrer">python-neat</a> is such an eaxample.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-02-24T16:35:57.517Z
Answers.LastActivityDate: 2020-02-24T16:35:57.517Z
Answers.UserDisplayName: nraynaud
Answers.Body: <p>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:   </p>
  
  <ul>
  <li><strong>Your genome's size is very high</strong>, so performing some pruning of disabled genes might speed up the algorithm</li>
  <li><strong>You do not want to re-enable the genes in the future</strong> (maybe you have a special mutation mechanism that might add connections instead of genes or simply when it is disable it stays like that)    </li>
  </ul>
  
  <p>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. </p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-02-29T14:12:07.077Z
Answers.LastActivityDate: 2020-02-29T14:12:07.077Z
Answers.UserDisplayName: Alvin Sartor
Body: <p>When a new node is added, the previous connection is disabled and not removed.</p>
  
  <p><a href="https://i.sstatic.net/4b46s.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/4b46s.png" alt="enter image description here"></a></p>
  
  <p>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?</p>
  
Tags: <neural-networks><deep-learning><genetic-algorithms><neat><neuroevolution>
Title: Are connections genes in a genome ever deleted or just disabled?
UserDisplayName: Akash Karnatak
ThreadText: # Are connections genes in a genome ever deleted or just disabled?
  
  (Asked by: username_0 on 2020-02-23)
  
  When a new node is added, the previous connection is disabled and not removed.
  
  [![enter image description here](https://i.sstatic.net/4b46s.png)](https://i.sstatic.net/4b46s.png)
  
  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?
  
  **Tags:** neural-networks, deep-learning, genetic-algorithms, neat, neuroevolution
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2020-02-24. Score: 1
  
  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](https://github.com/CodeReclaimers/neat-python/blob/c2b79c88667a1798bfe33c00dd8e251ef8be41fa/neat/genome.py#L292) is such an eaxample.
  
  
  ---
  
  ### Answer by username_2 on 2020-02-29. Score: 1
  
  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.
  
  
  ---
  
  