Tutorials
As mentioned on the ComplexityWorkshop home page, we are providing a suite of tutorials on:
-
Agent Based Modeling
-
Modern Heuristics for Optimization
-
Genetic Algorithms, Ant Colony Optimization, others
-
Learning and Forecasting
-
Neural Nets, Genetic Programming, others
-
Modern Random Graph Theory
-
Small Worlds, Power Law, Local Knowledge Searching
Agent Based Modeling with NetLogo and RePast
Agent Based Modeling (ABM) systems consist of "agents", individual objects independently interacting on "spaces", grids or networks in two or three spatial dimensions, over "time", ticks in a model space managed by a scheduler. Thus ABM combines time, space and identity into a universe being modeled.
NetLogo and RePast are two mature and useful ABM systems, implemented entirely in Java. NetLogo uses its own modeling language, derived from MIT's Logo and StarLogo languages. Thus while NetLogo is a Java based system, it does not expose the modeler to Java directly. RePast, on the other hand, performs the modeling directly in Java, providing a Java based framework including scheduling, agents, spaces, displays, charting and so on. In addition to grid spaces, RePast provides hexagonal spaces and network spaces consisting of nodes and edges. It even includes a Geographical Information System (GIS) interface, allowing the agents to live on maps.
Lets look at the components of a typical model. This is running in RePast. It is a version of the SugarScape model made famous by Axtell and Epstein in their 1996 book Growing Artificial Societies.
This shows the main elements of most models:
-
Agents: Software objects living in a spatial world, interacting both with the grid they live on and other agents, typically the nearby ones. The agents can be of different types such as hunter, warrior, and so on. They have simple behavior rules that generate the interesting properties of the model.
-
Grids: Elements of the spatial world that the agents move on. The grid elements do not move but may have characteristics like food, heat, shelter, color and so on. We outline one of the grid elements which is colored yellow to show that it contains more sugar than the white grid elements.
-
Space: The collection of agents and grids form a set of layers, collectively called the Space, Scape or Display Surface.
-
Controls: The model is controlled by a panel of controls who's job it is to open, start, stop, single step, and continuously run the model. It typically also provides help and display common information such as the number of time steps, or "ticks" the model has run.
-
Parameters: The model usually needs input for changing the run-time parameters. Above we can set, for example, the number of agents running in the model, and the maximum distance they can see other agents and sugar. These are provided by a Parameters panel.
-
Charts: The findings of the model are often shown in charts and graphs provided by the ABM system.
In addition, these systems include "inspectors" .. popup windows which show the contents of grid elements and agents when double clicks. They also may have the ability to take image snapshots, make movies, and build web pages containing the model.
Inspectors
|
Movies
|
Web Pages
|
Although we focused on RePast above, NetLogo exhibits the same overall structure. It has the added feature of producing webpages, allowing for easy sharing of models with others.
NetLogo and RePast "First Steps"
Now you can go on to the NetLogo and RePast initial First Steps pages.