NetLogo

Last updated
NetLogo
Netlogo.png
Netlogo-ui.png
Paradigms multi-paradigm: educational, procedural, agent-based, simulation
Family Lisp
Designed by Uri Wilensky
Developer Northwestern University Center for Connected Learning and Computer-Based Modeling
First appeared1999;24 years ago (1999)
Stable release
6.3.0 [1]   OOjs UI icon edit-ltr-progressive.svg / 30 September 2022;8 months ago (30 September 2022)
Typing discipline Dynamic, strong
Scope Lexical
Implementation language Scala, Java
Platform IA-32, x86-64
OS Cross-platform: JVM
License GPL
Filename extensions .nlogo, .nlogo3d, .nls
Website ccl.northwestern.edu/netlogo
Influenced by
Logo, StarLogo

NetLogo is a programming language and integrated development environment (IDE) for agent-based modeling.

Contents

About

NetLogo was designed by Uri Wilensky, in the spirit of the programming language Logo, to be "low threshold and no ceiling". It teaches programming concepts using agents in the form of turtles, patches, links and the observer. [2] NetLogo was designed with multiple audiences in mind, in particular: teaching children in the education community, and for domain experts without a programming background to model related phenomena. [3] Many scientific articles have been published using NetLogo. [4]

The NetLogo environment enables exploration of emergent phenomena. It comes with an extensive models library including models in a variety of domains, such as economics, biology, physics, chemistry, psychology, and system dynamics. [5] NetLogo allows exploration by modifying switches, sliders, choosers, inputs, and other interface elements. [6] Beyond exploring, NetLogo allows authoring new models and modifying extant models.

NetLogo is open source and freely available from the NetLogo website. [7] It is in use in a wide variety of educational contexts from elementary school to graduate school. [8] [9] [10] [11] Many teachers make use of NetLogo in their curricula. [12] [13]

NetLogo was designed and authored by Uri Wilensky, [14] director of Northwestern University's Center for Connected Learning and Computer-Based Modeling (CCL). [15]

Other features

In addition to agent-based modeling, NetLogo also includes basic support for dynamic system modeling.

Books

Several books have been published about NetLogo. [16]

Books available in print include:

Books available online include:

Online courses

As of 2019, several massive open online courses are being offered that use NetLogo for assignments and/or demonstrations:

Technical foundation

NetLogo is free and open-source software, released under a GNU General Public License (GPL). [17] Commercial licenses are also available. It is written in Scala and Java and runs on the Java virtual machine (JVM). [18] At its core is a hybrid interpreter/compiler that partially compiles user code to JVM bytecode. [19]

NetLogo Web is a version that runs on JavaScript, instead of the JVM, so models may be run in a web browser. However, it does not have all features of the desktop version, and the official website advises that the "desktop version of NetLogo is recommended for most uses". [20]

Examples

A simple multiagent model in NetLogo is the Wolf-Sheep Predation model, [21] which is shown in the screenshot above. It models the population growth of a predator/prey system over time. It has the following characteristics:

HubNet

HubNet is a technology that uses NetLogo to run participatory simulations in the classroom. [22] In a participatory simulation, a whole group of users takes part in enacting the behavior of a system. Using an individual device, such as a networked computer or Texas Instruments graphing calculator, each user acts as a separate, independent agent. One example of a HubNet activity is Tragedy of the Commons, [23] which models the economic problem called the tragedy of the commons.

See also

Related Research Articles

<span class="mw-page-title-main">Logo (programming language)</span> Computer programming language

Logo is an educational programming language, designed in 1967 by Wally Feurzeig, Seymour Papert, and Cynthia Solomon. Logo is not an acronym: the name was coined by Feurzeig while he was at Bolt, Beranek and Newman, and derives from the Greek logos, meaning word or thought.

<span class="mw-page-title-main">Seymour Papert</span> MIT mathematician, computer scientist, and educator

