Red Huang

Red Huang

Banzhafパワー指数(權力投票)

決定事項に投票で決める場合、一人一票で、無効票を投じることはできず、過半数の賛成があれば可決され、反対があれば否決されます。投票者は多くの派閥からなり、各派閥は非常に団結しています。同じ派閥の人々は全員が賛成票を投じるか、全員が反対票を投じます。しかし、派閥には人数に差があり、人数が多い派閥は決定に大きな影響力を持ち、人数が少ない派閥は力が弱いと言えます。そこで、次の問題が生じます:最終的な決定に影響を与えるのはどの派閥であり、その影響力はどれくらいあるのでしょうか?

派閥 X の影響力とは、全ての派閥が立場を決めた後、派閥 X が立場を変えると、決定結果が逆転する可能性があることを指します。逆に言えば、他の全ての派閥が投票を終えた後、派閥 X が全員が賛成票を投じれば、決定が通過し、全員が反対票を投じれば、決定が通過しなくなります。

Banzhaf Power Index の計算方法は次の通りです:派閥 X の Banzhaf Power Index = 派閥 X が決定に影響を与える場合の数 ÷ (派閥 1 が決定に影響を与える場合の数 + ... + 派閥 N が決定に影響を与える場合の数)。全ての派閥の Banzhaf Power Index の合計は 1 になります。

Banzhaf Power Index により、各派閥の力や投票の公平性を確認することができます。

1.  
A派閥9票、B派閥9票、C派閥7票、D派閥3票、E派閥1票、F派閥1票。  
総投票数は30票で、過半数は16票です。

2.  
A派閥を例にとると、A派閥が決定に影響を与える場合は16通りあります:

   AB AC ABC ABD ABE ABF ACD ACE ACF  
   ABDE ABDF ABEF ACDE ACDF ACEF ADEF  

派閥が現れる場合は賛成票を投じたことを意味し、派閥が現れない場合は反対票を投じたことを意味します。
A派閥を除くと、決定結果が逆転します。

3.  
D派閥、E派閥、F派閥は全く影響力を持っていません:

  | 投票数 | 影響力 | BPI  
\--+-------+-------+-------  
A |   9   |  16   | 16/48  
B |   9   |  16   | 16/48  
C |   7   |  16   | 16/48  
D |   3   |   0   |   0  
E |   1   |   0   |   0  
F |   1   |   0   |   0  
\--+-------+-------+--------  
  |  30   |  48   |  1.0
  1. int w [6];           // 各派閥の人数

  2. int c [(16-1) + 1];  // 0 票から 15 票までの未過半数の場合の数を計算する

  3. int power [6];   // 各派閥が決定結果に影響を与える場合の数

  4. int sum = 0;    //power [] の合計

  5. void Banzhaf_power_index()

  6. {

  7.     for (int k=0; k<N; ++k)

  8.     {

  9.         // 派閥 k を一時的に除外し、残りの派閥の投票の場合の数を計算する

  10.         memset(c, 0, sizeof(c));

  11.         c[0] = 1;

  12.         for (int i=0; i<N; ++i)

  13.             if (i != k)

  14.                 for (int j=16-1; j>=w[i]; --j)

  15.                     c[j] += c[j-w[i]];

  16.         // 過半数に近づく場合の数を累計する

  17.         power[k] = 0;

  18.         for (int j=max(16-w[k], 0); j<16; ++j)

  19.             power[k] += c[j];

  20.         sum += power[k];

  21.     }

  22.     for (int i=0; i<N; ++i)

  23.         cout << i << "派閥の BPI は" << float (power [i]) / sum;

  24. }

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。