Ultimatum Game - effect of carrying capacity

No preview image

1 collaborator

Rng_avatar Ronald Paul Ng (Author)

Tags

ultimatum game 

"Evolution of sense of fairness"

Tagged by Ronald Paul Ng over 5 years ago

ultimatum game and sense of fairness 

"Evolution of behavior corresponding to field tests results"

Tagged by Ronald Paul Ng over 5 years ago

Visible to everyone | Changeable by the author
Model was written in NetLogo 6.0.2 • Viewed 323 times • Downloaded 24 times • Run 0 times
Download the 'Ultimatum Game - effect of carrying capacity' 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?

To see whether agents which are seeded to play with random strategies in the Ultimate Game would produce results that are similar to field ovservatons, ie the average percentage of the pie that the Initiators would give is around 40%-45%, and the rejection rate of around 20% of the time (Levin 2006)

HOW IT WORKS

1000 agents will be created on setup. Each agent will be given randomly a strategy. When it is is the role of the Initiator, how much out of a hundred will if offer, and when it is the Responder, a level below which, the offer is rejected.

On setup, both offer% and rejection% are seeded by a random number function between 0 and 99, inclusive, by the code random 100.

There is a third turtle-own variable called "wealth". If the offer% by a turtle is accepted, the "wealth" is updated with "wealth" plus (100 - offer%), and the responder's "wealth" is updated with "wealth" plus offer% from the initiator. Wealth is initialised to 50 at the start, the reason for this will be made clear in the next paragraph.

Wealth is used up in order to maintain life of the agent at each round. The amount could be varied depending on the carrying-capacity of the "world". At each round, because 100 could be added to the wealth of each agent/turtle pair with each successful transaction, on average, that means with each successful transaction, 50 is added to each. For that reason, a base number of 50 is used. The final amount is adjusted by the ratio of number-of-agent/turtle divide by the carrying-capacity. If there are X number of agents, and the carrying capacity is Y, the amount deducted at each round is 50 * X / Y, therefore when X > Y, more than 50 will be deducted each time, and if X < Y, less than 50 will be deducted. The initial value of wealth being seeded with 50 is to allow some agents to survive at least the first round.

It was mentioned that the agent/turtle could could reproduce, which in the language of NetLogo is "to hatch". After an offspring is hatched, it usually has all the variables and the values of the variables of the agent/turtle from which it is hatched. The newly hatched agent/turtle does not inherit the wealth of the parent. It is given a starting wealth of 50, just like the starting wealth of all the agents/turtles at the beginning of the game. The level of offer% and rejection% will be influenced by its parent. The offer% of the newly hatche agent/turtle is determined by (offer% of the parent plus random 100) divided by 2. Similarly the rejection% is (rejection% of the parent plus random 100) divide by 2.

HOW TO USE IT

Use the slider to fix the starting population of agents and use the slider "carrying-capacity" to fix the carrying capacity. Then press go and watch the population chart, the mean wealth chart, the mean offer% and mean rejection%

THINGS TO NOTICE

If you let the model run, initialising the number of agents to a number less than the carrying capacity, there will be an initial dip in the population number, that number then rises and reachs an equilibrium. The mean wealth will also rise and reach an equilibrium. THe mean offer% might drop a bit and the mean rejection% will drop. The numbers are roughly in line with field findings. When the model has reached an equilibrium if you lower the carrying capacity, the population will drop and so will the rejection% number drops. Does this mean the agents have evolved to be more hungry and willing to accept even low offer? Now increase the carrying capacity to a very big number, you will notice that the rejection% number will rise, and of course so will the population number rise. Does that mean when good times are here, the agents have evolved to be more picky?

THINGS TO TRY

Try playing around with the population number and the carrying capacity and notice the effect on the offer% and rejection% numbers.

At the moment, the newly hatched agents have their offer% and rejection% modified by random 100, inheriting 50% of the parent's value plus 50% of the random value. Try observe the effect of changing the ratio of inherited value to random value.

EXTENDING THE MODEL

Have a population of agents where the offer% and rejection% are the same and see what happens. Most people in actual UG says they have decided whatever level of offer% as being fair, but when they are the Responders, they have a different level for rejection. If fairness is indeed the driving force, shouldn't offer% and rejection% be the same? Try creating a population where offer% = rejection% and observe the survival of that population of agents.

NETLOGO FEATURES

The change in the mean offer% and rejection% as a result of the changing carrying capacity to actual population numbers is an emergent phenomenon

RELATED MODELS

Scalco, A., Ceshi, A., Sartori, R., and Rubaltelli, E. :Exploring Selfish versus Altruistic Behaviors in Ultimatum Game with an Agent-Based Model. Trends in Pracical Application of Agents, Multi-Agent Systems and Sustainability. The PAAM Collection (Vol. 372, pp 1990206): Springer International Publishing.

CREDITS AND REFERENCES

