Bruce Edmonds and David Hales (2004)
When and Why Does Haggling Occur? Some suggestions from a qualitative but computational simulation of negotiation
Journal of Artificial Societies and Social Simulation
vol. 7, no. 2
<https://www.jasss.org/7/2/9.html>
To cite articles published in the Journal of Artificial Societies and Social Simulation, reference the above information and include paragraph numbers if necessary
Received: 01-Oct-2003 Accepted: 16-Mar-2004 Published: 31-Mar-2004
We propose that negotiation is best viewed as a problem solving enterprise in which negotiators use mental models to guide them toward a "solution."Where they define "mental models" as ...
mental representations of the causal relations within a system that allow people to understand, predict, and solve problems in that system ... Mental models are cognitive representations that specify the causal relations within a particular system that can be manipulated, inspected, "read," and "run"
Table 1: A summary of different levels that can be involved in a negotiation | ||
Level Name | What Communication Concerns | Example |
Actions | Offers and counter-offers as to possible actions | I will carry the box if you open the door for me |
Beliefs | What is and is not possible and what states are considered | Even if we build high flood-defences abnormally high rain could still cause flooding |
Goals | The goals of participants and what states are preferable | I know you consider this is too expensive but consider how much you will save in the future |
Meta-issues | Suggestions and comments about the negotiation process itself | We are not getting anywhere, lets go and have lunch |
Measurement theory shows that strong assumptions are required for certain statistics to provide meaningful information about reality. Measurement theory encourages people to think about the meaning of their data. It encourages critical assessment of the assumptions behind the analysis. It encourages responsible real-world data analysis. (Sarle 1997)
Figure 1. The parts of the network diagrams |
Figure 2. Two belief networks for Iran |
Thus, in the first case (A) an up action is there, which reflects the belief of Iran that if up were done she would reach a more desirable state, but up is not one of the actions that is possible for her in the sad state. In the second case up is a possible action from the sad state, but Iran does not do it because she does not think that it will cause her to get to happy. Of course, when Iran is alone it makes no material difference which of these cases holds, but the situation changes when someone else is involved (in this case Rick).
Figure 3. Rick's (more complete) belief network about Iran |
Table 2: Summary of results of Example 1 | ||
Case A (can't act) | Case B (not worth it) | |
Case H (thinks Iran is happy) | Iran requests help but Rick does not think this will help | Nothing occurs |
Case S (thinks Iran is depressed) | Iran requests help and Rick turns up dial to make Iran happy | Rick turns up dial on own accord to make Iran happy |
Figure 4. Belief networks of seller and buyer |
Table 3: Summary of results from example 2 | ||||
Seller does not thinks buyer would pay 20000 and would not give car for 10000 (cc--) | Seller does not thinks buyer would pay 20000 and would give car for 10000 (cu--) | Seller thinks buyer would pay 20000 and would not give car for 10000 (uc--) | Seller thinks buyer would pay 20000 and would give car for 10000 (uu--) | |
Buyer would not pay 20000 and thinks seller would not sell for 10000 (--cc) | No agreement | No agreement | No agreement | No agreement |
Buyer would not pay 20000 and does think seller would sell for 10000 (--cu) | No agreement | Car Sold Cheaply | No agreement | Car Sold Cheaply |
Buyer would pay 20000 and thinks seller would not sell for 10000 (--uc) | No agreement | No agreement | Car Sold Expensively | Car Sold Expensively |
Buyer would pay 20000 and does think seller would sell for 10000 (--uu) | No agreement | Car Sold Cheaply | Car Sold Expensively | Car Sold Expensively? |
Figure 5. A citizen's view (simple) |
Figure 6. The government's view (simple) |
Figure 7. An extended citizen's view |
Figure 8. The extended government's view |
The good news from this study for negotiators is that there is a real cost to being perceived as untrustworthy. Negotiators who negotiate fairly and earn a reputation for honesty may benefit in the future from negotiating against opponents who trust them more. The bad news that comes from this study is that it is the less trusting and more suspicious party who will tend to claim a larger portion of the spoils.
2 To be precise it is not necessary that the labels mean the same things for different negotiators, but that each agent thinks that they are talking about the same actions.
3 At least not a very interesting simulation.
4 This contrasts markedly with the practice in physics where a huge amount of effort is put into finding and checking that quantities are measurable.
5 This is not to say that numbers can’t be used to implement non-numerical representations, for example they may be used to indicate a total order as long as arithmetic operations are not performed that change this order.
6 The authoritative works on measure theory are Krantz et al (1971); Suppes et al (1989); Luce et al (1990). Stevens popularised levels of measurement in Stevens (1946); a good introduction is Sarle (1997).
7 In a very real sense there are no numbers in any computation, only an approximation of them in terms of formal qualitative computational logic. Numbers in a computer are implemented in qualitative terms (on and off), which are are implemented in quantitative voltages, which are implemented in qualitative quanta (electrons) etc.
8 We looked in vain for readily accessible transcripts of real negotiations but did not find any (except for summaries of negotiations at the Waco siege, which were bizarre). The authors would be very interested to hear of any.
9 Although there is no reason not to program the agents so that they select a random state that meets a given goal, which might result in different results each time it was run.
10‘Syntactic sugar’ is a computer science term for syntactically swapping pre-determined and easily readable phrases for equivalent, but less appealing messages.
van BOVEN, L. and Thompson, L. (2001) A Look Into the Mind of the Negotiator: Mental Models in Negotiation. Kellogg Working Paper 211. http://www1.kellogg.nwu.edu/wps/Login.asp?dept_id=&document_seqno=18&filename=Number211.pdf
CHATTOE E. (1998) Just How (Un)realistic are Evolutionary Algorithms as Representations of Social Processes? Journal of Artificial Societies and Social Simulation, 1(3), https://www.jasss.org/1/3/2.html
CONTE, R. and Sichman, J. (1995), DEPNET: How to benefit from social dependence, Journal of Mathematical Sociology, 1995, 20(2-3), 161-177.
CONTE, R. and Pedone R. (1998), Finding the best partner: The PART-NET system, MultiAgent Systems and Agent-Based Simulation, Proceedings of MABS98, Gilbert N., Sichman J.S. and Conte R. editors, LNAI 1534, Springer Verlag, pages 156-168.
DOYLE, J. (1979) A truth maintenance system, Artificial intelligence 12:231-272.
EDMONDS, B. (2001) Commentary on: "Thoyer, S. et. al (2001) A Bargaining model to simulate negotiations between water users". Journal of Artificial Societies and Social Simulation (4)2 https://www.jasss.org/4/2/6.1.html
EDMONDS, B. (2004) Against the inappropriate use of numerical representation in social simulation. CPM Report 04-129, CPM report, CPM, MMU, Manchester, UK. http://cfpm.org/cpmrep129.html
EDMONDS, B. and Moss, S. (2001) The Importance of Representing Cognitive Processes. In: Dorffner, G., Bischof, H. and Hornik, K. (eds.), Artificial Neural Networks, Springer, Lecture Notes in Computer Science, 2130:759-766.
HALES, D. (2003) Neg-o-net - a negotiation simulation tested. CPM Report 03-109, CPM, MMU, Manchester, UK. http://cfpm.org/cpmrep109.html
HARE, M. P., D. Medugno, J. Heeb & C. Pahl-Wostl (2002a) An applied methodology for participatory model building of agent-based models for urban water management. In Urban, C. 3rd Workshop on Agent-Based Simulation. SCS Europe Bvba, Ghent. pp 61-66.
HARE, M.P.,J. Heeb & C. Pahl-Wostl (2002b) The Symbiotic Relationship between Role Playing Games and Model Development: A case study in participatory model building and social learning for sustainable urban water management. Proceedings of ISEE, 2002, Sousse, Tunisia
HARE, M. P., N. Gilbert, S. Maltby & C. Pahl-Wostl (2002c) An Internet-based Role Playing Game for Developing Stakeholders' Strategies for Sustainable Urban Water Management : Experiences and Comparisons with Face-to-Face Gaming. Proceedings of ISEE 2002, Sousse, Tunisia
KRANTZ, D. H., Luce, R. D., Suppes, P., and Tversky, A. (1971). Foundations of measurement. (Vol. I: Additive and polynomial representations.). New York: Academic Press.
KRAUS, K. (2001) Strategic Negotiation in Multiagent Environments. Cambridge, MA: MIT Press.
LEPPERHOFF, N. (2002) SAM - Simulation of Computer-mediated Negotiations, Journal of Artificial Societies and Social Simulation 5(4) https://www.jasss.org/5/4/2.html
LUCE, R. D., Krantz, D. H., Suppes, P., and Tversky, A. (1990). Foundations of measurement. (Vol. III: Representation, axiomatization, and invariance). New York: Academic Press.
MOORE, D. and Oesch, J. M. (1997) Trust in Negotiations: The Good News and the Bad News. Kellogg Working Paper 160. http://www1.kellogg.nwu.edu/wps/Login.asp?dept_id=&document_seqno=45&filename=Number160.pdf
MOSS, Scott , Helen Gaylard, Steve Wallis and Bruce Edmonds (1998), SDML: A Multi-Agent Language for Organizational Modelling. Computational and MathematicalOrganization Theory 4, (1), 43-70.
MOSS, S. (2002) Challenges for Agent-based Social Simulation of Multilateral Negotiation. In Dautenhahn, K., Bond, A., Canamero, D, and Edmonds, B. (Eds.). Socially Intelligent Agents - creating relationships with computers and robots. Dordrecht: Kluwer.
ROUCHIER, J. and Hales, D. (2003) How To Be Loyal, Rich And Have Fun Too: The Fun Is Yet To Come. 1st international conference of the European Social Simulation Association (ESSA 2003), Groningen, the Netherlands. September 2003. http://cfpm.org/cpmrep122.html
SALLACH, D. L. (2003) A Review of Strategic Negotiation in Multiagent Environments by Sarit Kraus. Journal of Artificial Societies and Social Simulation, 6(1) https://www.jasss.org/6/1/reviews/sallach.html
SARLE, W. S. (1997) Measurement theory: Frequently asked questions, Version 3, Sep 14, 1997. (Accessed 22/01/04) ftp://ftp.sas.com/pub/neural/measurement.html
STEVENS, S. S. (1946), On the theory of scales of measurement. Science, 103:677-680.
SUPPES, P., Krantz, D. H., Luce, R. D., and Tversky, A. (1989). Foundations of measurement. (Vol. II: Geometrical, threshold, and probabilistic representations). New York: Academic Press.
THOYER, S. et. al (2001) A Bargaining Model to Simulate Negotiations between Water Users. Journal of Artificial Societies and Social Simulation 4(2) https://www.jasss.org/4/2/6.html
TOTTONI, P. (2002) A study of the termination of negotiation dialogues. Proceedings of the 1st International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS), Bologna, Italy, July 2002. ACM Press, 1223-1230.
Read in and parse viewpoint file then set up agents with their beliefs and initial world state The agents plan, decide and act in parallel with each other. Until the number of rounds reaches the maximum or two consecutive rounds are identical.
Repeat negotiation round: If I have agreed to an action and it is possible then do it While no actions are done and no agreement finalised do this communication cycle: If an agreement is suggested Then If agreement is satisfactory to me then signal my willingness to agree Else If a conditional offer or request is made Then consider possible combinations of offers if possible agreement exists then suggest an agreement Else Search for a preferable state to current one within limit If offer or request has not already been made this round Then make appropriate conditional offer or request Until either an agreement is finalised or last round is same as this oneWhere an "agreement is finalised" means that all parties necessary to an agreement have signalled their agreement to it - the agreement then comes into force and the parties try to do the actions they have agreed to.
Agent: Iran : Iran IndicatorWeights: happiness 1 StateValuationClause: indicatorValue happiness InitialNodes: IranIsUnhappy Node: IranIsHappy : Iran is happy Indicators: happiness 1 Action: TurnDialDown : make self sad and fatalistic Link: TurnDialDown => IranIsUnhappy : Iran makes himself sad Node: IranIsUnhappy : Iran is depressed Indicators: happiness 0 # Comment next out if it is not possible for Iran to turn dial up when depressed (A) Action: TurnDialUp : Dial turned up to make Iran Happy # Comment next out if Iran thinks turning the dial up will not help when depressed (B) Link: TurnDialUp => IranIsHappy #------------------------------------------------------------------------- Agent: Rick : Rick IndicatorWeights: happiness 1 StateValuationClause: indicatorValue happiness # Next line is "InitialNodes: IranIsUnhappy" if Rick thinks that Iran is depressed (S) InitialNodes: IranIsHappy Node: IranIsHappy : Iran is happy Indicators: happiness 1 Action: TurnDialDown : make self sad and fatalistic Link: TurnDialDown => IranIsUnhappy : Iran makes himself sad Node: IranIsUnhappy : Iran is depressed Indicators: happiness 0 Action: TurnDialUp : Dial turned up to make Iran Happy Link: TurnDialUp => IranIsHappy
Iran: Can someone please TurnDialUp so we can achieve IranIsHappy?
[nothing occurs]
Rick: I will TurnDialUp to achieve IranIsHappy. Iran: Can someone please TurnDialUp so we can achieve IranIsHappy? Rick: I will TurnDialUp Rick has done TurnDialUp. (State of Rick) is: Iran is happy. (State of Iran) is: Iran is happy.
Rick: I will TurnDialUp to achieve IranIsHappy. Rick: I will TurnDialUp Rick has done TurnDialUp. (State of Rick) is: Iran is happy. (State of Iran) is: Iran is happy.
Agent: Seller : The Car Salesman IndicatorWeights: car 5000 money 1 StateValuationClause: sum (multiply 5000 (indicatorValue car)) (multiply 1 (indicatorValue money)) InitialNodes: Start Node: Start : the start Indicators: car 1 money 0 Link: Pay10000 => GetLittle : given 10000 by buyer # Comment out if seller thinks buyer would not pay 20000 # Link: Pay20000 => GetLots : given 20000 by buyer Node: GetLittle : Seller has 10000 and car Indicators: car 1 money 10000 # Comment out if seller would not give car for 10000 # Action: GiveCarCheaply : Seller gives car to buyer for only 10000 Link: GiveCarCheaply => CarSoldCheaply Node: GetLots : Seller has 20000 and car Indicators: car 1 money 20000 Action: GiveCarExpensively : Seller gives car to buyer Link: GiveCarExpensively => CarSoldExpensively Node: CarSoldCheaply : Seller has 10000 Indicators: car 0 money 10000 Node: CarSoldExpensively : Seller has 20000 Indicators: car 0 money 20000 #---------------------------------------------- Agent: Buyer : The Car Purchaser IndicatorWeights: car 25000 money 1 StateValuationClause: sum (multiply 25000 (indicatorValue car)) (multiply 1 (indicatorValue money)) InitialNodes: Start Node: Start : the start Indicators: car 0 money 20000 Action: Pay10000 : pay 10000 # Comment out if buyer would not pay 20000 # Action: Pay20000 : pay 20000 Link: Pay10000 => GaveLittle : gave 10000 Link: Pay20000 => GaveLots : gave 20000 Node: GaveLittle : Seller has 10000 and car Indicators: car 0 money 10000 # Comment out if seller would not give car for 10000 # Link: GiveCarCheaply => CarSoldCheaply : seller gives car for 10000 Node: GaveLots : Seller has 20000 and car Indicators: car 0 money 0 Link: GiveCarExpensively => CarSoldExpensively :seller gives car for 20000 Node: CarSoldCheaply : Seller has car and 10000 Indicators: car 1 money 10000 Node: CarSoldExpensively : Seller has car and 0 Indicators: car 1 money 0
=========================================================================== Buyer: Can someone please Pay20000 and GiveCarExpensively so we can achieve CarSoldExpensively? Seller: Can someone please Pay10000 so we can achieve GetLittle? Buyer: I will Pay10000 if others Pay20000 and GiveCarExpensively. Seller: Can someone please Pay10000 and GiveCarCheaply so we can achieve CarSoldCheaply? Buyer: I will Pay10000 if others Pay20000 and GiveCarExpensively. =========================================================================== =========================================================================== =========================================================================== (State of Buyer) is: Start. (State of Seller) is: Start.
=========================================================================== Seller: Can someone please Pay10000 so we can achieve GetLittle? Buyer: I will Pay10000 if others GiveCarCheaply. Seller: I will GiveCarCheaply if others Pay10000. Buyer: Can someone please Pay20000 and GiveCarExpensively so we can achieve CarSoldExpensively? Buyer: I will Pay10000 if others Pay20000 and GiveCarExpensively. Seller: I agree to GiveCarCheaply if others Pay10000 Buyer: I agree to Pay10000 if others GiveCarCheaply Buyer has done Pay10000. =========================================================================== Seller has done GiveCarCheaply. =========================================================================== =========================================================================== (State of Seller) is: CarSoldCheaply. (State of Buyer) is: CarSoldCheaply.
=========================================================================== Seller: Can someone please Pay10000 so we can achieve GetLittle? Buyer: I will Pay20000 if others GiveCarExpensively. Seller: I will GiveCarCheaply if others Pay10000. =========================================================================== =========================================================================== =========================================================================== (State of Seller) is: Start. (State of Buyer) is: Start.
=========================================================================== Buyer: I will Pay20000 if others GiveCarExpensively. Seller: Can someone please Pay20000 so we can achieve GetLots? Seller: I will GiveCarExpensively if others Pay20000. Seller: Can someone please Pay10000 so we can achieve GetLittle? Buyer: I agree to Pay20000 if others GiveCarExpensively Seller: I agree to GiveCarExpensively if others Pay20000 Seller: Can someone please Pay10000 and GiveCarCheaply so we can achieve CarSoldCheaply? Buyer has done Pay20000. =========================================================================== Seller has done GiveCarExpensively. =========================================================================== =========================================================================== (State of Buyer) is: CarSoldExpensively. (State of Seller) is: CarSoldExpensively.
=========================================================================== Buyer: I will Pay10000 if others GiveCarCheaply. Seller: Can someone please Pay20000 so we can achieve GetLots? Buyer: I will Pay20000 if others GiveCarExpensively. Seller: I will GiveCarExpensively if others Pay20000. Seller: Can someone please Pay10000 so we can achieve GetLittle? Buyer: I agree to Pay20000 if others GiveCarExpensively Seller: I agree to GiveCarExpensively if others Pay20000 Seller: I will GiveCarCheaply if others Pay10000. Buyer has done Pay20000. =========================================================================== Seller has done GiveCarExpensively. =========================================================================== =========================================================================== (State of Buyer) is: CarSoldExpensively. (State of Seller) is: CarSoldExpensively.
Agent: Citizen : The citizens # agent name and description IndicatorWeights: floodDamage -4 # weights agent applies to indicators tax -0.5 environment 0.5 StateValuationClause: minOf (accessibleStateInNSteps (sumOfAllWeightedIndicatorValues) 1) InitialNodes: Start Node: Start : no floods, normal flood defences and taxes Indicators: floodDamage 0 tax 1 environment 0 Action: accept-higher-taxes : ambitious internal dykes Link: accept-higher-taxes and build-defenses => Expensive-High-Flood-defences : build expensive defences Link: build-defenses => Cheap-High-Flood-defences : build cheap but effective defences Link: high-rain => SeriousFloods : high rain causes serious floods Node: Cheap-High-Flood-defences : high flood defences and low taxes Indicators: floodDamage 0 tax 4 environment -5 Node: Expensive-High-Flood-defences : high flood defences and low taxes Indicators: floodDamage 0 tax 10 environment -4 Node: SeriousFloods : attractive flood plains up river Indicators: floodDamage 10 tax 5 environment -7 #================================================================= Agent: State : The government of the citizens IndicatorWeights: floodDamage -3 # weights agent applies to indicators environment 1 popularity 2 StateValuationClause: minOf (accessibleStateInNSteps (sumOfAllWeightedIndicatorValues) 1) InitialNodes: Start Node: Start : no floods, normal flood defences and taxes Indicators: floodDamage 0 environment 0 popularity 1 Action: build-flood-defences : ambitious internal dykes Link: accept-higher-taxes and build-defenses => Expensive-High-Flood-defences : build expensive defences Link: high-rain => SeriousFloods : high rain causes serious floods Link: abnormal-rain => SeriousFloods : abnormal rain causes serious floods Node: Expensive-High-Flood-defences : high flood defences and low taxes Indicators: floodDamage 0 popularity 1.2 environment -0.1 Link: abnormal-rain => SeriousFloods : abnormal rain means get serious flooding even having built flood defences Node: SeriousFloods : attractive flood plains up river Indicators: floodDamage 10 popularity -2 environment -0.1
=========================================================================== Citizen: Can someone please build-defenses so we can achieve Cheap-High-Flood-defences? Citizen: I will accept-higher-taxes if others build-defenses. =========================================================================== =========================================================================== =========================================================================== (State of Citizen) is: Start. (State of State) is: Start.
Agent: Citizen : The citizens # agent name and description IndicatorWeights: floodDamage -4 # weights agent applies to indicators tax -0.5 environment 0.5 StateValuationClause: minOf (accessibleStateInNSteps (sumOfAllWeightedIndicatorValues) 1) InitialNodes: Start Node: Start : no floods, normal flood defences and taxes Indicators: floodDamage 0 tax 1 environment 0 Action: accept-higher-taxes : ambitious internal dykes Link: accept-higher-taxes and build-defenses => Expensive-High-Flood-defences : build expensive defences Link: accept-higher-taxes and create-flood-plains => Flood-Plains : create attractive flood plains Link: build-defenses => Cheap-High-Flood-defences : build cheap but effective defences Link: high-rain => SeriousFloods : high rain causes serious floods Node: Cheap-High-Flood-defences : high flood defences and low taxes Indicators: floodDamage 0 tax 4 environment -5 Node: Expensive-High-Flood-defences : high flood defences and low taxes Indicators: floodDamage 0 tax 10 environment -4 Node: SeriousFloods : serious disruptive flooding Indicators: floodDamage 10 tax 5 environment -7 Node: Flood-Plains : attractive flood plains up river Indicators: floodDamage 0 tax 8 environment 2 Link: high-rain => ModerateFloods : high rain causes moderate floods Node: ModerateFloods : moderate flooding Indicators: floodDamage 7 tax 4 environment -4 #================================================================= Agent: State : The government of the citizens IndicatorWeights: floodDamage -3 # weights agent applies to indicators environment 1 popularity 2 StateValuationClause: minOf (accessibleStateInNSteps (sumOfAllWeightedIndicatorValues) 1) InitialNodes: Start Node: Start : no floods, normal flood defences and taxes Indicators: floodDamage 0 environment 0 popularity 1 Action: build-flood-defences : ambitious internal dykes Action: create-flood-plains : create flood plains Link: accept-higher-taxes and build-defenses => Expensive-High-Flood-defences : build expensive defences Link: accept-higher-taxes and create-flood-plains => Flood-Plains : create attractive flood plains Link: high-rain => SeriousFloods : high rain causes serious floods Link: abnormal-rain => SeriousFloods : abnormal rain causes serious floods Node: Expensive-High-Flood-defences : high flood defences and low taxes Indicators: floodDamage 0 popularity 1.2 environment -0.1 Link: abnormal-rain => SeriousFloods : abnormal rain means get serious flooding even having built flood defences Node: SeriousFloods : attractive flood plains up river Indicators: floodDamage 10 popularity -2 environment -0.1 Node: Flood-Plains : attractive flood plains up river Indicators: floodDamage 0 popularity 0 environment 2 Link: high-rain => ModerateFloods : high rain causes moderate floods Link: abnormal-rain => ModerateFloods : high rain causes moderate floods Node: ModerateFloods: moderate flooding Indicators: floodDamage 7 popularity -1 environment -0.1
=========================================================================== State: I will create-flood-plains if others accept-higher-taxes. Citizen: Can someone please build-defenses so we can achieve Cheap-High-Flood-defences? State: I will create-flood-plains if others accept-higher-taxes and abnormal-rain. Citizen: I will accept-higher-taxes if others build-defenses. State: I will create-flood-plains if others accept-higher-taxes and high-rain. Citizen: I will accept-higher-taxes if others create-flood-plains. Citizen: I will accept-higher-taxes if others create-flood-plains and high-rain. State: I agree to create-flood-plains if others accept-higher-taxes Citizen: I agree to accept-higher-taxes if others create-flood-plains State has done create-flood-plains. Citizen has done accept-higher-taxes. =========================================================================== =========================================================================== =========================================================================== (State of State) is: Flood-Plains. (State of Citizen) is: Flood-Plains.
Return to Contents of this issue
© Copyright Journal of Artificial Societies and Social Simulation, [2004]