How does it work?
To be able to study the behaviour of complex systems NetEvo provides two main functions, simulation and evolution of dynamical networks. To make use of these features, end-users must provide the following to customise the framework for the problem of interest:
By default NetEvo includes several standard types for each of these categories, however, the option always exists to define fully custom implementations that are better suited.
- Set of component dynamics for nodes and edges,
- An initial topology, unless the network can grow,
- The evolutionary process that searches for improved system configurations,
- The performance measure Q to guide evolution.
To bring together simulation and evolution in a coherent way, the framework uses the idea of a supervisor, illustrated below. Simulation is carried out by taking the component dynamics and network topology, and then numerically solving the system for a specified period of time. The solvers are a central part of NetEvo and currently focus on systems that can be described using ordinary differential equations (ODEs) or discrete time mappings.
Figure 1: Flowchart of a supervised network
Evolution of the system is performed by the supervisor which can be viewed as a form of optimiser. This takes as input an initial topology, simulated output from the system and user defined constraints, and aims to return an optimal or enhanced topology and parameter set. Changes to the system are assessed by using the performance measure, with smaller values representing an improved performance. Optimisation is performed by using a simulated annealing meta-heruistic to search for near optimal configurations. This method was chosen because it has been shown to perform well for a wide range of problems with an unknown prior structure. As with all of NetEvo, if an alternative optimiser is required it is possible to define a custom type and still make use of all other build-in modules. The ability to piece together various modules for a specific need is important in allowing the framework to be widely used.
NetEvo in action
The following movies have been generated from NetEvo data, visualised using Processing and Traer.Physics. These illustrate both the idea of a dynamical network (nodes and edges are fixed with dynamics taking place on this structure) and an evolutionary network (nodes and edges are created and destroyed). To see more examples of NetEvo in action head over to The NetEvo Gallery.
Finding out more
For latest news on the project see our new feed and if you are interested in helping out contact us directly at firstname.lastname@example.org. Further information can also be found on our Sourceforge page or within the introductory paper in arXiv.