This is work-in-progress. It is a collaboration between Edoardo Gallo and Ken Kahn.
REPEATEDLY-ADD-BEHAVIOURS-TO-TWO-RANDOM-PLAYERS -- I randomly select two individuals to add behaviours to.
SIMPLE-ADD-LINK-DECISION -- I decide whether to add a link.
ADD-LINK-DECISION-ERROR -- I add a decision error rate to SIMPLE-ADD-LINK-DECISION
SIMPLE-REMOVE-LINK-DECISION -- I decide whether to remove an existing link.
REMOVE-LINK-DECISION-ERROR -- I add noise to the decision to remove links.
ADD-A-LINK-IF-IN-AGREEMENT -- I add a link if the other player has also decided to add a direct link.
REMOVE-A-LINK-IF-DECIDED - I remove a link if I decided to.
PREPARE-FOR-NEXT-TURN -- I forget who I was paired with and what I decided.
LOG-DESIRE-TO-ADD-A-LINK -- I add to the log when an individual prefers to add a link.
LOG-DESIRE-TO-REMOVE-A-LINK -- I add to the log when an individual decides to remove a link.
ADD-PLAYERS -- I add and initialise the player.
SET-MY-MAXIMUM-BENEFIT-DISTANCE -- I give each player a potentially different distance that truncates the benefits of the network.
SET-MY-GROUP -- I determine which group I'm a member of.
And the following sliders to control parameters:
TOTAL-NUMBER-OF-PLAYERS-SLIDER -- I add a slider for the number of players.
DIRECT-LINK-BENEFIT-SLIDER -- I add a slider for the benefit of a direct link.
DIRECT-LINK-COST-SLIDER -- I add a slider for the cost of a direct link.
DIRECT-LINK-SAME-GROUP-COST-SLIDER -- I create a slider controlling the cost of having a direct link between members of the same group.
INDIRECT-LINK-BENEFIT-DECAY-SLIDER -- I add a slider for the decay factor for indirect links.
MAXIMUM-NUMBER-OF-LINKS-SLIDER -- I add a slider for the maximum number of links any single player can have.
ADD-LINK-ERROR-ODDS-SLIDER -- I add a slider for the odds of making a mistake when deciding to add a link.
REMOVE-LINK-ERROR-ODDS-SLIDER -- I add a slider for the odds of making a mistake when deciding to remove a link.
CREATE-TOTAL-UTILITY-PLOT -- I plot a graph of the total utility of all players over time.
And these are NetLogo procedures specific to these models:
UTILITY-OF-NETWORK -- I compute the utility of the current network.
TOTAL-COST -- I compute the cost of the direct links of a player.
COST-OF-LINK - I report the direct cost of a link taking into account group membership.
BENEFIT-OF-LINK-WITH-DISTANCE -- I compute the benefit of a direct or indirect link.
MINIMUM-DISTANCE -- I compute the minimum network distance to another.
ADD-NETWORK-FORMATION-PROCEDURES - This adds the above list of NetLogo procedures needed by network formation micro-behaviours.