Tuesday, May 27, 2014

A semester with Spatial Agent-based Models

This last semester, I taught a class entitled "Spatial Agent-based Models of Human-Environment Interactions" which introduces graduate students to the use of agent-based techniques as a means of modelling human-environmental interactions. Within the class we cover a variety of applications in areas such as agriculture, forestry, biodiversity, habitat degradation, interactions between human populations and nonhuman species and urban models. As with many of the courses I teach it combines literature reviews with hands-on modelling. One of the requirements of the class is for students to complete a class project where they develop their own agent-based model in their area of interest. As always there were a range of models and I wanted to share some here.

The first is an agent-based model of gentrification in part of Washington DC. Within the model, developers create new houses, residents can move in and out and as a result the demographics of the area changes over time. The movie below gives a sense of the model dynamics.

In another model, a student developed a simple agent-based model which asks the question if random police patrols vs. a concentrated police effort can reduce the number of burglaries in an area. The burglars have a simple routine and commit crimes when their energy reserves fall below a certain threshold. If the police agents see a crime being committed they arrest the burglar. Over time, crime hotspots emerge (detected using DBSCAN) which lead to an increased police presence in an area. The movie below gives a sense of the model dynamics.

In another model,  a student explored how commuting behaviors of agents might lead to traffic jams and how different transportation options might reduce congestion. The movie below gives a sense of the model dynamics.

Overall it was a fun class with many interesting models programed in a variety of languages and toolkits (Python, Java, MASON, NetLogo).