International Conflict

TheoryGuru applications

Load Economicreasoning package only if it is not already loaded

If[Length@Names["PLTools`*"]<10,
Get["http://economicreasoning.com"]]

Notes

Attack and Disarm are the only two actions.
R, S, and T are scalar payoff parameters, with the attack-attack payoff normalized to 0.
Notation from here.

Setup

Attack=1;Disarm=0;

equilibrium[{country1_,country2_}]=
(* country 1 sees no benefit from deviating *) 
payoff[{country1,country2}]≥payoff[{1-country1,country2}]&&

(* country 2 sees no benefit from deviating *) 
payoff[{country2,country1}]≥payoff[{1-country2,country1}];

payoff[{us_,them_}]={1-us,us}.(({{R, S}, {T, 0}})).{1-them,them};

AttackAttackistheUniqueEquilibrium=equilibrium@{Attack,Attack}&&
Not@equilibrium@{Disarm,Attack}&&Not@equilibrium@{Attack,Disarm}&&Not@equilibrium@{Disarm,Disarm};

TwoEquilibria=equilibrium@{Attack,Attack}&&equilibrium@{Disarm,Disarm}&&
Not@equilibrium@{Disarm,Attack}&&Not@equilibrium@{Attack,Disarm};

Results

Result 1: with T > R > 0 > S, the only (Nash) equilibrium is for both sides to attack.

TheoryGuru[T>R>0>S,
AttackAttackistheUniqueEquilibrium]

Result 2: The necessary and sufficient condition for this equilibrium to be unique are T > R && S < 0.

TheoryOverlap[{},T>R&&S<0,
AttackAttackistheUniqueEquilibrium]

Result 3: If T ≤ R instead, is is also an equilibrium for both sides to disarm

TheoryGuru[T≤R&&S<0,
TwoEquilibria]

Variable interpretations

Show the payoff matrix

allfeasiblepairs=Tuples[{Attack,Disarm},2];

payoffmatrix=Map[payoff,{#,Reverse@#}&/@allfeasiblepairs,{2}]~Partition~2;

coloredpayoffmatrix=Map[Grid[{Riffle[#,","]},Spacings->0]&,
MapAt[Style[#,Red]&,MapAt[Style[#,Blue]&,payoffmatrix,{All,All,1}],{All,All,2}],{2}];

Row@{Column@{"","","Us"}," ",
Column@{"","","Attack","Disarm"}," ",
coloredpayoffmatrix~Prepend~{"Attack","Disarm"}~Prepend~{"Them",SpanFromLeft}//Grid}