Telmo Menezes

From InterSciWiki
Jump to: navigation, search


Home

home I am a Computer Scientist and Hacker, with a background and strong interest in Complex Systems and Computational Intelligence. I also love to build cool stuff. I use this site as a repository of information about my projects, publications, and anything else I believe worthy of sharing with the world.

Current appointment: Postdoc researcher at the Centre d’Analyse et de Mathématique Sociales (CAMS), a lab affiliated with L’École des Hautes Études en Sciences Sociales (EHESS) and the French National Center for Scientific Research (CNRS).

Research interests: Complex Systems, Network Science, Multi-Agent Simulations, Genetic Programming, Artificial Life, Bio-Inspired Algorithms.

Publications

Synthetic tool - Synthetic README:

How Synthetic works with a partition

The partition needs not reproduce a lineage structure - you can choose residential groups, football fan clubs, religious adherence or whatever can ethnographically make sense as a factor influencing matrimonial choice. -- Klaus

Hi Klaus,

Ok that's great. Can you send one-society worth of samples of which formats for as in Kinsources - Ore graphs, Pgraphs, *.csv, whatever, and what format the partitions are in? We're ready to post at CoSSci before our talk in May, so I want to get a working example.

Now, if it were an Ore graph, could the partition be for couples? nuclear families? Those would produce comparable results across all kin networks, and the use could produce other partitions as well.

Any documentation on these kinds of practical issues for Synthetic? -- Doug

The Synthetic toolset

Synthetic is a set of tools to generate, analyze and perform evolutionary modeling of complex networks.

It currently aims to provide the following features:

  • Simple semantics to define network generators
  • Evolutionary search for network generative models
  • Eigenvector centrality based metrics
  • Measures of network similarity
  • Network morphogenesis simulation

Author Synthetic is being developed by Telmo Menezes (telmo@telmomenezes.com). Feel free to contact the author with an issues regarding this software.

License Synthetic is released under the GPLv2 open source public license. The full text of the license can be found on the COPYING file.

Machine Learning with Synthetic from Kintip conference Oct 2012

PROJECTS, e.g., 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.

E.g., results, results

Synthetic project page. Overview 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.

Acknowledgments

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.

Implementation on Gordon at SDSC and paper abstract for INSNA 2013

Telmo: Java is not a requirement to implement the algorithms in Synthetic (and not even my favorite language). In fact, my first implementation was a C module with a Python interface. I ended up porting to Java sometime ago because it made it easier to interact with local developers. So I'm not opposed to that at all.

Parallelisation is something that I had in mind from the beginning. It's certainly necessary if we are to tackle very large networks without sampling them. The greatest computational cost is in computing the probabilities of all potential new connections, and this task seems straightforward to distribute.

cc:ed to Robert Sinkowitz cc:ed to Tolga Oztan InterSciWiki:Current_events#Complex_Networks_SNA_2013 Abstract