Seymour Aubrey Papert was a South African-born American mathematician, computer scientist, and educator, who spent most of his career teaching and researching at MIT. He was one of the pioneers of artificial intelligence, and of the constructionist movement in education. He was co-inventor, with Wally Feurzeig and Cynthia Solomon, of the Logo programming language.

<span class="mw-page-title-main">Evanston, Illinois</span> City in Illinois, United States

Evanston is a city in Cook County, Illinois, situated on the North Shore along Lake Michigan. A suburb of Chicago, Evanston is 12 miles (19 km) north of Downtown Chicago, bordered by Chicago to the south, Skokie to the west, Wilmette to the north, and Lake Michigan to the east. Evanston had a population of 78,110 as of 2020.

<span class="mw-page-title-main">Distributed artificial intelligence</span>

Distributed Artificial Intelligence (DAI) also called Decentralized Artificial Intelligence is a subfield of artificial intelligence research dedicated to the development of distributed solutions for problems. DAI is closely related to and a predecessor of the field of multi-agent systems.

<span class="mw-page-title-main">Computer simulation</span> Process of mathematical modelling, performed on a computer

Computer simulation is the process of mathematical modelling, performed on a computer, which is designed to predict the behaviour of, or the outcome of, a real-world or physical system. The reliability of some mathematical models can be determined by comparing their results to the real-world outcomes they aim to predict. Computer simulations have become a useful tool for the mathematical modeling of many natural systems in physics, astrophysics, climatology, chemistry, biology and manufacturing, as well as human systems in economics, psychology, social science, health care and engineering. Simulation of a system is represented as the running of the system's model. It can be used to explore and gain new insights into new technology and to estimate the performance of systems too complex for analytical solutions.

<span class="mw-page-title-main">Peloton</span> Main group of bicycle riders

In a road bicycle race, the peloton is the main group or pack of riders. Riders in a group save energy by riding close to other riders. The reduction in drag is dramatic; riding in the middle of a well-developed group, drag can be reduced to as little as 5%–10%. Exploitation of this potential energy saving leads to complex cooperative and competitive interactions between riders and teams in race tactics. The term is also used to refer to the community of professional cyclists in general.

<span class="mw-page-title-main">Multi-agent system</span> Built of multiple interacting agents

A multi-agent system is a computerized system composed of multiple interacting intelligent agents. Multi-agent systems can solve problems that are difficult or impossible for an individual agent or a monolithic system to solve. Intelligence may include methodic, functional, procedural approaches, algorithmic search or reinforcement learning.

<span class="mw-page-title-main">Computational sociology</span> Branch of the discipline of sociology

Computational sociology is a branch of sociology that uses computationally intensive methods to analyze and model social phenomena. Using computer simulations, artificial intelligence, complex statistical methods, and analytic approaches like social network analysis, computational sociology develops and tests theories of complex social processes through bottom-up modeling of social interactions.

An agent-based model (ABM) is a computational model for simulating the actions and interactions of autonomous agents in order to understand the behavior of a system and what governs its outcomes. It combines elements of game theory, complex systems, emergence, computational sociology, multi-agent systems, and evolutionary programming. Monte Carlo methods are used to understand the stochasticity of these models. Particularly within ecology, ABMs are also called individual-based models (IBMs). A review of recent literature on individual-based models, agent-based models, and multiagent systems shows that ABMs are used in many scientific domains including biology, ecology and social science. Agent-based modeling is related to, but distinct from, the concept of multi-agent systems or multi-agent simulation in that the goal of ABM is to search for explanatory insight into the collective behavior of agents obeying simple rules, typically in natural systems, rather than in designing agents or solving specific practical or engineering problems.

