Answers.Body: <p>The networks in NEAT are still implicitly layered. There are neurons that need to be evaluated before other neurons can be evaluated and so this gives us our layers.</p>
  
  <p>If you don't know the structure of your network then you can use Kahn's algorithm to find an arbitrary (by arbitrary I just mean one of the possible partially ordered sets) ordering of the nodes in the network. Then you evaluate your neurons in the order given to you by Kahn's algorithm. This works because the ordering of your network (which is a directed acyclic graph) is a partially ordered set.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-03-20T02:18:27.867Z
Answers.LastActivityDate: 2018-03-20T02:18:27.867Z
Answers.UserDisplayName: Andrew Butler
Body: <p>I used to work with layered neural networks, where, given certain inputs, the output is produced layer-by-layer.</p>
  <p>With NEAT, a neural network may assume any topology, and they are no longer layered. So, how do we compute the output of such a neural network? I understand time-steps must be taken into account, but how?  Should I keep the inputs until all hidden neurons are processed and output is produced? Should I wait for the output to stabilize?</p>
  
Tags: <neural-networks><architecture><neat><neuroevolution><forward-pass>
Title: How to compute the output of a neural network produced by NEAT?
UserDisplayName: kuma
ThreadText: # How to compute the output of a neural network produced by NEAT?
  
  (Asked by: username_0 on 2018-03-08)
  
  I used to work with layered neural networks, where, given certain inputs, the output is produced layer-by-layer.
  
  With NEAT, a neural network may assume any topology, and they are no longer layered. So, how do we compute the output of such a neural network? I understand time-steps must be taken into account, but how? Should I keep the inputs until all hidden neurons are processed and output is produced? Should I wait for the output to stabilize?
  
  **Tags:** neural-networks, architecture, neat, neuroevolution, forward-pass
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2018-03-20. Score: 2
  
  The networks in NEAT are still implicitly layered. There are neurons that need to be evaluated before other neurons can be evaluated and so this gives us our layers.
  
  If you don't know the structure of your network then you can use Kahn's algorithm to find an arbitrary (by arbitrary I just mean one of the possible partially ordered sets) ordering of the nodes in the network. Then you evaluate your neurons in the order given to you by Kahn's algorithm. This works because the ordering of your network (which is a directed acyclic graph) is a partially ordered set.
  
  
  ---
  
  