Welcome to the EvolutionaryModelDiscovery Documentation

Automated agent rule generation and importance evaluation for agent-based models with Genetic Programming and Random Forests.

EvolutionaryModelDiscovery is a framework through which Factors affecting human decision making maybe be assessed on their importance towards the production of a social outcome.

The first phase of EvolutionaryModelDiscovery is evolving combinations of Factors to generate mechanisms for a behavior rule of interest in an ABM. For this, EvolutionaryModelDiscovery performs genetic programming on the supplied ABM, automatically generating and testing versions of the ABM with hypothetical combinations of these Factors.


  • Gunaratne, C., & Garibay, I. (2017, July). Alternate social theory discovery using genetic programming: towards better understanding the artificial anasazi. In Proceedings of the Genetic and Evolutionary Computation Conference (pp. 115-122). ACM.
  • Gunaratne, C., & Garibay, I. (2018). Evolutionary Model Discovery of Factors for Farm Selection by the Artificial Anasazi. arXiv preprint arXiv:1802.00435.`_


EvolutionaryModelDiscovery has the following requirements:

  • Python 2.7 or 3.6
  • NetLogo 6 or higher
  • JDK 1.8 (Make sure to set the path to the jdk)

EvolutionaryModelDiscovery has several other Python package dependencies that are resolved upon installation.


You can install EvolutionaryModelDiscovery for NetLogo with pip:

pip install evolutionarymodeldiscovery

Indices and tables