Güth, W., Schmittberger, R., Schwarze, B.: An experimental analysis of ultimatum bargaining. J. Econ. Behav. Organ. 3, 367-388 (1982)

Levin, J. : Fairness and Reciprocity, June 2006 https://web.stanford.edu/~jdlevin/Econ%20286/Fairness.pdf (last access 17 October, 2019)

Oosterbeek, H., Sloof, R., van de Kuilen, G. : Cultural Differences in Ultimatum Game Experiments: Evidence from a Meta-Analysis. Experimental Economics , 7: 171-188, June 2004.

Henrich J. : Does Culture Matter in Economic Behavior? Ultimatum Game Bargaining Among the Machiguenga of the Peruvian Amazon. The American Economic Review Vol. 973-979. 2000

Program written by Ronald Paul Ng. e-mail: ronaldpaul.ng@gmail.com Address: ICON, 3 Mt. Elizabeth #17-03/04, Singapore 228510

Comments and Questions

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

Click to Run Model

;; no age
;; children starts with wealth = 50

globals [ cycle
          cycle-rejected
          cycle-rejected%
        ]



turtles-own [ wealth
              offer%
              rejection%
              linked?
            ]

to setup
  ca
  crt 1000
      [ setxy random-xcor random-ycor
        set color red
        set wealth 50   ;; start off with 50. Each tick will minus 50 adjusted by carrying capacity. When wealth reaches 0, turtle dies
        set offer% random 100
        set rejection% random 100
        set linked? FALSE
      ]
  set cycle 0
  set cycle-rejected 0
  set cycle-rejected% 0

  reset-ticks
end 

to go
  link-turtles
  ask turtles [if linked?  [calculate-wealth]] ;; if the initiator's offer is higher than the receiver's rejection threshold
  ask turtles [ set linked? false ]
  clear-links
  ;; each tick, with each pair of agent/turtle, total amount of 100 units are added to the "world", or average of 50 to each,
  ;; in order to simulate evolutionary process, where less successful strategies are weeded out by the "death" or removal of thos
  ;; caarying out those strategy, certain amount of "wealth" has to be removed from each agent/turtle, and since with
  ;; each round, on average 50 is added to each agent/turtle, the base unit 50 is taken off. This is adjusted by the ratio of
  ;; population vs the carrying-capacity of the "world" or the society.
  ask turtles [ set wealth wealth - (50 * count turtles / carrying-capacity)
                reproduce
              ]
  ask turtles [ if wealth <= 0 [die]]

  tick
;  the commands below are meant to test the system when carrying-capacity is altered
;  if ticks >= 200 and ticks < 400 [set carrying-capacity 4000]
;  if ticks >= 400 and ticks < 600 [set carrying-capacity 1000]
;  if ticks >= 600 [stop]
end 

to link-turtles
  ask turtles [if (not linked?) and any? other turtles with [linked? = false]
                    [ create-link-with one-of other turtles with [linked? != true ]
                      set linked? true
                      ask link-neighbors [set linked? true ]

                    ]
  ]
end 

to calculate-wealth
  set cycle cycle + 1
  let t-offer% offer%
  let t-rejection% rejection%
  let t-wealth wealth
  let l-offer% 0
  let l-rejection% 0
  let l-wealth 0
  ask link-neighbors [ set l-offer% offer%
                       set l-rejection% rejection%
                       set l-wealth wealth]
  ;;print l-offer%
  ;;print [offer%] of link-neighbors
  ;;print l-rejection%
  ;;print [rejection%] of link-neighbors
  ;;print l-wealth
  ;;print [wealth] of link-neighbors
  ifelse t-offer% > l-rejection% [ set wealth wealth + ( 100 - offer%)
                               ask link-neighbors [ set wealth wealth + t-offer% ]
                                ]
                                 [set cycle-rejected cycle-rejected + 1]
  set cycle-rejected% cycle-rejected / cycle

  set linked? false
  ask link-neighbors [set linked? false]
end 

to reproduce
  let wealth-factor (wealth / 100 - 1) * 10 ;; verified. At 100 wealth, there is a 50% probability of reproduction.
                                            ;; 100 is used because each tick the total amount invoved is 100
  let q 1 / (1 + exp (- wealth-factor) )   ;; logistic function for probability of reproduction. Verified
  let p random-float 1
  if p <= q [hatch 1 [ set wealth 50 ;; offspring starts 50, same as all new turtles
                       set offer% (offer% + random 100) / 2
                       set rejection% (rejection% + random 100) / 2

;                       set offer% ([offer%] of myself + random 100) / 2  ;; add an element of randomness
;                       set rejection% ([rejection%] of myself + random 100) / 2  ;; add an element of randomness
                       setxy random-xcor random-ycor ] ;; move away from the parent
            ]
end 

There is only one version of this model, created over 5 years ago by Ronald Paul Ng.

Attached files

No files

This model does not have any ancestors.

This model does not have any descendants.