An introduction to Netlogo agent-based software

Slides:



Advertisements
Similar presentations
Agents and Pervasive Computing Group Università di Modena e Reggio Emilia System Requirements NetLogo is designed: to run almost any type of computer.
Advertisements

Create a Simple Game in Scratch
Tutorial 6 Creating a Web Form
A Cellular Automata Approach to Population Modeling Alexa M. Silverman.
CS 346U Exploring Complexity in Science and Technology Instructor: Melanie Mitchell Textbook: M. Mitchell, Complexity: A Guided Tour (Oxford University.
CIS101 Introduction to Computing Week 05. Agenda Your questions CIS101 Survey Introduction to the Internet & HTML Online HTML Resources Using the HTML.
NetLogo: Design and Implementation of a Multi-Agent Modeling Environment Seth Tisue, lead developer Uri Wilensky, author and principal investigator Center.
2-Day Introduction to Agent-Based Modelling Day 2: Session 5 Variables and Debugging.
Department of Computer Science What is NetLogo UH-DMML  Multi-agent programmable modeling environment  Well suited for modeling complex systems evolving.
2. Introduction to the Visual Studio.NET IDE 2. Introduction to the Visual Studio.NET IDE Ch2 – Deitel’s Book.
1 Integrated Development Environment Building Your First Project (A Step-By-Step Approach)
Lab 8 – C# Programming Adding two numbers CSCI 6303 – Principles of I.T. Dr. Abraham Fall 2012.
Week 4-5 Java Programming. Loops What is a loop? Loop is code that repeats itself a certain number of times There are two types of loops: For loop Used.
2-Day Introduction to Agent-Based Modelling Day 1: Session 1 Introduction, commands, loops, conditionals.
ABM Frameworks Dr Andy Evans With additions from Dr Nick Malleson.
Caribou – Wolf Interactions OmMQ5Fc.
XP New Perspectives on Microsoft Access 2002 Tutorial 51 Microsoft Access 2002 Tutorial 5 – Enhancing a Table’s Design, and Creating Advanced Queries and.
NetLogo Dr. Feng Gu. NetLogo NetLogo is a programmable modeling environment for simulating natural and social phenomena, authored by Uri Wilensky in 1999.
2-Day Introduction to Agent-Based Modelling Day 1: Session 4 Networks.
Tutorial 1 Getting Started with Adobe Dreamweaver CS3
CISC 1600 – Lecture 3.2 Simulations Complex Input & Output NetLogo.
2-Day Introduction to Agent-Based Modelling Day 2: Session 8 Exploring Model Collections, NetLogo Lists, Further Resources.
Introduction to Visual Basic. Quick Links Windows Application Programming Event-Driven Application Becoming familiar with VB Control Objects Saving and.
CMPD 434 MULTIMEDIA AUTHORING Chapter 06 Multimedia Authoring Process IV.
A Look Inside Some NetLogo Simulations Bruce Edmonds Centre for Policy Modelling Manchester Metropolitan University.
New Mexico Computer Science For All Interface Input in NetLogo Maureen Psaila-Dombrowski.
Introduction to Algorithms using Netlogo. What’s an Algorithm Definitions of Algorithm on the Web: –A procedure or formula for solving a problem.
Agent-Based Modeling and Simulation (ABMS) Bertan Badur Department of Management Information Systems Boğaziçi University.
1 Extend is a simulation tool to create models quickly, with all the blocks you need and without even having to type an equation. You can use a series.
New Mexico Computer Science For All Variables and Scope Maureen Psaila-Dombrowski.
1 Creating Windows GUIs with Visual Studio. 2 Creating the Project New Project Visual C++ Projects Windows Forms Application Give the Project a Name and.
CHAPTER:07 JAVA IDE PROGRAMMING-II Prepared By Prepared By : VINAY ALEXANDER ( विनय अलेक्सजेंड़र ) PGT(CS),KV JHAGRAKHAND.
Agent-Based Modeling and Simulation (ABMS) Bertan Badur Department of Management Information Systems Boğaziçi University.
Visual Basic Programming Introduction VB is one of the High level language VB has evolved from the BASIC language. BASIC stands for Beginners All-purpose.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Second Edition by Tony Gaddis.
New Mexico Computer Science For All Patches and Agent/Environment Interactions Maureen Psaila-Dombrowski.
Intermacs Form Download Excel Tutorial Pivot Tables, Graphic Tools, Macros By: Devin Koehl.
Introduction to Modeling and Water Resources
Tutorial 7 Creating Animations. XP Objectives Learn about animation Create a timeline Add AP divs and graphics to a timeline Move and resize animation.
EGR 115 Introduction to Computing for Engineers
TODAY Android Studio Installation Getting started Creating your 1 st App Beginning to understanding Intents.
Tutorial 6 Creating a Web Form
introductionwhyexamples What is a Web site? A web site is: a presentation tool; a way to communicate; a learning tool; a teaching tool; a marketing important.
Creating a Simple Game in Scratch Barb Ericson Georgia Tech May 2009.
Interacting with Assay Data. Basic Ways to Interact: Experiment: cuts across all assay types Assay: by batch, run or sample.
1 Agent-Based Tools: focus on NetLogo Ing. Cristina Ponsiglione University of Naples Federico II Laboratorio di Simulazione ad Agenti.
Programming Logic and Design Seventh Edition Chapter 12 Event-Driven GUI Programming, Multithreading, and Animation.
Development Environment
CSC207 Fall 2016.
Scratch for Interactivity
Management Information Systems
Creating a Renderfarm Using Grid Technology
How to work with your sprite
Computer Software: Programming
Chapter Topics 15.1 Graphical User Interfaces
Maximising employability
Management Information Systems
A Cellular Automata Approach to Population Modeling
Scratch for Interactivity
Creating Drawings in CAD
Geo 318 – Introduction to GIS Programming
NASPAC 2.0 Architecture January 27, 2010
Chapter 15: GUI Applications & Event-Driven Programming
Creating a Powerpoint Presentation
Model, View, Controller design pattern
creating a ecosystems model in net logo
Event loops.
Creating a Simple Game in Scratch
Graphing Using Processing
Presentation transcript:

An introduction to Netlogo agent-based software Brian Dermody

What is an agent? An agent is an individual It has attributes Person, plant, electron etc. It has attributes Happy, wilted, charged etc. It performs actions Buy/sell, grow, radiate etc. It exists in an environment Market, ecosystem, atom etc. Agents are often different Interactions among agents and their environment bring about emergent behaviour/ patterns

Emergence Small scale interactions among agents and their environment bring about higher-level emergent patterns Simple – complex Cross-scale feedbacks

Netlogo Netlogo is the most widely used agent-based modelling environment in both education and research. Netlogo is written mostly in Scala, an object-oriented language, with some parts in Java. Netlogo consists of a Graphical User Interface (GUI) frontend with code on the backend. GUI consists of buttons, sliders, graphs which can be linked with the code. Here start with a blank model.

Netlogo Netlogo is the most widely used agent-based modelling environment in both education and research. Netlogo is written mostly in Scala, an object-oriented language, with some parts in Java. Netlogo consists of a Graphical User Interface (GUI) frontend with code on the backend. GUI consists of buttons, sliders, graphs which can be linked with the code. Netlogo runs sequentially, parallel not possible: Disadvantage! Here start with a blank model.

Netlogo Agents (Turtles in Netlogo speak) interact with environment and each other The environment comprises of patches Grid-based data

Netlogo Agents (Turtles in Netlogo speak) interact with environment and each other The environment comprises of patches Grid-based data Supports multi-agent networks Check model library for examples So one of the classic examples of emergence is the segregation model. The idea behind this model was how people areas arise with in cities with people of different ethnicities. So-called ghettoization of cities. The author, Thomas schelling figured it was just an inevitable outcome of the desire to be close to a certain amount of people from the same ethnicity. He figured that ghettos within cities were an emergent property of of people wanting to live close to people of the same ethnicity. Depending on the intolerance for other ethnicities, the more ghettoized a city would become So the way this model works is that each individual has a certain desire about the number of people they want the same around them. So for example, they want that at least 20% of their immediate neighbours are of the same ethnicity. If that is not the case they move somewhere else. And that continues. The more intolerant they are (i.e. the more of their own ethnicity they desire) the more ghettoized the city becomes. observer> ask turtle 0 [show count links] observer> ask turtle 0 [show count my-links] observer> ask turtle 0 [set color red]

Netlogo attributes Global attributes are "global" because they are accessible by all agents and can be used anywhere in a model. Agent/agent-set attributes: accessible by agents Patch attributes: accessible by patches Link attributes: accessible by links and node agents (for network models)

Tutorial Go to uu.nl/clue and download the text file.

Tutorial Open Netlogo and paste the provided code under the code tab The model doesn’t work? – We need to provide links between frontend and the code

Tutorial Open Netlogo and paste the provided code under the code tab The model doesn’t work? – We need to provide links between frontend and the code Use the check to see where the problems lie You code relates to frontend controls such as buttons and sliders. You need to add these

Tutorial Add a slider that allows you to flexibly set the number of “vulture” agents (min 0, max 50) Add chooser for roost-dispersed (10, 50) Add slider that allows you to flexibly set the number of “carcass” agents (min-0, max 50) You need to add a “setup” and “go” buttons Set go as “forever” Change area of environment to 30*30 with patch size 10

Agent-based model of vulture foraging Vultures Scavengers Soaring flight Vulture foraging Food is spatially and temporally ephemeral Large enough to feed more than one forager Food becomes easier to see when it is found by others Activity at the carcass Rapid descent of other vultures Vultures roost communally Research Questions What is the importance of the roost? Do vultures form groups?

Coordinated movement in animal groups In order to give our vultures in our model the ability to react to other vultures we assigned them with 3 rules which are the basis for group behaviour in a range of animals. Animals that form highly cohesive groups are proposed to do so using three simple rules. These can be thought of in terms of decision circles around the animal and depending on where other animals fall within those spheres the decisions the animal makes will be different. For example if another agent enters the red ring of this agent it will move away, if Couzin et al. (2005)

Assignment Add ZoR, ZoO and ZoA sliders to the Netlogo frontend and link with code on coordinated movement (0-5 with increment of 0.1) What type of coordinated movement do you see for different combinations of the 3 sliders?

Assignment Add ZoR, ZoO and ZoA sliders to the Netlogo frontend and link with code on coordinated movement What type of coordinated movement do you see for different combinations of the 3 sliders?

More questions? Netlogo dictionary Netlogo models library Simply right-click command Netlogo models library Adjust existing models to meet your needs Netlogo user community forum Usually answers within 1 day