NetLogo and Multi-Agent Simulation (in Introductory Computer Science)

Similar documents
SEMESTER -- I (Common to all branches) (Group A) TOTAL

University Of California, Berkeley Department of Mechanical Engineering. ME 131 Vehicle Dynamics & Control (4 units)

WEST KENTUCKY COMMUNITY AND TECHNICAL COLLEGE

KCTCS AAS IN ENGINEERING AND ELECTRONICS TECHNOLOGY ROBOTICS AND AUTOMATION TRACK TO NKU BS IN MECHATRONICS ENGINEERING TECHNOLOGY CHECKLIST

Bachelor of Arts in Economics - Business Specialization (Fall 2016) Student

K.L.N. COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING Course Outcomes, PO & PSO Mapping Regulation 2013

B.A. in Arts and Sciences Major: Economics Sample 4-Year Plan

Siemens Centre of Excellence Course Plan

B.S. in Arts and Sciences Major: Entrepreneurial Studies Sample 4-Year Plan

Admission Requirements for a Bachelor of Science in Computer Information Technology

B.S. in Arts and Sciences Major: Economics - Business Specialization Sample 4-Year Plan

2019 EECS International Summer School at NCKU

Admission Requirements for a Bachelor of Science in Computer Information Technology

NEW CAR TIPS. Teaching Guidelines

Articulation Course Guide and High School Teacher Requirements

B.S. in Agriculture Major: Agricultural Business Sample 4-Year Plan

ME 455 Lecture Ideas, Fall 2010

Inquiry-Based Physics in Middle School. David E. Meltzer

Unit 1 Introduction to VEX and Robotics

Environmental Studies

Consider a major in Sustainable Plant Systems

Automobile Engineering

Instructionally Relevant Alternate Assessments for Students with Significant Cognitive Disabilities

Associate of Science to Bachelor of Science in Computer Information Technology All Tracks

From Worlds to Machines

A2 units showing 90% conversion points (cp) January 2013 series

Arapahoe Community College Castle Rock Campus Assessment Plan Data

AUTO 140A: VEHICLE MAINTENANCE

Enphase AC Battery Parameters for NREL System Advisor Model (SAM)

Friday Midterm EXAMINATION Fall 2018 CREDIT HOURS ENGINEERING PROGRAMS AIN SHAMS UNIVERSITY FACULTY OF ENGINEERING

Economics Major: Business Economics (Last Revised 03/2019)

DISTRIBUTION OF UNDERGRADUATE AND GRADUATE DEGREES GRANTED BY COLLEGE OKLAHOMA STATE UNIVERSITY ACADEMIC YEAR

Academic Course Description

AC : USE OF POWER WHEELS CAR TO ILLUSTRATE ENGI- NEERING PRINCIPLES

Sl. No. Subject Description Level of Study 01 Power Different types of converters, inverters. 6 th Sem Electronics 02 Power System I& II

Rule-based Integration of Multiple Neural Networks Evolved Based on Cellular Automata

Inverted Pendulum Control: an Overview

Registration Information (SS18, F18 and W19)

Castle High School Economics Syllabus Mr. Adam Underhill mrunderhillchs.weebly.com

ATA 102 Principles of Atatürk- History of Turkish Revolu 2, ITB Z 2 T

INCREASING ENERGY EFFICIENCY BY MODEL BASED DESIGN

Associate of Applied Science in Electro-Mechanical Engineering Technology To Bachelor of Science in Mechatronics Engineering Technology

Basic voltmeter use. Resources and methods for learning about these subjects (list a few here, in preparation for your research):

Computerized Manufacturing & Machining

Contents INTRODUCTION...

RESEARCH OF THE DYNAMIC PRESSURE VARIATION IN HYDRAULIC SYSTEM WITH TWO PARALLEL CONNECTED DIGITAL CONTROL VALVES

Chapter 1: Battery management: State of charge

Why choose Electronic Engineering?

DISTRIBUTION OF UNDERGRADUATE AND GRADUATE DEGREES GRANTED BY COLLEGE OKLAHOMA STATE UNIVERSITY ACADEMIC YEAR

Control Design of an Automated Highway System (Roberto Horowitz and Pravin Varaiya) Presentation: Erik Wernholt

Scholastic s Early Childhood Program Correlated to the Minnesota Pre-K Standards

2010 National Edition correlated to the. Creative Curriculum Teaching Strategies Gold

Using MATLAB/ Simulink in the designing of Undergraduate Electric Machinery Courses

TABLES 2C MODIFIED SOFTWARE ENGINEERING UOIT

Dr. Daho Taghezout applied magnetics (CH 1110 Morges)

BASIC MECHATRONICS ENGINEERING

2019 SpaceX Hyperloop Pod Competition

SEDONA FRAMEWORK BEST OPPORTUNITY FOR OPEN CONTROL

Teaching Electric Machines and Drives: A Re-examination for the New Millennium

Solar Kit Lesson #13 Solarize a Toy

