NetLogo: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
Line 63: Line 63:
The system also can be used as research tool to create analytical models.
The system also can be used as research tool to create analytical models.


== Example ==
== Party model example ==


See also [[NetLogo Wolf Sheep Predation model]] and [[System Dynamics (NetLogo)]]
See also [[NetLogo Wolf Sheep Predation model]] and [[System Dynamics (NetLogo)]] for other NetLogo examples.


Below we introduce the NetLogo Party model <ref name="wilensky1979b">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. </ref>, a simple group dynamics system example based on the work of the pioneering economist Thomas Schelling <ref> Schelling, T. (1978). Micro-motives and Macro-Behavior. New York: Norton.</ref>. It is also discussed in Resnick, M. & Wilensky, U. (1998) <ref>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/ </ref>
Below we introduce the NetLogo Party model <ref name="wilensky1979b">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. </ref>, a simple group dynamics system example based on the work of the pioneering economist Thomas Schelling <ref> Schelling, T. (1978). Micro-motives and Macro-Behavior. New York: Norton.</ref>. It is also discussed in Resnick, M. & Wilensky, U. (1998) <ref>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/ </ref>
Line 71: Line 71:
=== Purpose of the model ===
=== 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. Such models help creating economic models of human behavior
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 [http://ccl.northwestern.edu/netlogo/models/Segregation segration model] about urban housing that is based on the idea that agents want make sure that they live near some of their own. The effect is separation, even if the preferences are not very high. Such models help creating economic models of human behavior, i.e. how systems are created by the aggregation of individual behavior.


According to the author <ref name="wilensky1979b"/>, 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.}}
According to the author <ref name="wilensky1979b"/>, 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.}}

Revision as of 16:43, 15 March 2019

Draft

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:

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.

Agent vs. system dynamcis. Only 3 sheep left in the agent model after 307 ticks

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.

Party model example

See also NetLogo Wolf Sheep Predation model and System Dynamics (NetLogo) for other NetLogo examples.

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 about urban housing that is based on the idea that agents want make sure that they live near some of their own. The effect is separation, even if the preferences are not very high. Such models help creating economic models of human behavior, i.e. how systems are created by the aggregation of individual behavior.

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.”

Example runs

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.

NetLogo party model, 33% tolerance. Run 1
NetLogo party model, 33% tolerance. Run 2

If we set tolerance to 66%, we find four single sex groups and two mixed groups after three ticks.

NetLogo party model, 66% tolerance. Run 1

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:

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

  1. 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. 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.
  3. Schelling, T. (1978). Micro-motives and Macro-Behavior. New York: Norton.
  4. 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. 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