下午看到了這個問題,一開始直覺當然是覺得每個人的期望都是一樣的,大家都是公平的,最後肯定是差不多。
這就是直覺,而在統計學和随機過程的世界裡,直覺往往是錯誤的。
我們用python仿真一下這個過程。
# coding:utf-8
# 房間裡有100個人,每人都有100元錢,他們在玩一個遊戲。
# 每輪遊戲中,每個人都要拿出一進制錢随機給另一個人,最後這100個人的财富分布是怎樣的?
import matplotlib.pyplot as plt
import pandas as pd
import random
person = 100
id_list = range(person)
id_money_dict = {k: person for k in id_list}
round_number = 17000
for round in range(round_number):
for id in id_money_dict.keys():
id_money_dict[id] += -1
id_get = random.randint(0, person-1)
while id_get == id:
id_get = random.randint(0, person - 1)
id_money_dict[id_get] += 1
se = pd.Series(id_money_dict)
se.plot.bar()
plt.show()
plt.close()
plt.show()
plt.close()
se.plot.hist(bins=100)
plt.show()
複制
結果的圖如下:

第一張圖是每個人最後手上的錢,後面一個是财富的分布。
确實反直覺。
但是仔細一想,确實這件事情是這樣的。我們假設現在進行了1000次試驗,那麼每個人的期望收益就是100 - 1000 + (1000* 1/99 * 99) = 100.這個期望是100,是我們的直覺。但是别忘了,這是一個分布,有方差的,是以,其實每個人都是在這個分布裡面抽樣。是以才會有這樣類似于反直覺的結果。