Answers.Body: <p>In NEAT, the innovation of a node does not affect the evolution directly. Only the connection genes and their innovation will matter. So you can simply have whole numbers as IDs under each Genome / Network.</p>
  <p>--EDIT-- (Complete reasoning)</p>
  <p>In the original paper, it is clearly stated that the nodes from the better genome is taken during crossover and then only the connections are cross-over'ed (in some method) and hence the innovation numbers for the connections. NEAT is connection-centric and does not care much about evolving nodes.</p>
  <p>Adding to that from basic neural networks theory, the nodes will never matter in a neural network because all the calculation and the learning happens in the connections. Think about a regular feed-forward network. You only care about the weight matrix which is a property of the connections instead of the nodes though both are present. Similarly in a NEAT generated network, the nodes will not matter, as all the learning takes place in the way these nodes are connected and the weights of the network.</p>
  <p>Further, the nodes list can easily be derived from the connection list and hence marking the connections, are enough.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-01-05T09:24:27.290Z
Answers.LastActivityDate: 2021-01-08T17:03:22.113Z
Answers.LastEditDate: 2021-01-08T17:03:22.113Z
Answers.UserDisplayName: Rohan Asokan
Body: <p>Do I have to prevent nodes created from the same connection gene to have different IDs/innovation number? In this example, the node 6 is created from the connection going from node 3 to node 4:</p>
  
  <p><a href="https://i.sstatic.net/QFUbz.jpg" rel="noreferrer"><img src="https://i.sstatic.net/QFUbz.jpg" alt="Example of node mutation"></a></p>
  
  <p>In the case where that specific node was already globally created, is it useful to give it the same ID for crossover? Because the goal of NEAT is to do meaningful crossover by doing historical marking. The paper from Kenneth O. Stanley says at page 108:</p>
  
  <blockquote>
    <p>[...] by keeping a list of the innovations that occurred in the current generation, it
    is possible to ensure that when the same structure arises more than once through independent mutations in the same generation, each identical mutation is assigned the
    same innovation number.</p>
  </blockquote>
  
  <p>Why don't we do that for node genes too?</p>
  
Tags: <neat><neuroevolution><crossover-operators>
Title: In NEAT, is it a good idea to give the same ID to node genes created from the same connection gene?
UserDisplayName: Dara Kong
ThreadText: # In NEAT, is it a good idea to give the same ID to node genes created from the same connection gene?
  
  (Asked by: username_0 on 2020-04-04)
  
  Do I have to prevent nodes created from the same connection gene to have different IDs/innovation number? In this example, the node 6 is created from the connection going from node 3 to node 4:
  
  [![Example of node mutation](https://i.sstatic.net/QFUbz.jpg)](https://i.sstatic.net/QFUbz.jpg)
  
  In the case where that specific node was already globally created, is it useful to give it the same ID for crossover? Because the goal of NEAT is to do meaningful crossover by doing historical marking. The paper from Kenneth O. Stanley says at page 108:
  
  > [...] by keeping a list of the innovations that occurred in the current generation, it
  > is possible to ensure that when the same structure arises more than once through independent mutations in the same generation, each identical mutation is assigned the
  > same innovation number.
  
  Why don't we do that for node genes too?
  
  **Tags:** neat, neuroevolution, crossover-operators
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2021-01-05. Score: 2 | Accepted answer
  
  In NEAT, the innovation of a node does not affect the evolution directly. Only the connection genes and their innovation will matter. So you can simply have whole numbers as IDs under each Genome / Network.
  
  --EDIT-- (Complete reasoning)
  
  In the original paper, it is clearly stated that the nodes from the better genome is taken during crossover and then only the connections are cross-over'ed (in some method) and hence the innovation numbers for the connections. NEAT is connection-centric and does not care much about evolving nodes.
  
  Adding to that from basic neural networks theory, the nodes will never matter in a neural network because all the calculation and the learning happens in the connections. Think about a regular feed-forward network. You only care about the weight matrix which is a property of the connections instead of the nodes though both are present. Similarly in a NEAT generated network, the nodes will not matter, as all the learning takes place in the way these nodes are connected and the weights of the network.
  
  Further, the nodes list can easily be derived from the connection list and hence marking the connections, are enough.
  
  
  ---
  
  