Power Voting Systems Like the United Nations Security Council

Manipulate[
If[needed<perms,needed=perms];
If[needed>perms+nonperms,needed=perms+nonperms];
Module[{total,permweight,quota,shapshubnon,shapshubperm,criticals,banzperm,banznonperm,permdisp,nonpermdisp},
total=perms+nonperms;
If[needed>total,needed=total];
If[needed<perms,needed=perms];
permweight=Solve[(perms-1)x+nonperms==perms*x+(needed-perms),x][[1,1,2]]+1;
quota=perms*permweight+(needed-perms);

shapshubnon=100*Binomial[nonperms-1,needed-perms-1]*(needed-1.)!(total-needed)!/total!;
shapshubperm=(100.-nonperms*shapshubnon)/perms;
criticals=perms*Sum[Binomial[nonperms,k],{k,needed-perms,nonperms}]+nonperms*Binomial[nonperms-1,needed-perms-1];
banzperm=100.Sum[Binomial[nonperms,k],{k,needed-perms,nonperms}]/criticals;
banznonperm=100.Binomial[nonperms-1,needed-perms-1]/criticals;

If[perms≤6,permdisp=Row[Table[permweight,{perms}],","],permdisp=(Underscript[Row[{permweight,", ",permweight,", ..., ",permweight}], (Underscript[⏟, perms])])];
If[nonperms≤12,nonpermdisp=Row[Table[1,{nonperms}],","],nonpermdisp=(Underscript[Row[{1,", ",1,", ..., ",1}], (Underscript[⏟, nonperms])])];
Pane[Text@Style[Column[{
BarChart[{{banzperm,shapshubperm},{banznonperm,shapshubnon}},LabelingFunction->(Placed[Style[Row[{NumberForm[#,3],"%"}],12],Above]&),ChartLabels->{{Style["\npermanent member",12],Style["\nnonpermanent member",12]},{Style["Banzhaf",12],Style["Shapley-Shubik",12]}},PlotLabel->Style["power of individual members",14],Ticks->{Automatic,None},ImageSize->320],
Column[{
If[perms==5&&nonperms==10&&needed==9,Row[{"\nThe UN Security Council is equivalent to the weighted voting system:"}],
Row[{"\nThis Security Council is equivalent to the weighted voting system:"}]],
Row[{"[",quota," : ",permdisp,", ",nonpermdisp,"]"}] },Alignment->Center] 
}],14],ImageSize->{400,380}]],
{{perms,5,"permanent members"},1,25,1,Appearance->"Labeled"},
{{nonperms,10,"nonpermanent members"},1,100,1,Appearance->"Labeled"},
{{needed,9,"members needed to pass a motion"},perms,perms+nonperms,1,Appearance->"Labeled"},
TrackedSymbols->True]

The United Nations Security Council is composed of five permanent and ten nonpermanent member countries. Passage of a motion requires the approval of at least nine countries, and is subject to a veto by any one of the permanent members. Although officially defined in this fashion, the UN Security Council voting system is in fact equivalent to the weighted voting system [39: 7, 7, 7, 7, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], in which each permanent member gets 7 votes, each nonpermanent member gets 1 vote, and the quota for passage is 39 votes. This Demonstration lets you explore other voting systems like that of the Security Council but with different numbers of permanent and nonpermanent members, and with different numbers of country approvals needed for passage of a motion. The equivalent weighted voting system is displayed, as are both the Banzhaf and Shapley–Shubik indices of power for the members.

Contributed by: Marc Brodie

(Wheeling Jesuit University)