Sakodas Model of Social Interaction
Model was written in NetLogo 6.0.2
•
Viewed 293 times
•
Downloaded 16 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
Click to Run Model
;x94.30000 y75.000 z381.74056 f3 maybef-89.222397 turtles-own [groupid ingroup outgroup] ;attitudes patches-own [p_values] to setup clear-all clear-output reset-ticks crt population ;set-default-shape turtles "person" ask turtles [ set size 1 let close min-one-of other turtles [distance myself] while [distance close < .5] [let r random 360 set heading r setxy random-xcor random-ycor ;fd 3 set close min-one-of other turtles [distance myself] ] ] ask turtles [set groupid 0] let n round (population / groups) let i 1 while [count turtles with [groupid = 0] > 0] [ let nt count turtles with [groupid = 0] ifelse nt < n [set nt nt] [set nt n] let t n-of nt turtles with [groupid = 0] ask t [ set groupid i ;set label groupid ] set i i + 1 ] ;;SETTING ATTITUDES AND COLORS let c one-of base-colors let maxn max [groupid] of turtles let i2 1 ask turtles [set color 0] while [count turtles with [color = 0] > 0] [ ask turtles with [groupid = i2] [ if groupid = 1 [set color blue set ingroup Group1_ingroup set outgroup Group1_outgroup] if groupid = 2 [set color red set ingroup Group2_ingroup set outgroup Group2_outgroup] if groupid = 3 [set color green set ingroup Group3_ingroup set outgroup Group3_outgroup] if groupid = 4 [set color yellow set ingroup Group4_ingroup set outgroup Group4_outgroup] if groupid = 5 [set color gray set ingroup Group5_ingroup set outgroup Group5_outgroup] set label groupid ] set i2 i2 + 1 ] end to go! ask turtles [ let p_list (patch-set neighbors patch-here) let v1 ingroup let v2 outgroup let myid groupid let i self let ot other turtles let new_patch nobody ask p_list [set p_values 0] set new_patch patch_values p_list i ot myid v1 v2 move-to new_patch let close min-one-of other turtles [distance myself] while [distance close < 1] [let r random 360 set heading r setxy random-xcor random-ycor fd 1] ask p_list [set p_values 0] ] tick end to-report patch_values [p_list i ot myid v1 v2] let w importance_of_far_away_agents ask p_list [ let v 0 let my_list [] let me self foreach (list ot) [ ?1 -> ask ?1 [ let d 1 let my_v 1 ifelse groupid = myid [set v v1] [set v v2] set d distance me ifelse d = 0 [set my_v 0] [set my_v v / (d ^ (1 / w))] ask me [set my_list fput my_v my_list] ] ] set p_values sum my_list ] report max-one-of p_list [p_values] end ;; 00, 11, -1-1, 01, 10, 0-1, -10, 1-1, -11 = 9 possible combinations
There is only one version of this model, created about 7 years ago by John Bradford.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Sakodas Model of Social Interaction.png | preview | Preview for 'Sakodas Model of Social Interaction' | about 7 years ago, by John Bradford | Download |
This model does not have any ancestors.
This model does not have any descendants.
John Bradford
Model Info
WHAT IS IT? This is based on Sakoda's 1971 paper "The Checkerboard Model of Social Interaction" in "The Journal of Mathematical Sociology"- the same edition in which Schelling's model of segregation was first published. In this model, there are n groups, each with 2 attitudes: an "in-group" attitude towards its members, and an "out-group" attitude towards everybody else. currently, these attitudes can take on one of 3 values (+1, 0, and -1). On each turn, each agent decides to move one patch or remain in place, based on which patch location has the highest value. The value of each patch is determined by the following algorithm: Patch_value = Sum (Vj / (Dj ^ (1/w))), where Vj is either +1, 0, or -1 (i.e. the 'value' for other turtle j), D is distance to that turtle, and "w" is the parameter "Importance of Far Away Agents". Basically, the potential patch location calculates this for every other turtle and then sums them to get the overall or total value for that patch. Then, the turtle picks the patch with the highest value and moves to it. This model extends Sadoka's original model in several ways. First, you can choose more than two groups now. Second, you can choose the population level you want (in the original, there are only 6 agents per 2 groups). HOW IT WORKS This is a simple model. Most of the work is done in the report procedure. There is also an output box which lists the groups and their ingroup and out-group attitudes. HOW TO USE IT See what patterns emerge when groups of different preferences interact. For instance, a group that likes its own members but dislikes other groups, interacting with a second group that dislikes its own group members but likes other groups. This sort of dynamic captures hierarchical social processes. For example, the rich prefer to mingle with other rich people, while the poor would also rather mingle with the rich. EXTENDING THE MODEL In this model, the preferences within each group are homogenous. This can be extended and made more realistic by making preferences somewhat heterogenous, but to count as a group, there should be less variation within the group than between groups regarding group preferences. Groups might also be modeled as tags or labels attached by outside groups. The attitude values are discrete. They could also be modeled as continuous, say, using a random-float ranging from -1 to +1. CREDITS AND REFERENCES Sakoda, J.M. (1971). The checkerboard model of social interaction. Journal of Mathematical Sociology 1(1). 119-132. Elsenbroich, Corinna and Nigel Gilbert (2014) Modeling Norms. Chapter 8.
Posted about 7 years ago