Institutional Research and Planning 440 Day Hall Ithaca, New York PULSE Survey

Universal Fluid Power Trainer (UFPT)

DEPARTMENT OF AUTOMOBILE ENGINEERING CURRICULUM. B. Tech. AUTOMOBILE ENGINEERING. In Specialization with MOTORSPORT ENGINEERING

Universal Fluid Power Trainer (UFPT)

Motion Planning Introduction to Optimization Techniques

MAINTENANCE AND REPAIR MAINTENANCE AND REPAIR( COMMUNICATION SKILLS ENGINEERING SCIENCE COMPUTER HARDWARE ELECTRONICS (THEORY)

SmartON / SmartON+ Installation and Use Manual

Power Electronics and Drives (PED)

CHANGE OF MAJOR INFORMATION

ABE 5-Week Summer Schedule

Certificate in a vocational program

CHAPTER 1. Introduction and Literature Review

Curriculum Guide Course: Robotic Systems A Course Number: 1770

South Carolina State University Program Enrollment Fall Semesters

Automotive Service and Technology

Engineering Diploma Resource Guide ST280 ETP Hydraulics (Engineering)

GOPALAN COLLEGE OF ENGINEERING AND MANAGEMENT Department of Computer Science and Engineering COURSE PLAN

AGRIBUSINESS (AGB) AGB Courses. Agribusiness (AGB) 1

DEVELOPMENT OF ELECTRONICALLY CONTROLLED PROPORTIONING DIRECTIONAL SERVO VALVES PROJECT REFERENCE NO.: 38S1453

City University of New York Faculty Survey of Student Experience (FSSE), Spring 2010

Technology, Xi an , China

Dynamic Modeling of Large Complex Hydraulic System Based on Virtual Prototyping Gui-bo YU, Jian-zhuang ZHI *, Li-jun CAO and Qiao MA

Algebra 2 Plus, Unit 10: Making Conclusions from Data Objectives: S- CP.A.1,2,3,4,5,B.6,7,8,9; S- MD.B.6,7

DYNA4 Open Simulation Framework with Flexible Support for Your Work Processes and Modular Simulation Model Library

PSYC 200 Statistical Methods in Psychology

Economics Major: Applied Economics Analysis (Last Revised 2/2018) *Requires completion of a mathematics major, any emphasis

Module: Mathematical Reasoning

Adventures in Clojure Navigating the STM sea and exploring Worlds. Tom Van Cutsem

Using ABAQUS in tire development process

Virtual Flow Bench Test of a Two Stroke Engine

CSCI 135 Programming Exam #0 Fundamentals of Computer Science I Fall 2013

Highly dynamic control of a test bench for highspeed train pantographs

FARM POWER AND MACHINERY

SUBJECT AREA(S): Amperage, Voltage, Electricity, Power, Energy Storage, Battery Charging

Simscape Getting Started Guide. R2014a

LIFT Power Math Camp LIFT Math Camp 2016

Economics - Primary Track (

Adams-EDEM Co-simulation for Predicting Military Vehicle Mobility on Soft Soil

Automotive Service and Technology

Syllabus: Automated, Connected, and Intelligent Vehicles

Transcription:

NetLogo and Multi-Agent Simulation (in Introductory Computer Science) Matthew Dickerson Middlebury College, Vermont dickerso@middlebury.edu Supported by the National Science Foundation DUE-1044806 http://ccl.northwestern.edu/netlogo/

Motivation (in Brief) Recruitment/Retention in CSCI Computational Thinking Across STEM CS0/CS1 ³ Both course enrollments and number of majors in computer science at Middlebury College have more than tripled in the past 4 years ³ Total enrollments 08/09-13/14: 164, 188, 221, 289, 453, 509 ³ Fall enrollments 08/09-14/15: 92, 93, 99, 126, 197, 230, 276* [315] Nonetheless Approaches emphasizing interdisciplinary activities and relevant applications to problem domains other than computer science are increasingly seen as important and effective, especially with respect to recruiting and retaining females. [LiBl96],[FMM97],[NSF07], and [Ast09]. Also Teaching computational thinking to scientists.

% Females in CS0/CS1 60 50 40 30 Traditional Sciences NetLogo (MAS) 20 10 0 F07 F09 S11 F11 S12 F12 S13 F13 S14

Introduction and Overview Rest of the Presentation ³ Agent-Based & Individual-Based Modeling ³ NetLogo ³ The Course

Computer Modeling and Simulation Computer Modeling is representing a phenomena (system) on a computer (or computers) through the use of (mathematical) models. A model is a simplification or abstraction of a [real] system. Simulation is modeling over time. Simulation involves the generation of an artificial history of a system, and the observation of that artificial history to draw inferences concerning the operation characteristics of the real system. (Banks, et al.)

What is an agent? definition (From Honovar): An agent is any entity that can be viewed as perceiving its environment through sensors and acting upon its environment through effectors Explanation: Three continuously performed functions/activities [Hayes-Roth]: 1. perception of dynamic conditions in the environment 2. reasoning to interpret perceptions, solve problems, draw inferences, and determine actions. 3. Perform actions (in and on the environment and other agents) Agents are fundamentally algorithmic.

Introduction to Properties of Multi-agent Simulation? 1. Multiple agents, acting independently 2. Agents make decisions based on a local environment 3. Agents effect/change their (local) environment 4. Emergent behavior: The properties of the system as a whole are studied and understood as they emerge (via simulation) from the behaviors of the individuals. a) Based on computational experiments rather than differential calculus b) Field/laboratory studies still necessary.

