やりとりを繰り返すだけで貧富の差が生まれる? ~「データの見えざる手」の分布~ part2

part1からの続き)

ところで、なぜ自然対数の底:eが出てくるのだろう?

この分布は玉の数が0個になる場合はどれくらいの確率で起こるのか? というようなことを表しているにすぎない。言ってしまえば、場合の数を計算しているだけのはずだ。

場合の数の計算で、eが現れるのは不思議だ。しかも玉の数Nやマスの数Lの値を変えても同じ様に現れる。

おそらくこれはNかLが大きい場合の近似式なのだろう。

ということは、場合の数を計算して、NかLを無限大に飛ばす操作をしたら、この式が導出できるはずだ。

やってみよう。

 

簡単な例での計算 

詳しい計算に入る前に、まずは簡単な例で計算してみよう。

こうすると頭が整理されることが多い。

マス目が3マス、玉が3個という例を考える。

f:id:techiashi:20180512174903p:plain

この場合、配置ごとの場合の数を考えると

3つのマス目に1個づつ玉が集まっている場合は1通り

1つのマス目に2個、もう1つのマス目に1個、残りのマス目に0個の場合は6通り

1つのマス目に3個集まって他2つが0個の場合は3通り

となっている。

なるほど、この例だと全部が平等に入っている時よりも、偏っている時の方が場合の数が多いということが分かった。

さらに、全通りを考えた時に、マスにいくつ入っている場合が最も多いのか数えると、

玉の数 場合の数
0  3\times 2+6=12
1  6+1\times 3 = 9
2  6\times 1 = 6
3  1\times 3 = 3

となっている。

なるほど。考えてみれば当たり前だが、0個のマス目の場合が一番多くて、玉の数が増えるに従って場合の数は減っていく。

なんとなくだけど、玉のやりとりを繰り返すと0個のマスが多くなる理由が見えてきたぞ。

 

ちなみに、この例を、前回と同じシミュレーションで回してみる。

マス目を3個、玉を3個用意して、ランダムに2つのマスを選んで、片方から片方に移すという操作を繰り返して、9操作毎にその時の分布を作る。

これを100000回繰り返して、その平均的な分布を求めてみると、

玉の数 確率(場合の数による) 確率(シミュレーション)
0 0.4 0.399937
1 0.3 0.300061
2 0.2 0.200069
3 0.1 0.099934

 

 

うむ。ちゃんと同じになっている。

つまり、この玉のやりとりのシミュレーションというのは、すべてのパターンをなるべく網羅するように、ランダムに動き続けている状況になっているということだ。

そしてある時点でのスナップショットを取ってきて、各マス目に入っているボールの数をヒストグラムにしているのが、図1で、スナップショットを平均してきれいな分布にしたのが、図2ということだ。

 

ところで、3個の場合は、 n = \frac{3}{3} = 1なのだが、

分布を正規化して確率分布にしてみても、 \frac{1}{n} e^{-\frac{x}{n}} の形になっていない。

f:id:techiashi:20180512194909p:plain    

やはり、この分布はNかLが大きい場合の近似式なのだろう。

さて、これでなんとなく、概観が分かった。

 

玉とマス目が多い場合

ここからが本題。マス目の数Lも玉の数Nもとても多い場合を考えてみよう。

全てのマス目について考えるのは大変なので、一つのマス目だけについて、玉がいくつの時に確率がいくつになるのかを計算する。

 lをマス目のインデックス、 n_lをマス目 lの玉の個数とする。

 l=1のマス目の玉の個数 n_1の確率分布 \rho(n_1)を求めてみる。

 

まず、全てのありうる場合の数を式で表してみよう。

これは

$$\sum_{n_1 =0}^N \sum_{n_2=0}^N ... \sum_{n_L=0}^N \delta_{N,\sum_{l=1}^Ln_l}$$

と書くことが出来る。

ここで \delta_{i,j}クロネッカーのデルタというもので、 {} $$ \delta_{i,j} = \left\{ \begin{array}{} 1 & ( i = j) \\ 0 & ( i \neq j) \end{array} \right. $$

i,jを整数として、単にijが同じ値だったら1、そうでない場合は0になるという記号だ。

つまり上の式は、全てのマス目がバラバラに0個からN個の玉が入っている状況を考えてみて、その内全玉がN個の時のみカウントするという考え方だ。

 

さて、これを踏まえた上で、

確率分布 \rho(n_1)を考えると、

$$\rho(n_1) = \frac{\sum_{n_2 =0}^N \sum_{n_3=0}^N ... \sum_{n_L=0}^N \delta_{N-n_1,\sum_{l=2}^Ln_l}}{\sum_{n_1 =0}^N \sum_{n_2=0}^N ... \sum_{n_L=0}^N \delta_{N,\sum_{l=1}^Ln_l}}$$

と書ける。

分母は全場合の数だが、分子では n_1の値が固定されていることに注意してほしい。

つまり、 l=1以外の全てのマス目がバラバラに0個からN個の玉が入っている状況を考えてみて、その内 l=1以外の全ての玉が N-n_1個の時のみ許されるという考え方だ。(繰り返しになりますが。)

 

さて、 \rho(n_1)の分母も分子も式としては同じ形をしている。

ということは、

$$Z(N,L) = \sum_{n_1 =0}^N \sum_{n_2=0}^N ... \sum_{n_L=0}^N \delta_{N,\sum_{l=1}^Ln_l}$$

という、玉がN個でマス目がLの時の全場合の数: Z(N,L)が計算出来れば、

$$\rho(n_1) = \frac{Z(N -n_1,L -1)}{Z(N,L)}$$

なので、 \rho(n_1)も計算出来るということだ。

後少しだ。 Z(N,L)が計算出来れば、多分すぐに終わりだ。

でも、この計算は意外と長い。なので次に 続く。

(続く)