NetLogo
Introduction
“NetLogo is a cross-platform multi-agent programmable modeling environment. NetLogo was authored by Uri Wilensky in 1999 and is under continuous development at the CCL (the people who brought you StarLogoT). NetLogo also powers the HubNet participatory simulation system”. Netlogo can be used both to teach programing, model building and understanding of complex phenomena through models.
NetLogo can be described as a programming microworld. It is officially described as a programmable modeling environment for simulating natural and social phenomena. “NetLogo is particularly well suited for modeling complex systems developing over time. Modelers can give instructions to hundreds or thousands of "agents" all operating independently. This makes it possible to explore the connection between the micro-level behavior of individuals and the macro-level patterns that emerge from the interaction of many individuals.” (What is NetLogo?, retrieved 09:54, 18 September 2009 (UTC))
“NetLogo is a cross-platform multi-agent programmable modeling environment. NetLogo was authored by Uri Wilensky in 1999 and is under continuous development at the CCL (the people who brought you StarLogoT). NetLogo also powers the HubNet participatory simulation system”.
NetLogo is a free environment and as of Feb 2019 is still under active development and a large model library. We tested this under Windows 10 and Ubuntu 18. - Daniel K. Schneider (talk) 11:40, 11 March 2019 (CET)
See also:
- AgentSheets, a commercial educational environment with somewhat similar aims.
- Agent-based modelling and simulation
- System Dynamics (FreeStyler), a free alternative for the system dynamics module
- System Dynamics (NetLogo), a more detailed introduction to system dynamics modeling with NetLogo
The software
NetLogo is free and runs on must systems (since it is programmed in Java).
As of Feb 2019, this is a live projects, its last update in June 2018.
You also can use NetLogo Web, a browser-based platform. However, it does not work as well as the the desktop platform and it does have some restrictions
I suggest donating some money to this open source project
since it its authors managed to create a useful environment and keep it going. - Daniel K. Schneider (talk) 16:32, 14 March 2019 (CET)
Creating simple agents
It has an easy to use graphical interface to create simple simulations. You may create a world and parametrize turtles that move around. At some point one then can add programming logic to these objects. Have them move around more smartly, interact with others or with the place on which they currently sit. Turtles can have any shape, i.e. a car.
Netlogo simulations
In addition to a learning environment for simple agent-based programming, NetLogo is a modeling and simulation tool of several kinds.
(1) Firstly, by definition, a multi-turtle environment like NetLogo is an Agent-based modelling and simulation (ABMS) environment since the turtles interact with each other and the environment. You may play with parameters and use the “BehaviorSpace [...] software tool integrated with NetLogo that allows you to perform experiments with models. It runs a model many times, systematically varying the model's settings and recording the results of each model run. This process is sometimes called "parameter sweeping". It lets you explore the model's "space" of possible behaviors and determine which combinations of settings cause the behaviors of interest.” (BehaviorSpace)
A default installation contains many models from several subject areas, including a large section of curricular materials.
(2) The system dynamics modeler allows creating system dynamics models
The System Dynamics manual (retrieved 09:54, 18 September 2009 (UTC)) defines the difference between the two models - ABMS vs. system dynamics like this: “With the agent-based approach we usually use in NetLogo, you program the behavior of individual agents and watch what emerges from their interaction. In a model of Wolf-Sheep Predation, for example, you provide rules for how wolves, sheep and grass interact with each other. When you run the simulation, you watch the emergent aggregate-level behavior: for example, how the populations of wolves and sheep change over time.”. See System Dynamics (NetLogo) for an example.
(3) With the Hubnet model you may “run participatory simulations in the classroom. In a participatory simulation, a whole class takes part in enacting the behavior of a system as each student controls a part of the system by using an individual device, such as a networked computer or Texas Instruments graphing calculator.” (HubNet, retrieved 09:54, 18 September 2009 (UTC)).
Netlogo includes additional features, consult the NetLogo web site.
Example
The following screen capture shows a comparison between an agent-based and a simulation-based predation model made by Wilensky (2005). [1]. In the simple agent model the wolves at some point will eat all the sheep and then die out. In the simulation model, populations can recover since fractions of a single wolf or sheep are allowed. A second, more comple sheep - wolves - grass model is more stable.
We discuss both of types of models in the NetLogo Wolf Sheep Predation model and System Dynamics (NetLogo).
For researchers
NetLogo has a configurable logging feature to study user behavior and interaction. For example, the system can be used in education to teach simulation thinking, curricular topics like population dynamics, and programming. Student data can be collected for various studies.
The system also can be used as research tool to create analytical models.
Example
See also NetLogo Wolf Sheep Predation model and System Dynamics (NetLogo)
Below we introduce the NetLogo Party model [2], a simple group dynamics system example based on the work of the pioneering economist Thomas Schelling [3]. It is also discussed in Resnick, M. & Wilensky, U. (1998) [4]
Purpose of the model
This analytical model explains how preferences about opposite gender presence in a group can lead (or not) to segregation of genders in party groups. In the library there is a related [ segration model] in urban housing.
According to the author [2], a cocktail party is modeled. {{quotation. The men and women at the party form groups. A party-goer becomes uncomfortable and switches groups if their current group has too many members of the opposite sex. [...] The party-goers have a TOLERANCE that defines their comfort level with a group that has members of the opposite sex. If they are in a group that has a higher percentage of people of the opposite sex than their TOLERANCE allows, then they are considered uncomfortable”, and they leave that group to find another group. Movement continues until everyone at the party is “comfortable” with their group.}}
Users can explore the following parameters:
- tolerance. E.g. 60% means that groups with less or equal 60% are tolerated. Else the agent moves to a next group
- num-groups
- number. Number of invited people.
“The NUMBER HAPPY and SINGLE SEX GROUPS plots and monitors show how the party changes over time. NUMBER HAPPY is how many party-goers are happy (that is, comfortable). SINGLE SEX GROUPS shows the number groups containing only men or only women.”
The following run shows, that for a party with 30 participants, max. group size of 6 and tolerance of opposite sex = 33 we find five stable single sex groups after 10 iterations. Since distribution in the setup and movement of people is probabilistic, different runs can produce different results. The next screen shot shows a different result, stable after 7 ticks.
If we set tolerance to 66%, we find four single sex groups and two mixed groups after three ticks.
Educational benefits
When NetLogo is used as modeling tool by students, it “promotes several processes of reasoning that are central to science: developing original hypotheses, formalizing ideas, researching existing so-lutions, and critical analysis of results.” (Wilensky & Reisman 2006:205) [5]
Moreover, we also can find a "learning through building" approach that is popular in engineering sciences: “If you can’t build it, then you don’t under-stand it. Our approach of modeling underlying mechanisms takes the engineer’sdictum seriously. To model a system, it is not sufficient to understand only a hand-ful of isolated facts about it. Rather, one must understand many facts and concepts about the system and, most important, how these relate to each other.The process of modeling is inherently about developing such conceptual relations and seeking out new facts and concepts when a gap in one’s knowledge is discovered.” (Wilensky & Reisman 2006:202) [5]
Classical vs. embodied models
According to Wilensky and Reisman (2006), [5], embodied, agent-based models do have some advantages over system-dynamics (or similar) models. In a study, “using agent-based, embodied modeling tools, students model the microrules underlying a biological phenomenon and observe the resultant aggregate dynamics.” In the two cases described, “students framed hypotheses, constructed multiagent models that incorporate these hypotheses, and tested these by running their models and observing the outcomes. Contrasting these cases against traditionally used, classical equation-based approaches, we argue that the embod-ied modeling approach connects more directly to students’ experience, enables ex-tended investigations as well as deeper understanding, and enables “advanced” top-ics to be productively introduced into the high school curriculum.”
Links
- NetLogo HomePage. This website includes the downloads, user manual, extensions, ready models from a library, etc.
Tutorials:
- Pdf tutorial document describing how to build a predator-prey model using NetLogo. Created by Erin McNelis, Associate Professor, Mathematics and Computer Science Department, Western Carolina University, Cullowhee, NC.
Bibliography
Lotka, A.J. (1956) Elements of Mathematical Biology. New York: Dover.
Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
Wilensky, U & Rand, W. (2015). Introduction to Agent-Based Modeling: Modeling Natural, Social and Engineered Complex Systems with NetLogo. Cambridge, MA. MIT Press.
Kornhauser, D., Wilensky, U., & Rand, W. (2009). Design guidelines for agent based model visualization. Journal of Artificial Societies and Social Simulation, JASSS, 12(2), 1.
Wilensky, U. & Reisman, K. (1999). Connected Science: Learning Biology through Constructing and Testing Computational Theories – an Embodied Modeling Approach. International Journal of Complex Systems, M. 234, pp. 1 - 12. (This model is a slightly extended version of the model described in the paper.)
Wilensky, U., & Reisman, K. (2006). Thinking Like a Wolf, a Sheep, or a Firefly: Learning Biology Through Constructing and Testing Computational Theories—An Embodied Modeling Approach. Cognition and Instruction, 24(2), 171–209. https://doi.org/10.1207/s1532690xci2402_1 . A free version is available at http://ccl.northwestern.edu/papers/2006/Thinking_Like_a_Wolf(1).pdf (retrieved Feb 2019).
Cited with footnotes
- ↑ Wilensky, U. (2005). NetLogo Wolf Sheep Predation (Docked Hybrid) model. http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation(DockedHybrid). Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
- ↑ 2.0 2.1 Wilensky, U. (1997). NetLogo Party model. http://ccl.northwestern.edu/netlogo/models/Party. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
- ↑ Schelling, T. (1978). Micro-motives and Macro-Behavior. New York: Norton.
- ↑ Resnick, M. & Wilensky, U. (1998). Diving into Complexity: Developing Probabilistic Decentralized Thinking through Role-Playing Activities. Journal of Learning Sciences, Vol. 7, No. 2. http://ccl.northwestern.edu/papers/starpeople/
- ↑ 5.0 5.1 5.2 Wilensky, U., & Reisman, K. (2006). Thinking Like a Wolf, a Sheep, or a Firefly: Learning Biology Through Constructing and Testing Computational Theories—An Embodied Modeling Approach. Cognition and Instruction, 24(2), 171–209. https://doi.org/10.1207/s1532690xci2402_1