Designing Outcomes (Applied game theory – Part 2)
It seems natural to extend the basic idea from the Predictioneer’s Game introduced in the last post in two ways.
First, what happens if subsets of the group meet and some of those parties sway others or reach compromises in order to form coalitions?
Second, taking this idea further, can we investigate a variety of decision processes to find an optimal process for a desired outcome and design coalitions in order to reach a desired outcome? In terms of the example situation, this is the problem of finding coalitions that will drive a desired result from those we predicted last time.
Again, here is the prediction from the last post:
party : Pos Inf(Norm) Sal ----------------------------------------------- d2 : 15 0.03774 80 ctcust : 35 0.09434 5 ctsal : 35 0.03774 5 er : 50 0.01887 20 eng : 60 0.07547 99 me : 75 0.15094 99 d1 : 75 0.15094 99 adv : 100 0.15094 20 legal : 100 0.13208 95 inv : 100 0.15094 5 ----------------------------------------------- Position (weighted avg): 76.4 Position (balance of power): 71.7
TABLE 1
To answer the first question, we need to build a simple model that replaces a coalition with a single new entity. In the model, the choice was to add the Influence of the parties of a coalition. The new position was the weighted average of the positions as described before. For the Salience, we need to reflect the idea that the most interested party in a coalition will drive the others and use their influence to support the new positions but with some skewing toward their Salience. To model this simple, replace the new entity’s salience with 20% of the average Salience + 80% of the max Salience. Many other choices can be made and explored using the tools here.
To answer the second question, we need a way to generate all of the possible coalitions. This amounts to generating a set partitioning of all the parties. TABLE 2 shows a simple example with only 4 parties.
Parties : ['a', 'b', 'c', 'd']
<<< 15 Partitions >>> ----------------------------- [['a', 'b', 'c', 'd']] [['a', 'b', 'c'], ['d']] [['a', 'b', 'd'], ['c']] [['a', 'b'], ['c', 'd']] [['a', 'b'], ['c'], ['d']] [['a', 'c', 'd'], ['b']] [['a', 'c'], ['b', 'd']] [['a', 'c'], ['b'], ['d']] [['a', 'd'], ['b', 'c']] [['a'], ['b', 'c', 'd']] [['a'], ['b', 'c'], ['d']] [['a', 'd'], ['b'], ['c']] [['a'], ['b', 'd'], ['c']] [['a'], ['b'], ['c', 'd']] [['a'], ['b'], ['c'], ['d']]
TABLE 2
For 10 parties, there are 115,974 games to play out. (See Donald Knuth’s The Art of Computer Programming Vol 4 F3). You can download output of all 115,974 games. The interesting games are the extremes: the game that results in the maximum position and the one that results in the minimum position.
Game A maxPos : 83.22147 party : Pos Inf(Norm) Sal ---------------------------------------------------------------- eng : 60 0.07547 99 _d1+d2_ : 64 0.18868 95 _er+me_ : 74 0.16981 83 _adv+ctcust+ctsal+inv+legal_ : 97 0.56604 77 ----------------------------------------------------------------- Position (weighted avg): 83.2 Position (balance of power): 77.1
(Game # : 2089)
Game B minPos : 66.27527 party : Pos Inf(Norm) Sal ------------------------------------------------------------ _ctcust+ctsal+d2+inv_ : 32 0.32075 65 _d1+eng+me_ : 72 0.37736 99 _er+legal_ : 98 0.15094 80 adv : 100 0.15094 20 ------------------------------------------------------------ Position (weighted avg): 66.3 Position (balance of power): 51.2
(Game # : 47615)
TABLE 3
In Game A, a coalition of d1+d2 and er+me results in the most extreme high-number position. The final position realized was 100 and these two coalitions were instrumental in the outcome. To design for to most extreme high position, these are the coalitions to nurture.
In this case, however, d2, the biggest stakeholder in the low-number position, would have achieved more of their goals had they designed the decision process around the coalitions shown in Game B. By building a relatively strong coalition around ctcust+ctsal+d2+inv and a diffusive coalition around er+legal, a much lower position is achieved.
There is a second hint here too. If the decision process could be more focused on Balance of Power rather than a salience/influence weighted average, a position of around 50 might be reached. This might be done, for example, by getting all the parties to agree to a final vote with 1 vote per person, winning position takes all votes, then voting in rounds sequentially through the coalitions of Game B top to bottom.
Download the Python model modules: MultiPlayerGame.py MultiPlayerNegotiationsModel.py Partitioner.py