Team Assembly
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
This model of collaboration networks illustrates how the behavior of individuals in assembling small teams for short-term projects can give rise to a variety of large-scale network structures over time. It is an adaptation of the team assembly model presented by Guimera, Uzzi, Spiro & Amaral (2005). The rules of the model draw upon observations of collaboration networks ranging from Broadway productions to scientific publications in psychology and astronomy.
Many of the general features found in the networks of creative enterprises can be captured by the Team Assembly model with two simple parameters: the proportion of newcomers participating in a team and the propensity for past collaborators to work again with one another.
HOW IT WORKS
At each tick a new team is assembled. Team members are either inexperienced "newcomers" — people who have not previously participated in any teams -- or are established "incumbents" — experienced people who have previously participated on a team. Each member is chosen sequentially. The P slider gives the probability that a new team member will be an incumbent. If the new member is not a newcomer, then with a probability given by the Q slider, an incumbent will be chosen at random from the pool of previous collaborators of an incumbent already on the team. Otherwise, a new member will just be randomly chosen from all incumbents. When a team is created, all members are linked to one another. If an agent does not participate in a new team for a prolonged period of time, the agent and her links are removed from the network.
Agents in a newly assembled team are colored blue if they are newcomers and yellow if they are incumbents. Smaller grey circles represent those that are not currently collaborating. Links indicate members' experience at their most recent time of collaboration. For example, blue links between agents indicate that two agents collaborated as newcomers. Green and yellow links correspond to one-time newcomer-incumbent and incumbent-incumbent collaborations, respectively. Finally, red links indicate that agents have collaborated with one another multiple times.
HOW TO USE IT
Click the SETUP button to start with a single team. Click GO ONCE to assemble an additional team. Click GO to indefinitely assemble new teams. 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.
Visualization Controls
- LAYOUT?: controls whether or not the spring layout algorithm runs at each tick. This procedure attempts to move the nodes around to make the structure of the network easier to see. Switching off LAYOUT? will significantly increase the speed of the model.
- PLOT?: switches on and off the plots. Again, off speeds up the model.
The REDO LAYOUT button lets you run the layout algorithm without assembling new teams.
Parameters
- TEAM-SIZE: the number of agents in a newly assembled team.
- MAX-DOWNTIME: the number of steps an agent will remain in the world without collaborating before it retires.
- P: the probability an incumbent is chosen to become a member of a new team
- Q: the probability that the team being assembled will include a previous collaborator of an incumbent on the team, given that the team has at least one incumbent.
Plots
- LINK COUNTS: plots a stacked histogram of the number of links in the collaboration network over time. The colors correspond to collaboration ties as follows:
-- Blue: two newcomers
-- Green: a newcomer and an incumbent
-- Yellow: two incumbents that have not previously collaborated with one another
-- Red: Repeat collaborators - % OF AGENTS IN THE GIANT COMPONENT: plots the percentage of agents belonging to the largest connected component network over time.
- AVERAGE COMPONENT SIZE: plots the average size of isolated collaboration networks as a fraction of the total number of agents
Using the plots, one can observe important features of the network, like the distribution of link types or the connectivity of the network vary over time.
THINGS TO NOTICE
The model captures two basic features of collaboration networks that can influence or stifle innovation in creative enterprises by varying the values of P and Q. First is the distribution of the type of the connection between collaborators, which can be seen in the LINK COUNTS plot. An overabundance of newcomer-newcomer (blue) links might indicate that a field is not taking advantage of experienced members. On the other hand, a multitude of repeat collaborations (red) and incumbent-incumbent (yellow) links may indicate a lack of diversity in ideas or experiences.
Second is the overall connectivity of the collaboration network. For example, many academic fields are said to be comprised of an "invisible college" of loosely connected academic communities. By contrast, patent networks tend to consist of isolated clusters or chains of inventors. You can see one measure of this on the % OF AGENTS IN THE GIANT COMPONENT plot -- the giant component being the size of the largest connected chain of collaborators.
You can also see the different emergent topologies in the display. New collaborations or synergy among teams naturally tend to the center of the display. Teams or clusters of teams with few connections to new collaborations naturally "float" to the edges of the world. Newcomers always start in the center of the world. Incumbents, which are chosen at random, may be located in any part of the screen. Thus, collaborations amongst newcomers and or distant team components tend toward the center, and disconnected clusters are repelled from the centered.
Finally, note that the structure of collaboration networks in the model can change dramatically over time. Initially, only new teams are generated; the collaborative field has not existed long enough for members to retire. However, after a period of time (MAX-DOWNTIME), inactive agents begin to retire, and the number of agents becomes relatively stable -- the emergent effects of P and Q become more apparent in this equilibrium stage. Note also that the end of the growth stage is often marked by a drop in the connectivity of the network.
THINGS TO TRY
Keeping Q fixed at 40%, how does the structure of collaboration networks vary with P? For example, which values of P produce isolated clusters of agents? As P increases, how do these clusters combine to form more complex structures? Over which values of P does the transition from a disconnected network to a fully connected network occur?
Set P to 40% and Q to 100%, so that all incumbents choose to work with past collaborators. Press SETUP, then GO, and let the model run for about 100 steps after the number of agents in the network stops growing. What happens to the connectivity of the collaboration network? Keeping P fixed, continue to lower Q in decrements of 5-10%.
Try keeping P and Q constant and varying TEAM-SIZE. How does the global structure of the network change with larger or smaller team sizes? Under which ranges of P and Q does this relation hold?
EXTENDING THE MODEL
What happens when the size of new teams are not constant? Try changing the rules so that team sizes vary randomly from a distribution or increase over time.
How do P and Q relate to the global clustering coefficient of the network? You may wish to use code from the Small Worlds model in the Networks section of Sample Models.
Can you modify the model so that agents are more likely to collaborate with collaborators of collaborators?
Collaboration networks can alternatively be thought of as a network consisting of individuals linked to projects. For example, one can represent a scientific journal with two types of nodes, scientists and publications. Ties between scientists and publications represent authorship. Thus, links between a publication multiple scientists specify co-authorship. More generally, a collaborative project may be represented one type of node, and participants another type. Can you modify the model to assemble teams using bipartite networks?
RELATED MODELS
Preferential Attachment - gives a generative explanation of how general principles of attachment can give rise to a network structure common to many technological and biological systems.
Giant Component - shows how critical points exist in which a network can transition from a rather disconnected topology to a fully connected topology
CREDITS AND REFERENCES
This model is based on:
R Guimera, B Uzzi, J Spiro, L Amaral; Team Assembly Mechanisms Determine Collaboration Network Structure and Team Performance. Science 2005, V308, N5722, p697-702
http://amaral.northwestern.edu/Publications/Papers/Guimera-2005-Science-308-697.pdf
HOW TO CITE
If you mention this model in a publication, we ask that you include these citations for the model itself and for the NetLogo software:
- Bakshy, E. and Wilensky, U. (2007). NetLogo Team Assembly model. http://ccl.northwestern.edu/netlogo/models/TeamAssembly. Center for Connected Learning and Computer-Based Modeling, Northwestern Institute on Complex Systems, Northwestern University, Evanston, IL.
- Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern Institute on Complex Systems, Northwestern University, Evanston, IL.
COPYRIGHT AND LICENSE
Copyright 2007 Uri Wilensky.
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
Commercial licenses are also available. To inquire about commercial licenses, please contact Uri Wilensky at uri@northwestern.edu.
Comments and Questions
globals [ newcomer ;; an agent who has never collaborated component-size ;; current running size of component being explored giant-component-size ;; size of largest connected component components ;; list of connected components ] turtles-own [ incumbent? ;; true if an agent has collaborated before in-team? ;; true if an agent belongs to the new team being constructed downtime ;; the number of time steps passed since the agent last collaborated explored? ;; used to compute connected components in the graph ] links-own [ new-collaboration? ;; true if the link represents the first time two agents collaborated ] ;;;;;;;;;;;;;;;;;;;;;;;; ;;; Setup Procedures ;;; ;;;;;;;;;;;;;;;;;;;;;;;; to make-newcomer create-turtles 1 [ set color blue + 1 set size 1.8 set incumbent? false set in-team? false set newcomer self set downtime 0 set explored? false ] end to setup clear-all set-default-shape turtles "circle" ;; assemble the first team repeat team-size [ make-newcomer ] ask turtles [ set in-team? true set incumbent? true ] tie-collaborators color-collaborations ask turtles ;; arrange turtles in a regular polygon [ set heading (360 / team-size) * who fd 1.75 set in-team? false ] find-all-components reset-ticks end ;;;;;;;;;;;;;;;;;;;;;;; ;;; Main Procedures ;;; ;;;;;;;;;;;;;;;;;;;;;;; to go ;; all existing turtles are now considered incumbents ask turtles [set incumbent? true set color gray - 1.5 set size 0.9] ask links [set new-collaboration? false] ;; assemble a new team pick-team-members tie-collaborators color-collaborations ;; age turtles ask turtles [ ;; agents drop out of the collaboration network when they become inactive for max-downtime steps if downtime > max-downtime [die] set in-team? false set downtime downtime + 1 ] if layout? [ layout ] find-all-components tick end ;; choose turtles to be in a new team to pick-team-members let new-team-member nobody repeat team-size [ ifelse random-float 100.0 >= p ;;with a probability P, make a newcomer [ make-newcomer set new-team-member newcomer ] [ ;; with a probability Q, choose a new team member who was a previous collaborator of an existing team member ;; if the current team has at least one previous collaborator. ;; otherwise collaborate with a previous incumbent ifelse random-float 100.0 < q and any? (turtles with [in-team? and (any? link-neighbors with [not in-team?])]) [set new-team-member one-of turtles with [not in-team? and (any? link-neighbors with [in-team?])]] [set new-team-member one-of turtles with [not in-team?]] ] ask new-team-member ;; specify turtle to become a new team member [ set in-team? true set downtime 0 set size 1.8 set color ifelse-value incumbent? [yellow + 2] [blue + 1] ] ] end ;; forms a link between all unconnected turtles with in-team? = true to tie-collaborators ask turtles with [in-team?] [ create-links-with other turtles with [in-team?] [ set new-collaboration? true ;; specifies newly-formed collaboration between two members set thickness 0.3 ] ] end ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Visualization Procedures ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; color links according to past experience to color-collaborations ask links with [[in-team?] of end1 and [in-team?] of end2] [ ifelse new-collaboration? [ ifelse ([incumbent?] of end1) and ([incumbent?] of end2) [ set color yellow ;; both members are incumbents ] [ ifelse ([incumbent?] of end1) or ([incumbent?] of end2) [ set color green ] ;; one member is an incumbent [ set color blue ] ;; both members are newcomers ] ] [ set color red ;; members are previous collaborators ] ] end ;; perform spring layout on all turtles and links to layout repeat 12 [ layout-spring turtles links 0.18 0.01 1.2 display ] end ;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Network Exploration ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; to find all the connected components in the network, their sizes and starting turtles to find-all-components set components [] set giant-component-size 0 ask turtles [ set explored? false ] ;; keep exploring till all turtles get explored loop [ ;; pick a turtle that has not yet been explored let start one-of turtles with [ not explored? ] if start = nobody [ stop ] ;; reset the number of turtles found to 0 ;; this variable is updated each time we explore an ;; unexplored turtle. set component-size 0 ask start [ explore ] ;; the explore procedure updates the component-size variable. ;; so check, have we found a new giant component? if component-size > giant-component-size [ set giant-component-size component-size ] set components lput component-size components ] end ;; finds all turtles reachable from this turtle to explore ;; turtle procedure if explored? [ stop ] set explored? true set component-size component-size + 1 ask link-neighbors [ explore ] end ; Copyright 2007 Uri Wilensky. ; See Info tab for full copyright and license.
There are 15 versions of this model.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Team Assembly.png | preview | Preview for 'Team Assembly' | over 12 years ago, by Uri Wilensky | Download |