Home

Netlogo - part 1

image

Contents

1. Computing Group m NetLogo is a programmable modeling environment for simulating complex systems m Modelers can give instructions to hundreds or thousands of independent agents all operating in parallel m This makes it possible to explore the connection between the micro level behavior of individuals the macro level patterns that emerge from the interaction of many individuals You can use the list below to help familiarize yourself with the features NetLogo has to offer System E Language Environment Computing Group Computing Group o System Cross platform runs on MacOS Windows Linux et al m Web enabled run within a web browser or download and run locally m Models can be saved as applets to be embedded in web pages Computing Group Language E Fully programmable E Simple language structure m Language is Logo dialect extended to support agents and parallelism m Unlimited numbers of agents and variables Double precision arithmetic E Many built in primitives Computing Group Features Environment Environment E Interface builder w buttons oo 2AE MERE E sliders monitors switches Plots E text boxes E Info area for annotating your model Powerful and flexible plotting system E HubNet participatory simulations using netwo
2. last string gt g length string gt 6 Computing Group member s string gt true member rin string gt true member ron string gt false position s string gt 0 position rin string gt 2 position ron string gt false remove r string gt sting remove s strings gt tring replace item 3 string o gt strong reverse string gt gnirts aaa Computing Group _ Strings can be compared using the lt gt lt and gt operators To concatenate strings that is combine them into a single string you may also use the plus operator tur tle gt turtle lf you need to embed a special character in a string use the following escape sequences n newline carriage return t tab double quote backslash Computing Group Turtle shapes are vector shapes They are built up from basic geometric shapes squares circles and lines rather than a grid of pixels Vector shapes are fully scalable and rotatable A turtle s shape is stored in its shape variable and can be set using the set command The set default shape primitive is useful for changing the default turtle shape to a different shape or having a different default turtle shape for each breed of turtle Use the Shapes Editor to create your own turtle shapes AAE Shapes Editor Use the Shapes Editor to cr
3. Computing Group _ Computing Group to setup ca clear the screen setup crt 10 create 10 new turtles end to go ask turtles fd 1 all turtles move forward one step EF rt random 10 and turn a random amount It random 10 end Computing Group _ A variable can be lf a variable is a global variable there is only one value for the variable and every agent can access it E Each turtle has its own value for every turtle variable and each patch has its own value for every patch variable E Some variables are built into NetLogo all turtles have a color variable and all patches have a pcolor variable The patch variable begins with p Computing Group l You can make a global variable by adding a switch or a slider to your model or by using the globals keyword at the beginning of your code globals clock You can also define new turtle and patch variables using the turtles own and patches own turtles own energy speed patches own friction m Use the set command to set them default value is zero Global variables can by read and set at any time by any agent As well a turtle can read and set patch variables of the patch it is standing on Ask specifies commands that are to be run by turtles or patches m All code to be run by turtles must be located in a turtle context Ina button by choosing Turtles from the po
4. the patch with those coordinates Computing Group The patch at primitive reporter takes offsets distances in the x and y directions from the first agent An agentset is a set of agents and it can contain either turtles or patches but not both at once m You can construct agentsets that contain only some turtles or some patches For example all the red turtles or the patches with pxcor equal one m These agentsets can then be used by ask or by various reporters that take agentsets as inputs Computing Group Computing Group Ea Using turtles here or turtles at to make an agentset containing only the turtles on my patch or only the turtles on some other particular patch turtles turtles with color red all red turtles turtles here with color red all red turtles on my patch turtles in radius 3 all turtles less than 3 patches away m patches patches with pxcor gt 0 patches on right side of screen the four patches to the east north west and south patches at points 1 0 O 1 1 0 0 1 Neighbors shorthand for those eight patches Computing Group Agentsets Here are some simple things you can do Use ask to make the agents in the agentset do something Use any to see if the agentset is empty Use count to find out how many agents are in the set Here are some more complex things you can do random one of sprout max one of or min one of histogra
5. before any went on m the two steps are not synced ask turtles fd random 10 do calculation m the two steps are synced ask turtles fd random 10 ask turtles do calculation Computing Group _ Your own procedures can take inputs just like primitives do To create a procedure that accepts inputs include a list of input names in square brackets after the procedure name to draw polygon num sides size pd repeat num sides fd size rt 360 num sides end Computing Group ns You can define your own reporters You must do two special things a First use to report instead of to to begin your procedure a Second in the body of the procedure use report to report the value you want to report to report absolute value number ifelse number gt 0 report number report O number end Computing Group l m A local variables is defined and used only in the context of a particular procedure m To add a local variable to your procedure use the locals keyword It must come at the beginning of your procedure to swap colors turtle1 turtle2 locals temp set temp color of turtle1 set color of turtle1 color of turtle2 set color of turtle2 temp end Computing Group In the simplest models each variable holds only one piece of information usually a number or a string The list feature lets you store multiple pieces of information in a single
6. coordinates too xcor and ycor The each turtle has an identificator who For speed NetLogo always draws a turtle on screen as if it were standing in the center of its sah but in fact the turtle can be positioned at any point within the patch Computing Group Ea Computing Group Miscellaneous The world of patches isn t bounded but Wraps so when a turtle moves past the edge of the world it disappears and reappears on the opposite edge Every patch has the same number of neighbor patches If you re a patch on the edge of the world some of your neighbors are on the opposite edge Commands and reporters tell agents what to do Commands are actions for the agents to carry out Reporters carry out some operation and report a result either to a command or another reporter Commands and reporters built into NetLogo are called Primitives iphabeical ABC DEFGHIJLMNOPRSTUVWHY Categories Turtle Patch Agentset Color Control Logic Display HubNet O List String Math Plotting Computing Group E E Commands and reporters you define yourself are called procedures m Each procedure has a name preceded by the keyword to The keyword end marks the end of the commands in the procedure E Once you define a procedure you can use it elsewhere in your program E Many commands and reporters take inputs values that the command or reporter uses in carrying out its actions
7. eate your own turtle shapes TTI W A E AEON M Fin Grid Remove all Remove las i A arrow illgo bee wv bird1 N bird2 boat l boat2 gt New Ea Copy 91 impor Done Cancel Done References In the Netlogo site you can find the last version of Netlogo the Netlogo User Manual the new Netlogo model and a group discussion about Netlogo Computing Group A hee ved Be x Y kiea
8. m values from You can define different breeds of turtles The different breeds can behave differently m You define breeds using the breeds keyword at the top of your model before any procedures breeds wolves sheep When you define a breed such as sheep an agentset for that breed is automatically created so that all of the ageniset capabilities described above are immediately available with the sheep agentset m The following new primitives are also automatically available once you define a breed create sheep create custom sheep sheep here and sheep at Computing Group _ m Also you can use sheep own to define new turtle variables that only turtles of the given breed have Computing Group Breeds A turtle s breed agentset is stored in the breed turtle variable So you can test a turtle s breed like this if breed wolves Note also that turtles can change breeds A wolf doesn t have to remain a wolf its whole life ask random one of wolves set breed sheep breeds sheep wolves sheep own grass to setup ca create custom sheep 50 set color white create custom wolves 50 set color black end Computing Group Turtle commands are executed asynchronously each turtle does its list of commands as fast as it can One could make the turtles line up by waiting the end of an ask block At that point the turtles would wait until all were finished
9. ng the each agent s value for the given reporter The reporter could be a simple variable name or a more complex expression even a call to a procedure defined using to report A common idiom is max values from turtles sum values from turtles Computing Group m The replace item replace index element in the list with new value 0 means the first item 1 means the second item and so forth replace item index list value set mylist 2 7 5 B 3 0 2 mylist is now 2 7 5 B 3 0 2 set mylist replace item 2 mylist 10 mylist is now 2 7 10 B 3 0 2 To add an item say 42 to the end of a list use the Iput reporter fput adds an item to the beginning of a list set mylist lout 42 mylist mylist is now 2 7 10 B 3 0 2 42 a The but last reporter reports all the list items but the last set mylist but last mylist mylist is now 2 7 10 B 3 0 2 Suppose you want to get rid of item 0 the 2 at the beginning of the list but first set mylist but first mylist mylist is now 7 10 B 3 O 2 Computing Group Computing Group To input a constant string surround it with double quotes The empty string is written like this Most of the list primitives work on strings as well butfirst string gt tring butlast string gt strin empty gt true empty string gt false first string gt s item 2 string gt r
10. pup menu Inthe Command Center by choosing Turtles from the popup menu By using ask turtles m The same goes for patches and the observer except that code to be run by the observer must not be inside any ask Computing Group to setup ca crt 100 create 100 turtles ask turtles set color red turn them red rt random 360 give them random headings fd 50 spread them around ask patches if oxcor gt 0 patches on the right side set pcolor green of the screen turn green Computing Group Computing Group You can also use ask to make an individual turtle or patch run commands The reporters turtle patch and patch at are useful for this technique to setup ca crt 3 make 3 turtles ask turtle O tell the first one fd 1 to go forward ask turtle 1 tell the second one set color green to become green ask patch 2 2 ask the patch at coords 2 2 set pcolor blue to become blue ask turtle O ask the first turtle ask patch at 1 0 to ask patch to the east set pcolor red to become red end Ask m Every turtle created has an ID number The first turtle created has ID 0 the second turtle ID 1 and so forth The turtle primitive reporter takes an ID number as an input and reports the turtle with that ID number The patch primitive reporter takes values for pxcor and pycor and reports
11. rked devices including handhelds E Agent Monitors for inspecting agents E BehaviorSpace a tool used to collect data from multiple runs of a model E Export and import functions export data save and restore state of model Computing Group _ Converts StarLogoT models into NetLogo models Computing Group The following material explains some important features of programming in NetLogo Agents Procedures Variables Colors Ask Agentsets Breeds Synchronization Procedures advanced Lists Strings Turtle Shapes Computing Group The NetLogo world is made up of agents Agents are beings that can follow instructions Each agent can carry out its own activity all simultaneously In NetLogo there are three types of agents Turtles are agents that move around in the world ie The world is two dimensional and is divided up into a grid of patches m Each patch is a square piece of ground over E which turtles can move m The observer doesn t have a location you can imagine it as looking out over the world of turtles and patches Patches Patches have coordinates The patch in the center of the world has coordinates 0 0 We call the patch s coordinates pxcor and pycor integers a the standard mathematical coordinate plane The total number of patches is determined by the settings screen edge x and screen edge y Computing Group Turtles Turtles have
12. variable by collecting those pieces of information in a list m Each value in the list can be any type of value a number or a string an agent or agentset or even another list Lists allow for the convenient packaging of information in NetLogo If your agents carry out a repetitive calculation on multiple variables it might be easier to have a list variable instead of multiple number variables m You can make a list by simply putting the values you want in the list between brackets like this set mylist 2 4 6 8 Note that the individual values are separated by spaces m You can make lists that contains numbers and strings this way as well as lists within lists set mylist 2 4 3 5 a The empty list is written by putting nothing between the brackets like this Computing Group The list reporter accepts two other reporters runs them and reports the results as a list a If you wanted a list to contain two random values you might use the following code set random list list random 10 random 20 This will set random list to a new list of two random numbers each time it runs To make longer lists use the list reporter with the sentence reporter which concatenates two lists combines their contents into a single larger list Computing Group l Computing Group Ea The values from primitive lets you construct a list from an agentset lt reports a list containi

Download Pdf Manuals

image

Related Search

Related Contents

Kurzanleitung    Black Box ServSwitch  Silastic S2  TAS-CAL 貸出申込用紙  Mode d`emploi Balances NewClassic Modèles ML  Manuel d`utilisation Ferber    Operating Instructions Hanging scale  Samsung ST 88  

Copyright © All rights reserved.
Failed to retrieve file