Complex Systems Summer School 2016-Tutorials

From Santa Fe Institute Events Wiki

Complex Systems Summer School 2016

OpenMole : Model exploration

Speaker: Juste Raimbault
Date & Time: Tuesday June 28th, 9pm, Lecture room
Motivation and content: Computational models (of any type) generally have a parameter space that remains only partially explored. Implementing experience plans from scratch may be a difficult task, as is the technical access to large scale computational ressources (clusters or computation grids). The OpenMole software [1] is designed to tackle both in a transparent way : users can embed their models (NetLogo, Java, Scala, R, python, C++ etc.) and create experience plans that can be run on various computational environments. It also provides various calibration and exploration algorithms, such as parallel multi-objective genetic algorithms, or innovative algorithms to determine parameters necessity or explore all possible model behavior.


Genetic Algorithms

Speaker: Andrew Christian (et al.?)
Date & Time: TBD
Motivation and content: It has occured to me that there are a considerable number of folk interested in using genetic algorithms, either in their research or in their CSSS projects. There are also a large number of folk who have experience with such things (myself included --- my masters thesis was multi-objective GAs applied to planes and noise and such).
I'd be willing to get up and run my mouth for an hour or so and field any questions people may have regarding genetic algorithms. The goal would be to convey a subjective understanding of how GAs work, what they are good at/for (as opposed to other optimization strategies), and what the common pitfalls are.
I'd also be interested in knowing if others with experience in such things would like to run their mouths as well. If so, please indicate that interest by adding your name to the speaker list above.

Interested in genetic algorithms

NetLogo Introduction, Monday June 20

Speaker: Abigail Devereaux
Date & Time: Monday, June 20 from 6:00p - 6:50p
Motivation and content: I will walk through the code for the Schelling Segregation model in Netlogo, first on a grid, then on a network. This tutorial is meant for people who want to learn NetLogo. I suggest before we start that you download Netlogo and go through the tutorial here: [[2]]

Decomposition of Games

Speaker: Santiago Guisasola
Date & Time: TBD
Motivation and content: I will present a method of decomposing n-player 2-strategy games into several components. One of these components, the "strategic" component, contains all needed information to compute Nash Equilibria. So... what are the other components good for?

Introduction to Git

Speaker: Fabio
Date & Time: Tuesday, June 21, 8 - 9PM, at Peterson Student Center's Great Hall (our usual room).
Motivation and content: As your model evolves, the source code becomes increasingly more complex and difficult to maintain. Git takes care of this workload by recording every change to your project files, allowing you to review your development history, helping you to try and experiment new model features in a safe way, tracking your model variants and versions, and implementing collaboration with your co-researchers. This tutorial will cover the basics of: commits, branches, merging, versioning, and collaboration. GitHub and GitLab will be discussed.
Suggestions: You should have basic experience using text terminals. Please install Git in your own laptop and make sure to bring it to the tutorial. Also, please open a free account on before joining the tutorial. Optionally, you can also open a free github account. Please contact with any inquiries.

Interested in git

Please sign up and contact

Structural pattern discovery in spatio-temporal data

Speaker: Pavel
Slides: Senin-tutorial-SFI2016.pptx
Date & Time: Wednesday, June 29, 19:00
Motivation and content: The problem of informative pattern discovery in time series traditionally receives much attention. Discovering patterns is important in areas as diverse as medicine, security, astronomy, industry, sciences, and finance, to name just a few, where patterns typically convey critical and actionable information.
In this hands-on tutorial, I review three symbolic discretization-based techniques for time-series patterns discovery: (i) SAX-VSM -- an algorithm for discovery of class-characteristic patterns in contrast time series sets, (ii) GrammarViz -- a grammatical inference-based technique for variable-length time series motif (i.e., frequent pattern) discovery, and (iii) RRA -- a grammatical inference and algorithmic (i.e., Kolmogorov) complexity -based algorithm for variable-length time series discord (i.e., anomaly) discovery. In addition, I discuss our recent effort for discretization parameters optimization.
All discussed techniques are implemented in Java (high-throughput) and R (convenience) and I show how to use these in experimental/exploratory settings.

Source code:
2) Grammarviz2
3) jmotif-R

Supporting papers:
1) SAX-VSM: Interpretable Time Series Classification Using SAX and Vector Space Model
2) GrammarViz 2.0: a tool for grammar-based pattern discovery in time series
3) Time series anomaly discovery with grammar-based compression


Introduction to Machine Learning

Speaker: Ulya Bayram
Date & Time: Wednesday, July 6th, 19:00
Motivation and content: We are using Machine Learning algorithms to solve problems, and we are using the ML tools everyday in our computers, smart phones, even during shopping we are training algorithms of various websites. Based on the main interest I received on the topic, I decided to give a tutorial on ML algorithms, as an introductory course, talking about unsupervised and supervised classification methods, Neural Networks, Deep Learning, and feel free to bring your questions.


  • Will (would be great if you can walk through some example codes. Thanks for doing this!)
  • Marla (I'm interested but have a conflict -- if it can be moved to 20:00 then I'd like to come)
  • Gaetano
  • Cheng Jin
  • Anjali
  • Chris Revell