Network Exchange Theory
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
This is a simple bargaining model based on network exchange theory as described in "Network Exchange Theory" (1999) edited by David Willer and encorporating some ideas about bargaining and negociation from José M. Vidal in "Fundamentals of Multiagent Systems" (2010).
HOW IT WORKS
1) Agents start by calculating their desire to communicate as well as a desire to be communicated with. This information is then used to create a probalistic negociation network based on these internal variables.
2) Agents then calculate their 'thresholds' for deal-making. They set their "bank" of resources, then determine how risk tolerant or risk averse they are, which then affects how much of their 'bank' they are willing to offer in negociations.
3) Bargaining then commences. Starting with the links established with others, each agent finds their link neighbor with the maximum 'bank,' compares their neighbors 'offer' size with their internal minimum acceptable profit and either agree or not. If not, offers are raised in a monotonic consession protocol (Vidal 2007, 87) until an equi-resistance point (Vidal 2007, 100) is reached.
4) Agents that either run out of 'bank' or have agreed to a bargain, leave the network. The bargain plays out until no agents remain.
5) The cycle of network construction, bargaining, attrition can be looped to generate data on various indicators propogating throughout the network, i.e. 'bank' data, number and types (weak vs. strong (Willer 1999, Part 1)) of networks, median offers, etc.
HOW TO USE IT
In the interface tab, set the number of agents in the network. Currently the slider limits the agents to 20, but this is arbitrary and can be changed. Set pcomms global to set the probability of connections within the network. Set the number of cycles, or times the bargaining process occurs. Press 'Go.'
Note that no initial "setup" procedure is shown in the interface view due to the visissitudes of netlogo code. To examine a one-off network, a button with that function is included but "Go" will not run the bargaining procedure with that one-off network. Future improvements will attempt to fix this peculiarity.
THINGS TO TRY
This model's code is rife with areas for additional procedures and algoithms for use with different risk models, bargaining theories, etc. Indeed, that was the intent of its creation and distribution. See notes in the code for specific areas left open for your additions.
EXTENDING THE MODEL
This model, as with most agent-based models, will find it's usefulness in the data it can output. Any and all suggestions/modifications on plotting or exporting interesting data is welcome.
CREDITS AND REFERENCES
Willer, David, Editor. Network Exchange Theory. Praeger. Westport, Connecticut. 1999.
Vidal, José M. "Fundamentals of Multiagent Systems with Netlogo Examples." 2010.
Comments and Questions
globals [ ] turtles-own [ outreach ;;Communicability receptability ;;Willingness to be communicated with bargain-threshold ;;How much an agent is willing to offer min-profit ;;Minimum profit agent will accept from negociation bank ;;How much the agent has to bargain with offer ;;What an agent offers raise-increment ;;How much an agent will put in a bargain agreed? ;;Whether the agent agreed to the bargain ] to setup-network clear-turtles ask patches [set pcolor white] create-turtles num-nodes ;;How many players repeat 10 + sqrt num-nodes [layout-spring turtles links 0.2 5 2] ;;Network layout ask turtles [ set bank random-float 1000 ;; sum [bank] of turtles set label who set label-color black set agreed? false set shape "circle" set color red ] calculate-pcomms ;;Starting probability of agent's willingness to reach out calculate-bargain-threshold ;;Agents decide how much they will risk in bargaining layout output-show median [bank] of turtles ;;Shows median bank accounts in interface for possible use in median voter algoithm reset-ticks end to cycle-go ;;Loops the model a preset number of 'cycles' repeat cycles [ setup-network loop-model ] end to loop-model ;;Procedure combining bargaining sub-procedures loop [ bargain layout resize-turtles fold tick if count turtles = 0 [stop] ] end to resize-turtles ;;Visual representation of agent's 'power' in the network ask turtles [ set size sqrt count link-neighbors + (round bank / 1000) ;;Placeholder for distributing resources across agents ] end to calculate-pcomms ;;Agents decide to reach out ask turtles [ set outreach random-float 1 ;;Placeholder for algorithm where turtles decide how 'social' they will be set receptability random-float 1 ;;Placeholder for algorithm where turtles decide how receptive to other turtles they will be if outreach <= pcomms [create-link-with max-one-of other turtles [receptability]] ;;Based on pcomms; agents link with other agents with high communicability ] end to calculate-bargain-threshold ;;Agents decide how much they will risk in bargaining ask turtles [ let risk-percentage random-float 1 ;;How risk averse the agent is; the higher the number the greater the risk tolerance set bargain-threshold (bank * risk-percentage) ;;Percentage of bank an agent is likely to risk in bargaining ] end to bargain ask turtles with [any? link-neighbors = true] [ set min-profit (bank / .25) ;;Minimum profit an agent will accept in negociation set offer (bargain-threshold / 2) ;;Set amount an agent is going to offer other agents set raise-increment ((offer / 2) + ticks) ;;Set increment to raise slowly ifelse agreed? = false [ ifelse max [offer] of link-neighbors < min-profit ;;Agents compare their neighbors offer to their own min-profit acceptable and either agree, ... [ask link-neighbors [set offer offer + raise-increment set bank bank - offer]] [set agreed? true] ] ;;...or ask their neighbor to raise until agent agrees... [ die ] ;;...then are removed from the network ] end to fold ;;Remove a player if they... ask turtles [ if size < 1 [die] ;;...go broke, ... if agreed? = true [die] ;;...agreed to a bargain, or... if link-neighbors = nobody [die] ;;...are not in the network. ] end to layout ask turtles [ layout-spring turtles links 0.2 5 1 ] display end to-report count-within-cycles ;;Placeholder for a procedure where variables within the cycles are recorded report median [outreach] of turtles end
There is only one version of this model, created over 9 years ago by John Margeson.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Network Exchange Theory.png | preview | Preview for 'Network Exchange Theory' | over 9 years ago, by John Margeson | Download |
This model does not have any ancestors.
This model does not have any descendants.