Leadership Final
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
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.