AnthropologischeGesellschaftWien. Model Building. Gabriel Wurzer, Vienna University of Technology

Similar documents
An Introduction to NetLogo

WeatherLink for Alarm Output Addendum

ND4000 Manual Marine Hydraulics

HERCULES 6 GRAPHICS SYSTEM

presentations the week of the final exams. Anyone who misses the appointment will receive a grade of zero.

Welcome to MultiSight TM Vision Sensor Hands-On Lab

Procidia iware AlarmWorX32. AlarmWorX32 Viewer January 2010

Lesson 10: Configuring Events IGSS. Interactive Graphical SCADA System. Lesson 10: Configuring Events 1

Security Management System - Configuring Video Analytics

ViewMatrix. Software for Online Monitoring & Control of Matrix2000 Conventional Fire Alarm Panels. Version: 2.0 Revision: 0.1

Sleeping Seeds and the Scientific Method

Tutorial: How to Download and Install Lumberyard v or greater

[ [ ADMIN PANEL USER GUIDE

Installing ProSeries 2005

Avigilon Control Center 5 System Integration Guide

Making the Most of Alarms

Milestone XProtect Alarm Matrix Integration 1.0

False Alarm Management

Monitor Alarms and Events

Urban naturalist GUide

Raytec Avigilon Integration User Guide Integrating Raytec Network Illuminators with Avigilon Control Center Document Revision 2.0

BMP Siting Tool. Step-by-Step Guide

Transient Groundwater Analysis with Slope Stability

Operation Manual Fighter ProVision Software. Version: 0.0 Revision: 1

DryLINK TRAINING Phoenix DryMAX XL and DryLINK

LOUP II DRILL MONITOR OPERATION MANUAL. SOFTWARE v45

ProStar 325 UV-Vis Detector

User Manual. Dryer Controller M720

Thermostat Guide Online Guide Brighten Conservation Program. Personal Reference Guide. Brighten ithermostat

Alarm Monitoring and Management

Installing ProSeries 2004

VMD Guide for MP-980 Cameras

Ion Gateway Cellular Gateway and Wireless Sensors

Smoke Layer Height and Heat Flow through a Door

Niagara4 Technical Certification Program Student Guide DAY 1 DAY 2

Alarm Monitoring and Management

Getting Started with Live Exceptions

ION Meter Alerts TECHNICAL NOTE NOVEMBER In This Document

Platinum Touch/Rotem One Touch

Appendix 3 Thermostats

Setting up and Managing Alarms in McAfee ESM 10.x

C - B u s C - T o u c h U s e r s G u i d e C T Series

False Alarm Management

Dryer Controller M720

Global Design Competition. Global Design Competition

with internal sensor (channel 1) with an external sensor (channel 2) A-Editor software, Professional AK20 version (not for version AK4)

Laptop / PC Programming Manual

Q&A Session from Alarm Management Workflow Webinar (Apr.24/2013)

i've run into a case where i have recurring tasks with alarms set. at some point the alarms stopped working.

Signing Up... 1 Logging in for the First Time... 2 The Search Panel... 3

Monitor Alarms and Events

LYNX CE CENTRAL CONTROL FOR OSMAC. General Specifications

VMD Guide for MP-980 Cameras

FCD-wire Contents. List of Figures

Avigilon Control Center System Integration Guide

ArchestrA Direct Connect

1 Introduction Data transmission Compatibility IPS Analytics configuration... 3

There are a few tips to follow, and I will definitely go into more detail on them. But, first the TIPS!

Keyfree. The new Keyfree digital door lock. A family friendly approach to home security ASSA ABLOY

APP Function Introduction

EQ-ROBO Programming : Line tracer with 3 IR sensors

Managing Network Alarms and Events

Alarm Manager Plug-in

AUTOMATION. Operator s Manual RST Series Web Enabled Input Module. Rev. A2, 1/12

Experion PKS Operator Course EXP01R201 06/2004 Rev 01

Avigilon Control Center 5 System Integration Guide. with STENTOFON AlphaCom. INT-STENTOFON-C-Rev1

USING GIS FOR A COUNTY STORM DRAIN MARKING PROGRAM. Tom Maggard. Senior Technician City of Greenwood

Milestone SMI Intrepid II Perimeter Module 1.1 User s Manual

Presented at the ISPE ISA Automation Forum VP, Engineering Services

rvm4c Installation Guide Remote Video Module

DeltaV Analyze. Introduction. Benefits. Continuous automated DeltaV System alarm system performance monitoring

User s Guide. Manual P/N Rev No. 2, 04/11

ATMOX MAXX System THE Complete Moisture Control System for Crawlspaces. User s Guide

Avigilon Control Center 5 System Integration Guide

FlameGard 5 MSIR HART

SimpleComTools, LLC 1

This is to certify that the optical output of the: SENSORNET LR-DTS Temperature Sensing System: (Variants Mark 1, Mark 2a and Mark 2b)

TRACE 700. Slide 1. Hello, my name is Nick Cavitt and I m a marketing engineer in the C.D.S. group at TRANE.

Operation Manual. Programmable Logic Controller

SPECTRUM Alarm Notification Manager (SANM)

I am Rick Jeffress and I handle sales for Fike Video Image Detection. We thank the AFAA for coordinating the venue for this presentation, and we

CELLTROL II BIOREACTOR CONTROL SYSTEM OPERATIONS MANUAL

Smart Grid Tables. Exploring the Electrical Infrastructure Grades 9-12

It s important to have a vision for your garden before you start any design work. You ll want to be thinking of all the items above.

Netbiter Tank Sensor

General The Dryer Programmer for Windows Computers

Edited by Foxit PDF Editor Copyright (c) by Foxit Software Comp. Programmable digital room thermostat. NEW software! Operating Instructions

Wiring the DCI using a Modifry Products Plug-n-Play Harness

CT398 Heaterstat TM Temperature Controller. Technical User Guide

Avigilon Control Center System Integration Guide

Alarm Hot Backup Manager can use InTouch, Galaxy, or Galaxy_ as alarm providers when configuring an alarm Hot Backup Pair.

TC-PHP01-A, TC-PAC01-A Comfort Series Programmable Thermostat. Owner s Manual

VMD Guide for V960 Series Cameras

Honeywell Total Connect Remote Services

Candidate APCO/CSAA ANS x: Alarm Monitoring Company to PSAP CAD External Alarm Interface Exchange

Avigilon Control Center 5 System Integration Guide

Professional Flooring Contractor Shares Secrets To A Successful Garage Floor Coating Project

Glovebox Usage Manual v1.4. When you enter the lab walk straight to the log book. Enter all information including N2 and O2/H2O levels.

Millennium Xtra. Millennium ATMA setup and configuration guide. May Millennium Group, Inc.

Platform Services BACnet Alarm Management

Transcription:

AnthropologischeGesellschaftWien Model Building Gabriel Wurzer, Vienna University of Technology www.iemar.tuwien.ac.at

PREFACE or: filling the academical quarter

When things go wrong, or: HOW TO DEBUG

Debugging Today meaning to fix software errors Previous meaning: Grace Hopper, 1947, Logbook Mark II: Relay #70, Panel F (moth) in relay., National Museum of American History, Washington Rear Admiral Grace Hopper, US Navy Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 4, Vienna.

NetLogo debugging capabilities...are astonishingly limited: print value prints a value to the command center area, e.g. ask turtle 0 [print shape Concatenation may happen for adding a pre- or suffix to the printed value, using the word command: print (word The shape is shape) Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 6, Vienna.

Further debugging ask turtles with [ [ print self watch turtle 0 watch one-of turtles self reports the breed followed by the who number of the turtle, (e.g. turtle 0 ) watch puts a shiny spot around a turtle if you want to watch one randomly chosen agent out of a population, you can use the reporter one-of in fact, one-of is a general command for choosing one member of a population Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 7, Vienna.

Querying somebody else s properties Often, you are observer or a specific turtle or patch. Querying somebody else s values can be done using of: print [shape of turtle 0 of is used to access a property of an entity given by you. Examples: print [pcolor of patch 0 0 ask patch 0 0 [ set pcolor [pcolor of patch 1 1 Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 8, Vienna.

Comparing ask and of ask patch 0 0 [ print pcolor ;you are patch 0 0 ; you are observer print [pcolor of patch 0 0 ask enters an entity. Therefore, can access a property by giving its name (e.g. print pcolor) of accesses a property of an entity you give you need not be inside the entity Hint: yes, of is a reporter, you might have guessed it! Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 9, Vienna.

Using of for debugging Add a monitor to the Interface In the appearing dialog, you can type any query. Type the following query and hit OK: The result of this query will be shown in the textfield of the monitor. Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 10, Vienna.

ASSIGNMENT

The exercise Files Assignment files are given to you in a folder named assignment. Please open modeling-exercise-0.nlogo in NetLogo, which we will now elaborate and then extend, one step at a time. Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 12, Vienna.

Features used in this version of the model... An overlay Image Importing per-patch data from a graphics file Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 13, Vienna.

General Pattern OVERLAY IMAGE

Overlaying an image Can import an image (just for eye candy, does influence NetLogo) using import-drawing name.png Can clear the imported image using Digiglobe and Google Inc. clear-drawing Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 15, Vienna.

Patch pattern IMPORTING PER-PATCH DATA

Usage Data that must be available per patch (i.e. in some previously defined properties) should be imported into NetLogo This data is generated e.g. in a GIS or drawing program There can be a variety of these layers, e.g. one per resource (e.g. grain, ore, water) Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 17, Vienna.

Exporting the view This is a pre-step for importing: 1. Change the pcolor of some patches by right-clicking and choosing inspect, then set pcolor e.g. to YELLOW 2. Right-click the view area and choose Export View Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 18, Vienna.

Exported view The exported image is exactly as the NetLogo view. Can edit this file in a graphics program and re-import using: import-pcolors name.png The colors found in the file will be mapped to the nearest NetLogo color, with fine details being lost Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 19, Vienna.

Hint: Pixel-exact mapping Can also do a pixel-exact import when clicking on Settings in Interface, then specifying: max-pxcor half image width max-pycor half image height Patch-size 1 pixels Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 20, Vienna.

Mapping color to a value existence of grain patches-own [ grain ask patches [ set grain 0 if pcolor = YELLOW [ set grain 1 Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 21, Vienna.

A closer look at colors Colors in NetLogo are really numbers. Names like YELLOW are only shorthands. Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 22, Vienna.

Greys are interesting The color 0 stands for black. This is the default color for patches. The color 9.9 stands for white, and all other colors in between 0 and 9.9 are grays. Observation: Percentages go from 0-100, NetLogo colors from 0-9.9 Hmmmmm.. Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 23, Vienna.

Mapping color to a value quantity of grain patches-own [ grain ask patches [ set grain pcolor Hint: could also use a scale factor, e.g. grain pcolor * Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 24, Vienna.

Mapping color to a value percent of grain patches-own [ grain ask patches [ set grain (pcolor / 9.9) * 100 * Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 25, Vienna.

Next step in the model... Agents (mines) are introduced Custom turtle shapes Temporary storage is introduced Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 26, Vienna.

Turtle Pattern CUSTOM TURTLE SHAPES

Custom shapes for turtles From Tools, choose Turtle Shapes Editor Click on New to add a shape Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 28, Vienna.

The shape editor in brief Draw your shape In the name field, assign a name Should the shape rotate with the heading of the turtle, click on Rotatable Under Color that changes, give the color that is set to the turtle s color Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 29, Vienna.

Assigning your newly drawn shape create-turtles 1 [ set shape my shape Hint: if you do not want your shape to change color, set Color that changes to some color that does not appear in the shape. Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 30, Vienna.

TEMPORARY STORAGE

Storing values - revisited So far, two type of storages have been introduced: properties of an entity property values entered via the user interface (called global variables) Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 32, Vienna.

The need for an intermediate storage to example introduce set candidates candidates to turtles with[ ask candidates with [ [ end example of code which uses intermediate storage intermediate storage makes code easier to read, e.g.: 1. get all turtles which meet a certain criterium 2. filter this intermediate result by a second criterium 3. ask the remaining turtles to do something Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 33, Vienna.

Lifespan of intermediate storage Lifespan of candidates to example introduce set candidates candidates to turtles with[ ask candidates with [ [ end intermediate storage is temporary: the storage is thrown away once the code block that introduced it ends. Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 34, Vienna.

Show me the code to example let candidates turtles with[ ask candidates with [ [ end an intermediate storage is called local variable it is introduced using let: let name value to access the value stored in a variable, its name (candidates) is given. Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 35, Vienna.

can assign the following values to a variable: a concrete value (e.g. 10, false, person ) the value NOBODY, i.e. no value set a result of a reporter or query Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 36, Vienna.

Examples with variables Calculation using variables: let a 12 let b 20 let c (a + b) print (word c is c) Incrementing a variable using set: let d 0 set d (d + 1) print (word d is d) Setting a variable to no value let e NOBODY print (word e is e) Setting a variable to the result of a queryor or reporter let e turtles with [color = SKY let f sin 30 print (word e is e) ask e [ print self print (word f is f) Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 37, Vienna.

When variables take up agentsets with [ reports a set of turtles or patches the returned set is called agentset you can test whether the set is empty by using the keyword any? you can refer to the contained agents by asking the agentset let redones turtles with [color = RED if any? redones [ ask redones [print self Hint: The keyword for adressing a population (e.g. turtles, patches, persons, etc.) return agentsets as well, so you might well write: if not any? turtles [ print All dead. Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 38, Vienna.

Next step in the model... Agents (settlements) are introduced Reporters are introduced Interactions are introduced Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 39, Vienna.

WRITING REPORTERS AND USING PARAMETERS

A tale of users and programmers User of sin to setup print sin 30 end Programmer of sin to sinus (x) 1. 2. give back result to user end We have seen how to use reporters As mentioned, something is being done behind the scenes, i.e. the parameter or parameters are passed into a reporter this is used like a variable the result is given back to the user Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 41, Vienna.

Don t be a user write reporters yourself you can write reporters yourself: to-report add [x y let result (x + y) report result end Usage: optional to-report name [ parameters ; calculate something here ; using the parameters report result end beneficial for hiding the details of your model: to setup print water-patches end to-report water-patches report patches with [color = SKY end Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 42, Vienna. no parameters specified

Parameters can also be used in procedures, by the way: to move-turtles [ in-direction how-far ask turtles [ set heading in-direction forward how-far end Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 43, Vienna.

Recap When to use what Write a procedure to group code lines together under a sounding name (e.g. move-turtles) Write a reporter to perform a calculation and return the result to the user (e.g. add) Use parameters whenever your code depends on values that need to be supplied by the user. Hint: Think of parameters as local variables, which are not defined using let but given at the start of your procedure or reporter. Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 44, Vienna.

Turtle pattern LINKING TURTLES

Usage Links two turtles together to signify a (social?) relationship between them Should be able to query for the turtle at the other side of the link Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 46, Vienna.

Introducing links Links are an own breed, which is created by a turtle: ask person 0 [ create-link-with turtle 1 Any breed can be linked. Links can be both directed and undirected, although we will only cover the latter ones in this tutorial (refer to NetLogo Dictionary for directed ones). Furthermore, you can create breeds of links, which is also not covered in this course. Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 47, Vienna.

How the rest is done ask person 0 [ create-link-with turtle 1 create-link-with turtle 2 ask person 0 [ ask link-neighbors with [ [ print self link-neighbors reports all turtles connected to the current turtle by a link as always, this agentset can be further narrowed down using with[ Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 48, Vienna.

Co-create dependent turtles breed [persons person create-persons 1 [ let holder self create-turtles hatch-turtles 1 [ create-link-with holder set xcor random-xcor set ycor random-ycor Wish to create persons and turtles at the same time, tied together (Note: it is a housetrained turtle we create). turtle is created by the person using hatchturtles, which is just like create-turtles (but can be used by turtles) laying the turtle on the person s lash is done by creating a link to the holder Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 49, Vienna.

Patch pattern NEIGHBORS

Usage ask patch 0 0 [ ask neighbors [ A patch needs to adress its neighbors Should be possible to either get the 8-neighborhood, 4- neighborhood or patches in any radius Additional criteria should be possible using with, e.g. with [not any? turtles-here Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 51, Vienna.

How it is done ask patch 0 0 [ ask neighbors with[ [ ask neighbors4 with[ [ ask patches in-radius 4 with[ [ Hint: in-radius can also be used for turtles, i.e. turtles in-radius 4 neighbors reports all 8 patches that surround the calling patch, neighbors4 only the four patches in the north, south, west and east. in-radius is a reporter that filters the agentset given on the left (patches) so that only those members being within the given radius of the caller remain Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 52, Vienna.

Turtle and patch pattern DISCOVERING WHO S (ALSO) HERE

Usage ask turtle or patch [ get all other turtles at this spot A turtle or patch wants to know which turtles stand here Should also be able to select other breeds than turtles Reported entities should be all on this spot, excluding caller Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 54, Vienna.

How it is done ask turtle 0 [ ask other turtles-here [ print self ask patch 0 0 [ ask turtles-here [ print self turtles-here is a reporter giving all agents on the current spot as agentset if the caller is an agent, he can exclude himself by using other may specifically target other breeds than turtles using breed-name-here (e.g. other persons-here) Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 55, Vienna.

Turtle Pattern INTERACTION PATTERN

Usage ask turtle 0 [ ask patch 0 0 [ An agent wants to interact with other agents or patches, probably exchanging some values In the course of the interactions, multiple nested asks are used, i.e. the first entity is asked, to ask a second entity, to do something Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 57, Vienna.

How it is done ask ask turtle 0 [ let the-turtle self ask patch 0 0 [ set pcolor [color of the-turtle ask color pcolor 1. The caller temporarilly stores himself in a local variable 2. Then, the patch is asked 3. Inside the ask, a property of the caller is retrieved using of 4. This value is then assigned to a property of the patch is set to Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 58, Vienna.

Hands on: Dropping a value turtles-own [ carries patches-own [ stores stores = 0 to setup ask patches [ set stores 0 create-turtles 1 [ set carries 10 end carries = 1 Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 59, Vienna.

Hands on: Dropping a value to go ask turtles [ forward 1 if carries > 0 [ end set carries (carries - 1) let the-turtle self ask patch-here [ set stores (stores + 1) set pcolor [color of the-turtle reports the patch under the turtle Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 60, Vienna.

Hands on: Retrieving a value turtles-own [ carries patches-own [ stores stores = 10 to setup ask patches [ set stores 10 create-turtles 1 [ set carries 0 end carries = 0 Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 61, Vienna.

Hands on: Retrieving a value to go ask turtles [ forward 1 if [stores of patch-here > 0 [ set carries (carries + 1) ask patch-here [ set stores (stores - 1) end Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 62, Vienna.

Next step in the model... Settlements are moved (rewrite of go), then re-established Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 63, Vienna.

Next step in the model... Distance-dependent resource contribution by settlements Uses Loops to create as many settlements as required Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 64, Vienna.

LOOPS

So far The button repeated the code contained in the procedure go until it was depressed unpressed again. Sometimes, however, you will wish to repeat a set of code lines based on some boolean condition, e.g.: to go while a settlement is needed add a settlement end Usage: while [ condition [ run these commands A boolean reporter. The details are hidden from you, it simply tells you if one more settlement is needed (true / false) Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 66, Vienna.

Example: doing something a number of times let counter 0 while [ counter < 10 [ print (word the counter is counter) set counter (counter + 1) Hint: You should not forget this, or else counter will never reach 10, resulting in an endless loop Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 67, Vienna.

Last step in the model... Spots near water are prioritized in an elegant way ( beauty of code) Gabriel Wurzer: Model Building, in Agents in Archeology Workshop 2011, Netlogo Lecture, Slide 68, Vienna.

AnthropologischeGesellschaftWien ASK ARCHEOLOGISTS [ THANK YOU FOR ATTENDING AIA11 K. Kowarik, H. Reschreiter, M. Doneus, W. Lorenz, N. Popper and G. Wurzer: Agents in Archeology Workshop 2011, Natural History Museum, Vienna, Austria.