Evolutionary Modeling of Complex Networks

Project Leader: Telmo Menezes (telmo@telmomenezes.com)
Google Code Project Page: http://code.google.com/p/synthetic/
License: GPL


Synthetic is a scientific experimentation tool aimed at studying the genesis and dynamics of complex networks using multi-agent simulations and evolutionary computation.

Following a standard view in Complexity Science, networks are seen as the emergent outcome of the local, low-level interactions of autonomous agents. The idea of using a multi-agent simulation to model a complex network is not new, but it presents challenges to the human modeler. As simplifying assumptions are removed, or the target network becomes more complex, the discovery of the corresponding low-level mechanism becomes harder. Synthetic aims at aiding and, to a degree, automating this discovery process with evolutionary search.

There are two broad classes of research activity that this approach is suited for:

1) Discovery of low-level mechanisms that explain some observed reality
2) Generation of low-level mechanisms that produce some desired outcome

The first case corresponds to more theoretical scientific endeavours, where the main goal is to arrive at theory that explains the origin and dynamics of some interesting complex network. An example could be an attempt to understand the behaviors of participants in an Internet social network.  The second case is of a more of a practical nature, aiming at the engineering of systems that possess qualities observed in natural systems. An very ambitious example of such a goal could be that of creating an artificial neural network that replicates the learning and reasoning abilities of the human brain. Of course, there is also the possibility of application with both components. One might wish to explain the underlaying mechanisms of a complex network in order to then influence its behavior.

Synthetic is thus aimed at scientific users in diverse fields, from statistical mechanics to social sciences.

The first version of this tool was developed as part of the Webfluence project, with the goal of discovering structural-semantic explanatory models for blog networks.


This work has been partially supported by the French National Agency of Research (ANR) through grant "Webfluence'' #ANR-08-SYSC-009.

Technical Details

Synthetic is a library of Java classes. It includes a number of core classes that are common to all domains of application, and also sub-packages that implement simulation environments for specific domains. Example programs based on the Synthetic library are provided.


Feel free to contact the main author with any questions, suggestions or technical problems. The author is also very interested to know about any research applications and results obtained with the help of Synthetic.

Contributors to this page: telmo and webmaster .
Page last modified on Sunday 16 January, 2011 23:01:26 by telmo.