Leadership Final

No preview image

1 collaborator

Headshot Mert Iseri (Author)

Tags

(This model has yet to be categorized with any tags)
Child of model Leadership II
Model group EECS 372-Spring 2011 | Visible to everyone | Changeable by the author
Model was written in NetLogo 4.1.2 • Viewed 347 times • Downloaded 25 times • Run 2 times
Download the 'Leadership Final' 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 explores whether leadership is a learned trait or an innate trait. Agents begin with various distributions of leadership, and after a process of voting certain leaders are selected. The interesting result is that the top leaders are rarely the ones with the highest innate leadership values.

What is the role of a follower in the journey of a leader? Can we have "placebo" effects of leadership? What is the role of the availability of information in selecting our leaders?

HOW IT WORKS

Before the model runs, each agent is assigned an "innate leadership score". This is used to compute a "leadership value" that takes into account how many followers an agent has, how long have they been remained a leader, etc...

In this model, agents move around and "vote" for the agent with the highest leadership score. Agents look around to find the agent with the highest leadership score that is within their "vision".

The model works in a network geography, where a link is formed between the leader and the follower each time a vote occurs.

Once the number of votes received exceeds a predetermined threshold, the agent changes color into purple turns into a leader. Along with that transformation, the agents that have voted the most for that leader turn into initial followers.

Just like how agents keep a tab of the number of votes that they have received, they also keep a tab of the number of votes that they give out. ( An important thing to notice is agents can only "remember" to vote for one leader. This means that the moment they change voting for someone, the count is effectively cleared. )

The model stops once there are no neutral agents left.

HOW TO USE IT

Adjust the NUM-NODES button to decide how many agents you want to see in the model.

The VISION button determines how far agents can see to find the agent with the highest leadership potential.

FOLLOWER-THRESHOLD determines how many votes that an agent needs to give for another agent to turn into a follower.

LEADER-THRESHOLD determines how many votes that an agent needs to receive from other agents to turn into a leader.

MOVEMENT-RATE determines how fast agents move around when they are neutral.

GROUP-MOVEMENT-RATE determines how fast agents move when are part of a group.

SHOW-NUM-VOTES? makes the number of votes visible for the agents on the view.

LEADERSHIP-DISTRIBUTION chooser decides whether innate leadership potential is distributed linearly, exponentially or with a poisson distribution.

THINGS TO NOTICE

Notice the difference that the model shows about the real leadership value. The model proposes that the external factors play a huge role in selecting leaders, and the power of the followers become much more clear.

Two interesting results from the plot is the variability from the tail, where it is difficult to differentiate the top leader from the start. More interestingly, every once in a while the group produces someone with a very low leadership potential as the top leader of the group.

The randomness of the spread of the agents play a huge role in this interesting distribution of leadership. At the end of the day, people choose leaders that are better than them. In one sense, leadership is a relative trait. Therefore, even though an agent may start off with an advantage in the beginning of the model, it really depends on whether agents are surrounded by other agents that have lower leadership potential than them.

THINGS TO TRY

Play around with the sliders. How does the model change behavior if followers have a low threshold to attach to leaders? Will more or less groups form?

What about vision? Will a high vision rating return more leaders or less leaders?

Try around adjusting the model using different combinations of the sliders.

Finally, look at the different distribution models. Does that affect the spread of final leadership score?

EXTENDING THE MODEL

Election Campaigns:

Right now, agents only look around and they all share the vision coefficient. What if we could make some of the lower candidates for leadership more visible by having them "votable" by everyone? In other words, an agent on the other end of the view could vote for this candidate if it wasn't directly exposed to someone else with a higher leadership score. That signifies what role advertisement campaigns play in elections, since exposure may have a huge say in who receives the top votes.

Rebellion:

Currently, the agents who desert a leader simply join other groups as if nothing happened. What if there were lasting effects of desertion? What could happen to the leaders that have no followers? Do they turn neutral, or do they remain as a leader with no followers?

RELATED MODELS

Rebellion, Preferential Attachment are both in the models library and they can be accessed with NetLogo version 4.1.2.

Comments and Questions

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

Click to Run Model

breed [ nodes node ]

nodes-own [ innate-leadership-score follower? leader? neutral? num-votes-received ]
links-own [ number-votes-given ]

