Skip to content

Latest commit

 

History

History
47 lines (39 loc) · 2.45 KB

README.md

File metadata and controls

47 lines (39 loc) · 2.45 KB

Timesteps and Input

The Netomaton evolve function accepts two different parameters that are used to specify how the network should be evolved: the timesteps parameter and the input parameter.

The timesteps parameter specifies the number of times the activity rule should be applied to the network as a whole. That is, one cycle of activity is defined as the application of the activity rule once to each node in the network. The timesteps parameter therefore specifies the number of cycles.* Specifying the timesteps implies an automaton that evolves on its own, in the absence of any external driving signal.

The input parameter specifies the input to the network at a particular step in the network's evolution. It is either a list, where each item in the list contains the input for each node in the network for a particular step in its evolution, or a function that accepts the current timestep number and returns either the input for that timestep or None, to signal the end of the evolution. The input parameter thus specifies both the input to the network and, implicitly, the number of timesteps in its evolution. The input for each node at each timestep will be provided to the activity_rule function (and any perturbation function), when the function is invoked. Specifying the input implies an automaton whose evolution is driven by an external signal.

Either the input or the timesteps parameter must be provided to the evolve function, but not both. If the input parameter is provided, it will override the timesteps parameter, and the timesteps parameter will have no effect.

The first item in the input list is given to the network at t=1, the second at t=2, etc. No input is specified for the initial state. This is illustrated in the figure below:

An example of the use of the input parameter in the form of a list can be seen in the Finite State Machine demo. An example of the use of the input parameter in the form of a function can be seen in the Turing Machine demo. An example of the use of the timesteps parameter can be seen in the Elementary Cellular Automata demo.

* Note that the initial state, specified by the initial_conditions, is considered the result of a timestep, so that the activity_rule is actually invoked t - 1 times.