The Northwestern University Dance Marathon, commonly known as NUDM, is a philanthropic dance marathon held every March at Northwestern University in Evanston, Illinois. Founded in 1975, NUDM is one of the nation's most established and largest entirely student-run philanthropies. NUDM is one of the only annual Dance Marathons in the country to continually change its primary beneficiary. NUDM has raised over $1 million for its beneficiaries each year since 2011, and involves over 1,000 students participating as dancers and committee members. Since 1997, the Evanston Community Foundation has been NUDM's secondary beneficiary.

The belief–desire–intention software model (BDI) is a software model developed for programming intelligent agents. Superficially characterized by the implementation of an agent's beliefs, desires and intentions, it actually uses these concepts to solve a particular problem in agent programming. In essence, it provides a mechanism for separating the activity of selecting a plan from the execution of currently active plans. Consequently, BDI agents are able to balance the time spent on deliberating about plans and executing those plans. A third activity, creating the plans in the first place (planning), is not within the scope of the model, and is left to the system designer and programmer.

<span class="mw-page-title-main">Constructionism (learning theory)</span> Learning theory involving the construction of mental models

Constructionist learning is the creation by learners of mental models to understand the world around them. Constructionism advocates student-centered, discovery learning where students use what they already know, to acquire more knowledge. Students learn through participation in project-based learning where they make connections between different ideas and areas of knowledge facilitated by the teacher through coaching rather than using lectures or step-by-step guidance. Further, constructionism holds that learning can happen most effectively when people are active in making tangible objects in the real world. In this sense, constructionism is connected with experiential learning and builds on Jean Piaget's epistemological theory of constructivism.

In computer science multi-agent planning involves coordinating the resources and activities of multiple agents.

Web-based simulation (WBS) is the invocation of computer simulation services over the World Wide Web, specifically through a web browser. Increasingly, the web is being looked upon as an environment for providing modeling and simulation applications, and as such, is an emerging area of investigation within the simulation community.

Agent-based social simulation consists of social simulations that are based on agent-based modeling, and implemented using artificial agent technologies. Agent-based social simulation is a scientific discipline concerned with simulation of social phenomena, using computer-based multiagent models. In these simulations, persons or group of persons are represented by agents. MABSS is a combination of social science, multiagent simulation and computer simulation.

The Handle System is the Corporation for National Research Initiatives's proprietary registry assigning persistent identifiers, or handles, to information resources, and for resolving "those handles into the information necessary to locate, access, and otherwise make use of the resources".

<span class="mw-page-title-main">Nick Jennings (computer scientist)</span> British computer scientist (b.1966)

Nicholas Robert Jennings is a British computer scientist and the current Vice-Chancellor and President of Loughborough University. He was previously the Vice-Provost for Research and Enterprise at Imperial College London, the UK's first Regius Professor of Computer Science, and the inaugural Chief Scientific Adviser to the UK Government on National Security. His research covers the areas of AI, autonomous systems, agent-based computing and cybersecurity. He is involved in a number of startups including Aerogility, Contact Engine, Crossword Cyber Security, and Reliance Cyber Science. He is also an adviser to Darktrace, a member of the UK Government's AI Council, chair of the National Engineering Policy Centre and a council member for the Engineering and Physical Sciences Research Council.

<span class="mw-page-title-main">GAMA Platform</span>

GAMA is a simulation platform with a complete modelling and simulation integrated development environment (IDE) for building spatially explicit agent-based simulations.