Individual-Based Models (IBMs) A step further than multi-agent simulation (From Grimm and Railsback:) 1. Individuals grow and develop, changing in ways over their life cycle. 2. Individuals reproduce and die. 3. Individuals differ from each other, even within the same species and age.

Grimm & Railsback (cont d) Getting Beyond Agents to Individuals ³ In ecology, individuals are not atoms but living organisms. Individual organisms have properties an atom does not have. Individuals grow and develop, changing in many ways over their life cycle. Individuals reproduce and die, typically persisting for much less time than the systems to which they belong. ³ Because individuals need resources, they modify their environment. ³ Individuals differ from each other, even within the same species and age, so each interacts with its environment in unique ways.

Multi-agent Simulation & NetLogo NetLogo is a programming language and IDE (Integrated Development Environment) designed for multi-agent simulation. NetLogo models represent agents as turtles and the environment as a collection of patches. 1. Turtles act independently. Typically, you give a command for all turtles to act, but each turtle may act differently based on its own condition, and also 2. Each turtle can find properties about local patches and act based on those properties. 3. Properties of the local environment can be changed by turtles. 4. The command for turtles to act may repeat indefinitely; That is, we can look for Emergent behavior by running a simulation on the model over time.

NetLogo Features & Limitations ³ Spatial (and visual/graphic). ³ Interpreted (with command center) ³ Turtles and patches have several built-in state (instance) variables. All except unique id can be modified. Can add new (user-defined) variables Can create new distinct breeds

NetLogo Features & Limitations Supports both global and local variables, with traditional scope rules for local variables. Functions (reporters) and Procedures are both pass-by-value. o! A potential limitation as there is no explicit pointer type. o Agents are objects; the value passed is a reference.

³ Variables are not typed NetLogo Features & Boolean, 1 numeric type, strings. Limitations turtles (other breeds), patches. (nobody is a built-in constant.) turtle sets, patch sets lists links (connections between turtles) ³ Iteration while repeat n ask ³ Recursion (Very easy sierpinski curves!)

NetLogo Features & ³ Interface Limitations configurable size and wrapping sliders, and switches automatically create global variables buttons, monitors and graphs ³ Built-in Experiment Space ³ Implemented in Java, extendable via Java.

NetLogo Features & Limitations Two levels of concurrency: ask o default is without interruption Can construct data structures using lists or turtles Easy to import graphics; supports sound

NetLogo Features and OOP ³ Turtles and patches function like objects. ³ You can construct your own breeds which extend Turtles one level. ³ Patches cannot be extended (but you can add instance variables) ³ Turtles, patches, and links are referenced by pointer. (Call by value passes the pointer.) ³ Lists, strings, agent sets are not. ³ Not encapsulation though procedures may be specific to certain breeds, they reside in the same file.

Examples of MAS (and a taste of NetLogo) ³ Biology: Fireflies (Can be developed in one lab, by the 10 th week of a 1 st semester course) ³ Physics: Rope (simple interface.) ³ Mathematics: Voronoi (many variations such as changing the distance function. Without live update, it is an easy assignment in first few weeks.) ³ Social Science: Ethnocentrism (in honor or diversity day read the Information section!) ³ Graphics and Recursion: (Seeing the trees and maybe the forest also.)

A First-Year Course based on ³ No prerequisites. No assumptions. except high school algebra ³ A funnel not a sieve. ³ CS0/CS1 MAS and NetLogo CS0: Environmental Studies, Biology, Economics. CS1: At Middlebury, can lead to CS2 in Java ² Attracts + 50% female - Only 30% first year students (Many students already declared in economics, biology, physics, and environmental studies.)

A First-Year Course based on MAS and NetLogo Covers Three Topics in Parallel (with adjustable balance): 1. NetLogo programming assignment, selection, iteration, recursion variables and types, scope procedures, functions, parameters 2. Concepts of multi-agent simulation 3. Breadth topics in computational/algorithmic thinking and computer science boolean logic data storage, analog/digital and discretization complexity/efficiency history (abstraction of data, instructions, hardware, software) computer organization

Could Go On and On But ³ In fact, if anybody is interested, I ll send you my syllabus ³ And if you actually teach the class, I ll send some sample assignments and solutions and materials ³ More useful to conclude with a look at what students do (in one intro semester)! ³ HW4 erosion; HW7 Tree competition ³ Labs: Asteroids, ponds, etc. ³ Term projects