Substitution Best-Shot Public Goods Game

Substitution Best-Shot Public Goods Game preview image

2 collaborators

Default-person Amanda Page (Author)
Default-person Darin England (Advisor)

Tags

(This model has yet to be categorized with any tags)
Visible to everyone | Changeable by everyone
Model was written in NetLogo 6.1.1 • Viewed 229 times • Downloaded 27 times • Run 0 times
Download the 'Substitution Best-Shot Public Goods Game' 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 is an implementation of "best-shot" public goods game when players are arranged in a network. Each agent can choose one of two possible actions: action 0 or action 1.

In a game of substitutes a player has a decreasing incentive to choose an action as more neighbors choose the action. In the “best-shot” public goods game, a player will receive a benefit of 1 if she or any of her neighbors take action 1. The purpose of the model is to understand the conditions under which an equilibrium exists.

HOW IT WORKS

Agents play a best-shot substitution game with their neighbors. Before taking an action, agents check to see if any of their neighbors are taking action 1.

Initially all agents are set to take action 0. The user can select which agents will (at least initially) take action 1. If any of the agent's neighbors are taking action 1, the agent is better off taking action 0, since taking action 1 is costly. However, taking action 1 and paying the cost is better than having nobody in the neighborhood take the action. In general, in games of strategic substitutes, an increase in other players' actions results in relatively lower payoffs to higher actions of a given player.

There are many possible equilibria in the best-shot public goods game. The equilibria in this game directly correspond to having the set of players who choose action 1 form a maximal independent set of nodes in the network. A maximal independent set is a maximal set of nodes that have no links to each other in the network.

The color of an agent indicates which action is currently beging taken. Black indicates action 0 and white indicates action 1.

HOW TO USE IT

SETUP sets all agents to take action 0 in the generated network.

When GO ONCE is pressed, agents play the coordination game one time. Pressing GO causes the agents to play the game repeatedly (at each tick).

The SELECT NODES button allows the user to select agents with the mouse. The selected agents will take action 1 (at least initially). The 'selected node' box will show the number of the turtle the mouse is hovering over while selecting nodes.

RESET STATES will reset all agents to take action 0 in the current network. The difference between this and SETUP is the setup button will generate a new network with new links.

The ADD NODE button allows the user to click and add a node to the network. The DELETE NODE button allows the user to click and delete a node, along with its links, from the network.

THINGS TO NOTICE

If an equilibrium occurs, the nodes that take action 1 form a maximal independent set.

THINGS TO TRY

Try creating different types of networks, e.g. a star network, a complete network, a circle, a line, a bipartite network, ...

EXTENDING THE MODEL

Try implementing the substitution model on other types of networks.

NETLOGO FEATURES

Networks are represented using turtles and links. The user is able to use the mouse to select the agents that initially take action 1.

The user is able to use the mouse to add nodes to the network by clicking where they want the new node. The user is also able to delete nodes from the network by using the mouse to select the node they want to delete.

CREDITS AND REFERENCES

This model is an implemetation of the example described in Jackson (2014), "Games on Networks", Handbook of Game Theory: Vol 4, pp 4-15.

HOW TO CITE

If you mention this model or the NetLogo software in a publication, we ask that you include the citations below.

For the model itself:

Please cite the NetLogo software as:

COPYRIGHT AND LICENSE

Copyright 2020 Darin England

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 https://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

Comments and Questions

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

Click to Run Model

; a model for the 'best-shot' public goods game

globals [
  selected
  turtle1
  turtle2]

turtles-own [
  action        ; action (either 0 or 1)
  orig-action   ; each person's initially assigned action
  action-1-sum
]

to setup
  clear-all
  set-default-shape turtles "circle"
  ask patches [ set pcolor cyan + 1 ]
  set selected nobody
  make-turtles
  distribute-actions
  create-network
  select-nodes
  delete-nodes
  add-nodes
  reset-ticks
end 

; create the turtles in 1-dimensional lattice

to make-turtles
  create-turtles num-nodes [
    set color black
    set action 0 ]
  repeat 50 [layout]
  ask turtles [ setxy 0.95 * xcor 0.95 * ycor ]
end 

to layout
  layout-spring turtles links 0.5 2 1
end 


; initialize some individuals to start with action 1

to distribute-actions
  ask turtles [ set action 0 ]
  ask turtles [
    set orig-action action
    update-color
  ]
end 

to update-color
  set color ifelse-value action = 0 [black] [white]
end 


;; create the links in the network

to create-network
  ask turtles [
    let nbrs other turtles in-radius 10
    ; other omits the turtle itself
    create-links-with nbrs [ set color white ]
    ; only one undirected link between any two turtles is created
  ]
end 

to reset-nodes
  clear-all-plots
  ask turtles [
    set action orig-action
    update-color
  ]
  reset-ticks
end 

to redistribute-actions
  clear-all-plots
  distribute-actions
  reset-ticks
end 

to go
  ask turtles [check-neighbors]
  ask turtles [ take-action ]
  ask turtles [ update-color ]
  tick
  ;debg-actions
end 

to debg-actions
   ; debugging, show actions of all nodes
  foreach sort-by[ [a b] -> [xcor] of a < [xcor] of b ] turtles [ i ->
    ask i [ show action ]
  ]
end 

to check-neighbors
  set action-1-sum sum [action] of link-neighbors
end 

to take-action
  let num-neighbors count link-neighbors
  set action ifelse-value (action-1-sum >= 1) [0] [1]
end 

to select-nodes ; use the mouse to select which nodes take action 1
  set selected min-one-of turtles [distancexy mouse-xcor mouse-ycor]
  if mouse-down? [
    ask turtles with [distancexy mouse-xcor mouse-ycor < 2] [
      set action 1
      update-color
      display ; update the display
    ]
  ]
  set selected nobody
end 

to add-nodes
  if mouse-down? [
      create-turtles 1 [
        set color black
        set action 0
        setxy mouse-xcor mouse-ycor
        let nbrs other turtles in-radius 10
        create-links-with nbrs [set color white]
    ]
    stop
    ]
  display ; update the display
end 

to delete-nodes
  if mouse-down? [
    ask turtles with [distancexy mouse-xcor mouse-ycor < 2] [
      die
      display ; update the display
    ]
    stop
  ]
end 

There are 3 versions of this model.

Uploaded by When Description Download
Amanda Page about 5 years ago Update info tab Download this version
Amanda Page about 5 years ago Update info tab Download this version
Amanda Page about 5 years ago Initial upload Download this version

Attached files

File Type Description Last updated
Substitution Best-Shot Public Goods Game.png preview Preview for 'Substitution Best-Shot Public Goods Game' about 5 years ago, by Amanda Page Download

This model does not have any ancestors.

This model does not have any descendants.