Team Assembly

Team Assembly preview image

1 collaborator

Uri_dolphin3 Uri Wilensky (Author)

Tags

coolest models 

Tagged by Michelle Wilkerson-Jerde over 16 years ago

networks 

Tagged by Reuven M. Lerner about 12 years ago

social science 

Tagged by Reuven M. Lerner about 12 years ago

Parent of 1 model: Child of Team Assembly
Model group CCL | Visible to everyone | Changeable by group members (CCL)
Model was written in NetLogo 5.0.4 • Viewed 1277 times • Downloaded 213 times • Run 3 times
Download the 'Team Assembly' modelDownload this modelEmbed this model

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.

CC BY-NC-SA 3.0

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

Please start the discussion about this model! (You'll first need to log in.)

Click to Run Model

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.

Uploaded by When Description Download
Uri Wilensky over 12 years ago Updated to NetLogo 5.0.4 Download this version
Uri Wilensky almost 13 years ago Updated version tag Download this version
Uri Wilensky almost 13 years ago Updated to version from NetLogo 5.0.3 distribution Download this version
Uri Wilensky over 13 years ago Updated to NetLogo 5.0 Download this version
Uri Wilensky about 15 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky about 15 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky about 15 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky about 15 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky about 15 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky about 15 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky about 15 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky about 15 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky about 15 years ago Model from NetLogo distribution Download this version
Uri Wilensky about 15 years ago Model from NetLogo distribution Download this version
Uri Wilensky about 15 years ago Team Assembly Download this version

Attached files

File Type Description Last updated
Team Assembly.png preview Preview for 'Team Assembly' over 12 years ago, by Uri Wilensky Download

This model does not have any ancestors.

Children:

Graph of models related to 'Team Assembly'