globals [ total-num-votes total-num-leaders ]

to setup
  clear-all
  set-default-shape nodes "person"
  repeat num-nodes [
    ask patch random-xcor random-ycor [
      sprout-nodes 1 [
        
        if leadership-distribution = "Linear" [
          set innate-leadership-score random-float 10
        ]
        
        if leadership-distribution = "Normal" [
          set innate-leadership-score random-normal 5 2
        ]
        
        if leadership-distribution = "Poisson" [
          set innate-leadership-score random-poisson 5
        ]
                
        set follower? false
        set leader? false
        set neutral? true
        set num-votes-received 0
        set color gray - 1
      ]
    ]
  ]
  update-plots
end 

to go
  if not any? nodes with [ neutral? = true ] [
    stop 
  ]

  ask nodes with [ not leader? ] [ 
    vote-for-leader
  ]
  ask nodes [
    transform
    move
  ]
  ask nodes [
    update-node-visuals
  ]
  ask links [
    update-link-visuals
  ]
  
  update-globals
  update-plots

  tick
end 

to move
  ask nodes [
    ifelse neutral? [
      rt random 30
      lt random 30
      fd movement-rate / 1000
      ]
    [ rt random 30
      lt random 30
      fd group-movement-rate / 10000
      ]
  ]
end 

to-report leadership-value
  report innate-leadership-score + count in-link-neighbors with [ follower? ] + floor (num-votes-received / 1000)
end 

to vote-for-leader
  let my-candidate max-one-of (other nodes in-radius vision) [ leadership-value ]
  if my-candidate != NOBODY [
    if [ leadership-value ] of my-candidate > leadership-value [
      ask my-candidate [
        set num-votes-received num-votes-received + 1
      ]
      ifelse out-link-neighbor? my-candidate [
        ask out-link-to my-candidate [
          set number-votes-given number-votes-given + 1
        ]
      ]
      [ 
        ask my-out-links [
          die
        ]
        set follower? false
        set leader? false
        set neutral? true
        create-link-to my-candidate [ set number-votes-given 1 ]
      ]
    ]
  ]
end 

to transform
  if num-votes-received > leader-threshold [
    set neutral? false
    set follower? false
    set leader? true
    
    ask my-out-links [
      die
    ]
    
  ;; this is sort of a confusing bit so I'll do some explaining
  ;; basically, the way the model chooses initial followers is through the properties
  ;; of the links (specifically links-own [ number-votes-given ]  
  ;; the following code examines the out-links from the leaders and finds the top followers
  
    let num-supporters count in-link-neighbors
    let num-followers ceiling (num-supporters / 5)
   
  ;; check if I'm becoming a leader for the first time 
  ;; if I don't have a lot of supporters, pick all my followers
  ;; if I do have followers, pick anyone with a high enough vote number
   
   ifelse not any? in-link-neighbors with [follower? = true] [
     ask max-n-of num-followers in-link-neighbors [ [ number-votes-given ] of out-link-to myself ] [
       set neutral? false
       set follower? true
       ]        
     ]
    [
     ask in-link-neighbors with [follower? = false] [
         let supporter-score [number-votes-given] of one-of my-out-links
         if supporter-score > follower-threshold [
           set neutral? false
           set follower? true
         ]
       ]
     ]    
  ]
end 

to update-plots
  clear-plot
  ask nodes [ 
    plotxy innate-leadership-score leadership-value
  ]
end 

to update-globals
  set total-num-votes sum [num-votes-received] of nodes
  set total-num-leaders count nodes with [ leader? = true ] 
end 

to update-node-visuals
  ifelse show-num-votes? [ 
    set label word (num-votes-received) "     " 
    ]
  [ set label "" ]

  ifelse leader? [
    set size 1 + (num-votes-received / 5000)
    set color violet
  ]
  [ ifelse follower? [
    set color white
  ]
  [ ifelse neutral? [
    set color gray - 1 
  ]
  [ set color pink ]         ;this is the error flag, if there are any nodes that are pink - there is an error in code
  ]
]
end 

to update-link-visuals
  set color scale-color gray number-votes-given -5 100
end 

There is only one version of this model, created almost 13 years ago by Mert Iseri.

Attached files

No files

Parent: Leadership II

This model does not have any descendants.

Graph of models related to 'Leadership Final'