TeamsInCommunity
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
This model shows how working on short term assignments in teams affects the group cohesion of the whole learning community. The group cohesion in this model is measured by the density of the graph.
HOW IT WORKS
In each tick there are two conceptual stages (which are seen together) 1. team formation: In every tick, new teams are assememle randomly (members of the same team have the same color). 2. community interations (Interactions in the forum of the whole community): Messages (which are depcited as links between nodes) are then sent from one member to another in the forum of the whole community. The thickness of the lines describes the probalbility for message exchange (thicker lines mean there is a larger probablity for that message to appear). The probablity of a message is affected by: 1. previous work in the same team (as the time passes from past collaboration, the probability decreases) 2. a radom elelment. 3. team intimacy factor - larger teams generate smaller intimacy and result in a lower probability for message exchange
HOW TO USE IT
Click the SETUP button to start. Click GO ONCE to go through one round of team formation followed by community interactions. Click GO to indefinitely assemble new teams and view the affect on the community interactions. You may wish to use the GO ONCE button for the first few steps to get a better sense of how the parameters affect the assembly of teams and inteactions.
Parameters
- TEAM-SIZE: the number of agents in the teams assembled in every tick.
- TEAM-INTIMACY-FACTOR - the affect of team intimacy on the probablity of message exchange (0% means that there is not affect of team intimacy)
- MAX-DOWNTIME-TEAM: the number of steps that the message exchange probability is influenced by team work. TEAM-WORK-WEIGHT: the weight that team work has on the probablity for message exchange. -COMMUNITY SIZE - the size of the whole community -RANDOM-MESSAGE-PROB- represents the probablity of a random message exchange
Plots
- DENSITY - shows desity of the network over time. Density is at the maximum (100%) when all nodes are connected to each other.
- MESSAGES-DUE-TO-TEAM-WORK- the percentage of the messages that are due to previous team work.
Using the plots, one can observe important features of the network such as the connectivity of the network vary over time.
THINGS TO NOTICE
The density of the network increases in the beginning and then stablilizes. This coincides with the fact that in the beginning the community members do not know each other and after a few cycles of team work, they do and therefore the cohesion increases.
With a significant intimacy factor, there is an optimal team size that brings to a maximal density (the density increases with team size and at some point starts to decrease)
THINGS TO TRY
Keeping all other parameters fixed, change the team size to 1. You will see that the community interactions are only random, and the density is quite low.
Start with team size of 2 and intimacy factor of 70%. Press on go. After every few seconds increase the team size by one. You will notice that the density increases in the beginning. Try to find the "optimal team size", after which the desity will start decreasing.
EXTENDING THE MODEL
This models assumes that if two members worked in the same team together, they will (at a certain probablity) send messages to each other in the community forum. This is not necessarily true. It depends on various factors such as the success of the team work, the degree of collaboration within the team, and more. It can be useful to add these parameters to the model, to more accurately describe the affect of the team work on community interactions.
RELATED MODELS
Team Assembly
CREDITS AND REFERENCES
This model was developed by Tamar Novik, as part of a graduate course at Haifa University: “Thinking and learning with computational models” (2013), mentored by Sharona T. Levy
Comments and Questions
globals [ max-team-size density density-team-portion density-history density-team-portion-history history-depth ] turtles-own [ explored? ;; mark turtles we have already visited team-id ;; current team id (changes every tick) downtime ;; the number of time steps passed since the agent last collaborated ] links-own [ link-explored? ;; mark links we have already visited team-tick ;; last tick in which link was part of a team ] ;;;;;;;;;;;;;;;;;;;;;;;; ;;; Setup Procedures ;;; ;;;;;;;;;;;;;;;;;;;;;;;; to setup clear-all set max-team-size 6 init-history set-default-shape turtles "circle" make-turtles ask turtles [set color yellow] ask turtles [set size 1] ask turtles [set explored? false] ask turtles [set team-id (2 * community-size / team-size)] reset-ticks ask turtles [ create-links-with other turtles [ ;; all links start with no team or message age and will appear black set team-tick -100 set hidden? true ] ] ask links [set link-explored? false] end to make-turtles create-turtles community-size [ setxy random-xcor random-ycor ] layout-circle turtles max-pxcor - 1 end to init-history set density-history[] set density-team-portion-history[] set history-depth 10 let history-counter history-depth end ;;;;;;;;;;;;;;;;;;;;;;; ;;; Main Procedures ;;; ;;;;;;;;;;;;;;;;;;;;;;; to go ;; assemble a new team build-teams ;choosing teams randomly (groups of team-size) add-messages; add interactions between community members update-stats tick end ;; choose turtles to be in a new team to build-teams loop [ let current-turtle one-of turtles with [ not explored? ] if current-turtle = nobody [ stop ] ask current-turtle [explore] ] end ;; adds turtle to a team to explore if explored? [stop] loop [ ;; some teams may be smaller than others (if community size is not dividable by team-size) let number-of-teams floor (community-size / team-size + 0.9999999) let current-team-id random number-of-teams let turtles-in-team count turtles with [team-id = current-team-id] if turtles-in-team < team-size [ set team-id current-team-id set color (current-team-id * 20 + 5) let id who ;; refreshing all links between this turtle and his teammates ask link-neighbors [if team-id = current-team-id [ask link id who [set team-tick ticks]]] set explored? true stop ] ] end to add-messages ask turtles [ ;; reset parameters - turtle is not explored and invalid team id is assigned set explored? false set team-id (2 * community-size / team-size) ] ask links [ set link-explored? false ] ;; go over all links and determine if they should be refreshed (i.e. a message is sent) loop [ let current-link one-of links with [ not link-explored? ] if current-link = nobody [ stop ] ask current-link [ ;; link color represents the reason for message exchange - ;; if this is due to turtles belonging to the same team link will be blue, if this is a random message exchange link will be red let link_color red let team-age ticks - team-tick ifelse team-age > max-downtime-team [set team-age max-downtime-team][set link_color blue] ;; message probability is determined by a weighted average of the last time both sides belonged to the same team and a constant factor representing a random message exchange ;; team size also affects message probability in the sense that larger teams generate smaller intimacy and result in a lower probability for message exchange let message_prob ((teamwork-weight * (max-downtime-team - team-age) / max-downtime-team) * ((100 - team-intimacy-factor) + (team-intimacy-factor * ((max-team-size - team-size) / (max-team-size - 1)))) / 100) + ((100 - teamwork-weight) / 100 * random-message-prob) ;; if message probability is larger than a random probability, a message was posted, and link will be drawn let message_passed? random 100 < message_prob ifelse message_passed? [ set hidden? false set color link_color ;;scale-color gray message_prob 0 100 set thickness message_prob / 200 ] [ set hidden? true ] set link-explored? true ] ] end to update-stats let max-density (community-size * (community-size - 1) / 2) let num-of-messages count links with [not hidden?] let num-of-team-messages count links with [not hidden? and color = blue] let curr-density 100 * num-of-messages / max-density let curr-density-team-portion 0 if num-of-messages > 0 [ set curr-density-team-portion 100 * num-of-team-messages / num-of-messages ] ifelse ticks < history-depth [ set density-history lput curr-density density-history set density-team-portion-history lput curr-density-team-portion density-team-portion-history ] [ set density-history replace-item (ticks mod history-depth) density-history curr-density set density-team-portion-history replace-item (ticks mod history-depth) density-team-portion-history curr-density-team-portion ] set density mean density-history set density-team-portion mean density-team-portion-history end
There are 14 versions of this model.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
מסמכים מודלים.docx | word | קישורים לעבודה מסכמת וליומן אישי | over 12 years ago, by Tamar Novik | Download |
פוסטר תמר נוביק.ppt | powerpoint | poster | about 12 years ago, by Tamar Novik | Download |
This model does not have any ancestors.
This model does not have any descendants.
Alberto Cottica
Is this still alive? (Question)
Hello, I like the idea of this model. But I have been unable to download it (the file appears to be corrupt and the .zip file won't unpack). I cannot run it in NetLogo web either, because of an unimplemented primitive error message
Posted about 9 years ago