Actions

Complex Systems Summer School 2018-Tutorials: Difference between revisions

From Santa Fe Institute Events Wiki

No edit summary
(No difference)

Revision as of 17:53, 12 June 2018

Complex Systems Summer School 2018


Please use this space to organize any tutorial you would like to offer your peers. Thanks.

Python Agent Based Modelling- Mesa and Mesa Packages

Mesa is a relatively new ABM library based in the Python programming language. This tutorial will run through two quick ABMs using Mesa as well as a quick orientation of MESA API and GitHub page.

Mesa Packages is a new way to conceptualize ABM libraries with the idea of developing a repository of algorithms which can be integrated into ABMs. The goal is for the development of more complex models by having a rich repository of optimized algorithms which researchers can apply to different data or recombine in novel ways to explore a complex phenomenon. At the very least, it will hopefully make models easier to assemble and reduce the threshold so more people can build ABMs to support their research.

If you have any questions or thoughts please talk to me in person (Tom Pike) or send me an email tpike3@gmu.edu

Mesa API: https://mesa.readthedocs.io/en/master/overview.html

Mesa GitHub: https://github.com/projectmesa

Mesa Packages: https://github.com/projectmesa/mesa/wiki/Mesa-Packages

Agent-Based Model Analysis by Controlling NetLogo from Python with NL4Py

If you're interested in using Python libraries to analyze output from your NetLogo models you can do so with NL4Py.

You can get started with a simple: pip install nl4py

GitHub: https://github.com/chathika/NL4Py

Pypi: https://pypi.org/project/NL4Py/

Also, there are some Jupyter Notebook examples of using DEAP for calibration on multiple processors and SALib for sensitivity analysis via NL4Py here: https://github.com/chathika/NL4Py/blob/master/examples/ParameterCalibrationWithDEAP.ipynb

https://github.com/chathika/NL4Py/blob/master/examples/SensitivityAnalysis.ipynb

It uses a different architecture from PyNetLogo, pushing the parallelization of headless workspaces to the JVM instead of leaving it to the Python application developer.

Please feel free to post any issues on the GitHub repository any arise!

Chathika

Interested Participants:

  • Person 1
  • Person 2
  • Person 3