References

  1. "Release 6.3.0". 30 September 2022. Retrieved 24 October 2022.
  2. Wilensky, Uri (1999–2019). "Types of Agents in NetLogo". The Center for Connected Learning and Computer-Based Modeling (CCL). Evanston, Illinois: Northwestern University. Retrieved 2019-05-03.
  3. Kornhauser, Daniel; Rand, William; Wilensky, Uri (November 15–17, 2007). Visualization Tools for Agent-Based Modeling in NetLogo (PDF). Agent2007. The Center for Connected Learning and Computer-Based Modeling (CCL). Chicago, Illinois: Northwestern University. Retrieved 2019-05-03.
  4. Wilensky, Uri (1999–2019). "NetLogo References". The Center for Connected Learning and Computer-Based Modeling (CCL). Evanston, Illinois: Northwestern University. Retrieved 2019-05-03.
  5. Wilensky, Uri (1999–2019). "NetLogo Models Library". The Center for Connected Learning and Computer-Based Modeling (CCL). Evanston, Illinois: Northwestern University. Retrieved 2019-05-03.
  6. Wilensky, Uri (1999–2019). "Interface Guide". The Center for Connected Learning and Computer-Based Modeling (CCL). Evanston, Illinois: Northwestern University. Retrieved 2019-05-03.
  7. Wilensky, Uri (1999–2019). "Download NetLogo". The Center for Connected Learning and Computer-Based Modeling (CCL). Evanston, Illinois: Northwestern University. Retrieved 2019-05-03.
  8. Sengupta, Pratim; Wilensky, Uri (2011). "Lowering the Learning Threshold: Multi-Agent-Based Models and Learning Electricity" (PDF). The Center for Connected Learning and Computer-Based Modeling (CCL). Evanston, Illinois: Northwestern University. Retrieved 2019-05-03.
  9. Wilensky, Uri; Novak, Michael (2010). "Teaching and Learning Evolution as an Emergent Process: The BEAGLE project (chapter 10)". In Taylor, R.; Ferrari, M. (eds.). Epistemology and Science Education: Understanding the Evolution vs. Intelligent Design Controversy (PDF). New York: Routledge.
  10. Blikstein, Paulo; Wilensky, Uri (2009). "An Atom is Known by the Company it Keeps: A Constructionist Learning Environment for Materials Science Using Agent-Based Modeling (CCL)" (PDF). International Journal of Computers for Mathematical Learning. 14 (2): 81–119. doi:10.1007/s10758-009-9148-8. S2CID   10500589.
  11. Levy, Sharona T.; Wilensky, Uri (2009). "Students' Learning with the Connected Chemistry (CC1) Curriculum: Navigating the Complexities of the Particulate World" (PDF). Journal of Science Education and Technology. 18 (3): 243–254. Bibcode:2009JSEdT..18..243L. doi:10.1007/s10956-009-9145-7. S2CID   62526922.
  12. Wilensky, Uri (1999–2019). "University, secondary, and online courses that utilize NetLogo". The Center for Connected Learning and Computer-Based Modeling (CCL). Evanston, Illinois: Northwestern University. Retrieved 2019-05-03.
  13. Holmes, David M. "Comp Sci at Stuyvesant with D. Holmes". Professional web site for David Holmes. New York City, New York, United States. Retrieved 2019-05-03.
  14. "Profile: Dr. Uri Wilensky".
  15. Tisue, Seth; Wilensky, Uri (October 2004). NetLogo: Design and Implementation of a Multi-Agent Modeling Environment (PDF). Agent2004. Chicago, Illinois. Retrieved October 4, 2012.
  16. Wilensky, Uri (1999–2019). "NetLogo: Resources and Links". The Center for Connected Learning and Computer-Based Modeling (CCL). Evanston, Illinois: Northwestern University. Retrieved 2019-05-03.
  17. "Under what license is NetLogo released? Is the source code available?".
  18. "NetLogo Frequently Asked Questions (FAQ)". December 14, 2015.
  19. Stonedahl, Forrest; Tisue, Seth; Wilensky, Uri (2006). Breeding faster turtles: Progress towards a NetLogo compiler (PDF). Agent 2006. Chicago, Illinois. Retrieved October 22, 2012.
  20. "NetLogo Web".
  21. "Wolf Sheep Predation".
  22. "HubNet Guide". December 14, 2015.
  23. Wilensky, Uri (2002). "Tragedy of the Commons HubNet". The Center for Connected Learning and Computer-Based Modeling (CCL). Evanston, Illinois: Northwestern University. Retrieved 2019-05-03.