simple interaction
Model was written in NetLogo 5.0.4
•
Viewed 533 times
•
Downloaded 33 times
•
Run 0 times
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
Comments and Questions
Please start the discussion about this model!
(You'll first need to log in.)
Click to Run Model
turtles-own [ opinion current-group ] patches-own [ group-center ] to setup clear-all create-turtles 100 [ setxy random-xcor random-ycor set opinion one-of ["reformer" "defender"] set current-group 0 set-colors ] if movement = "groups" [ group-set ] reset-ticks end to set-colors if opinion = "defender" [ set color blue ] if opinion = "reformer" [ set color red ] end ;; create evenly sized groups of group-size size ;; do this by selecting a group of turtles of the right size as many times as is needed ;; create a temporary leader of each group ;; kill any turtles that don't fit evenly into groups of the chosen size ;; use leaders to stake out a patch for each group to group-set let number-groups floor (count turtles / group-size ) let leaders no-turtles repeat number-groups [ ask n-of group-size turtles with [ current-group = 0 ] [ set current-group number-groups ] set leaders (turtle-set leaders (one-of turtles with [current-group = number-groups ]) ) set number-groups number-groups - 1 ] ask turtles with [ current-group = 0 ] [ die ] layout-circle leaders 13 ask leaders [ ask patch-here [ set group-center [ current-group ] of myself ] ] ask turtles [ join ] end to join move-to one-of patches with [group-center = [ current-group ] of myself ] bk 2 end to go if movement = "groups" [ choose-movers ] ask turtles [ meet-others learn set-colors ] tick end ;; identify a group of turtles that will move, one from each group ;; set their current-group to 0 to choose-movers let number-groups floor (count turtles / group-size ) let movers one-of turtles let mover-groups (list [ current-group ] of movers ) while [ length mover-groups < number-groups ] [ ask turtles [ if not member? current-group mover-groups [ set mover-groups ( sentence mover-groups current-group ) set movers ( turtle-set movers self ) ] ] ] ask movers [ set current-group 0 ] end ;; turtles interact in different ways, depending on what kind of movement is selected to meet-others if movement = "all random" [ wiggle ] if movement = "a few at a time" [ some-move ] if movement = "groups" [ group-move ] end to wiggle rt random 90 lt random 90 fd 1 end to some-move let chance random-float 1 if chance < moving-probability [ setxy random-xcor random-ycor ] end to group-move ask turtles with [ current-group = 0 ] [ choose-again join ] end ;; add turtles to groups, making sure they all remain the same size to choose-again let number-groups floor (count turtles / group-size ) set current-group 1 + random number-groups if count other turtles with [ current-group = [ current-group ] of myself ] > group-size [ choose-again ] end ;; turtles take on the opinion of the majority of turtles around them to learn let defenders count turtles in-radius turtle-vision with [ color = blue ] let reformers count turtles in-radius turtle-vision with [ color = red ] if defenders > reformers [ set opinion "defender" ] if reformers > defenders [ set opinion "reformer" ] end
There are 2 versions of this model.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
EleanorAnderson_ 5 20 13.docx | word | project update 5 20 13 | over 11 years ago, by Eleanor Anderson | Download |
simple interaction.png | preview | Preview for 'simple interaction' | over 11 years ago, by Eleanor Anderson | Download |
This model does not have any ancestors.
This model does not have any descendants.