285 lines
34 KiB
Plaintext
285 lines
34 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"*问题:房间内有 100 人,每人有 100 块,每分钟随机 \n",
|
||
"\n",
|
||
"给另一个人 1 块钱,最后这个房间内的财富分布怎样?\n",
|
||
"(知乎:https://www.zhihu.com/question/62250384/answer/201726206)\n",
|
||
"建议各位先想想,你认为在完全随机的情况下,最终的\n",
|
||
"财富分配情况是怎样的?\n",
|
||
"\n",
|
||
"我们不妨把这场游戏视作在一颗叫做“埃博拉”的遥远星球上社会运\n",
|
||
"行和财富分配的简化模型,从而模拟这个世界的运行规律。我们假设:\n",
|
||
"* 每个人在18岁带着100元的初始资金开始玩游戏,\n",
|
||
"* 每天玩一次,一直玩到80岁的人均寿命。\n",
|
||
"* “每天拿出一元钱”可理解为基本的日常消费,“获得财富的概率也是完全随机”\n",
|
||
"* 这颗星球上普通智慧生命的平均寿命80岁;那么一生要玩20000次游戏,即获得20000次财富分配的机会! \n",
|
||
"\n",
|
||
"对于世界的角色做出如下假设(以下代码仅考虑qian)\n",
|
||
"* 假设1 – 负债情况 (投机者:即使财富为负依然消费)\n",
|
||
"* 假设2 – 努力工作 (奋斗者:获得财富的几率多1%)\n",
|
||
"* 假设3 – 存款利率 (投资者:持有财富的年利率是3%)\n",
|
||
"* 假设4 – 技术进步 (学习者:更多知识意味着更大几率获得更多财富)\n",
|
||
"* 假设5 – 生老病死… (唯物乐观者)\n",
|
||
"* 假设6 – 政府介入… (税收+低保)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>id</th>\n",
|
||
" <th>fortune</th>\n",
|
||
" <th>role</th>\n",
|
||
" <th>p</th>\n",
|
||
" <th>color</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>100</td>\n",
|
||
" <td>奋斗者</td>\n",
|
||
" <td>0.0101</td>\n",
|
||
" <td>orange</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>100</td>\n",
|
||
" <td>奋斗者</td>\n",
|
||
" <td>0.0101</td>\n",
|
||
" <td>orange</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>2</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>100</td>\n",
|
||
" <td>奋斗者</td>\n",
|
||
" <td>0.0101</td>\n",
|
||
" <td>orange</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>3</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>100</td>\n",
|
||
" <td>奋斗者</td>\n",
|
||
" <td>0.0101</td>\n",
|
||
" <td>orange</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>4</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>100</td>\n",
|
||
" <td>奋斗者</td>\n",
|
||
" <td>0.0101</td>\n",
|
||
" <td>orange</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" id fortune role p color\n",
|
||
"0 1 100 奋斗者 0.0101 orange\n",
|
||
"1 2 100 奋斗者 0.0101 orange\n",
|
||
"2 3 100 奋斗者 0.0101 orange\n",
|
||
"3 4 100 奋斗者 0.0101 orange\n",
|
||
"4 5 100 奋斗者 0.0101 orange"
|
||
]
|
||
},
|
||
"execution_count": 5,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"import matplotlib.pyplot as plt\n",
|
||
"import pandas as pd\n",
|
||
"import numpy as np\n",
|
||
"import random\n",
|
||
"import seaborn as sb\n",
|
||
"import warnings\n",
|
||
"warnings.filterwarnings('ignore')\n",
|
||
"plt.rcParams['font.sans-serif']='SimHei'\n",
|
||
"plt.rcParams['axes.unicode_minus'] = False\n",
|
||
"\n",
|
||
"\n",
|
||
"id=[i for i in range(1,101)]\n",
|
||
"fortune=[100 for i in range(100)]#初始化财富\n",
|
||
"roles=['奋斗者','投资者','投机者','普通人']\n",
|
||
"role=['奋斗者']*10+['投资者']*10+['投机者']*10+['普通人']*70\n",
|
||
"color=['orange']*10+['r']*10+['g']*10+['gray']*70\n",
|
||
"p_value=[0.0101]*10+[0.899/90]*90#初始化概率\n",
|
||
"\n",
|
||
"df=pd.DataFrame({\n",
|
||
" 'id':id,\n",
|
||
" 'fortune':fortune,\n",
|
||
" 'role':role,\n",
|
||
" \"p\":p_value,\n",
|
||
" 'color':color\n",
|
||
"})\n",
|
||
"df.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"模拟进度:100.00% "
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"rounds=17000#设置迭代次数\n",
|
||
"for i in range(rounds):\n",
|
||
"\n",
|
||
" if(i%365==0):#每年投资者的收益增加\n",
|
||
" index=df[df['role']=='投资者'].index\n",
|
||
" df.loc[index,'fortune']=df.loc[index,'fortune']*1.03\n",
|
||
" for j in range(100):#遍历每个人\n",
|
||
" df['fortune'][j]= df['fortune'][j]-1#\n",
|
||
" \n",
|
||
" while(True):\n",
|
||
" r1=np.random.choice(df['id'],p=df['p'])-1\n",
|
||
" if(r1!=j):\n",
|
||
" break\n",
|
||
" df.iloc[r1,1]+=1\n",
|
||
" index0=df.loc[(df['role']=='普通人') & (df['fortune']<0)].index#找到普通人资产小于0的部分\n",
|
||
" df.loc[index0,'fortune']=0\n",
|
||
" print(\"\\r模拟进度:{:.2f}%\".format((i+1)/rounds*100),end=\" \",flush=True)\n",
|
||
"df=df.sort_values(by='fortune').reset_index()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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6dKFuro61qxZw/Dhw3n44Yf5+te/vmm7vn37MmbMGK6//nquuuoqunXrxh133MHGjRvZaaedmDNnDlBYEu/YY4+lZ8+evPzyy4wdO5a+ffsyZMgQVq9ezZQpU0p1qJIkSarHIL2dHnnkEa6//noWL17MuHHjGDx4MEOHDgVg1apVXHPNNZx//vmMHj2alBKrVq3i/vvv59Zbb+XNN9/khz/8IRs3bty0v27dujF//nwAvvnNbzJ58mT+7d/+jWXLlnHDDTeU5BglSZLUmEF6O5144okcddRRjB8/nttvv53x48dz9dVXA3D//ffzzjvv0Lt3by677DL69evHoYceyr333ssee+zB6NGjmThxIv3799/UGnL55ZfTq1cvAFauXMkRRxzBwIED6du3L6NGjeKss87i3HPPLdnxSpIkqcAg3QpeffVV5s6dy4UXXshHH33EoYceyj777MNbb73FBRdcwBVXXMFxxx3HlClTmDFjBrvuuitdunTh4YcfBmDs2LF84QtfoFevXjz++OPU1NSwYMECrrjiCsaPH8/xxx8PwKBBgxrdBVGSJEmlYZDeTjfeeCNPP/00gwcP5pZbbqGuro4zzzyTBx54gDFjxnD22WdTUVFBVVUV/fr1Y+7cuTz22GP07t2bI488kh//+Md07dqVXr16kVJi3rx5TJ48mZqaGi6++GIAqqurmT59OjNmzGDgwIElPmJJkiRBua3aUQKXXnopP/vZz+jTpw8VFRV069aNAQMGcOWVV3LIIYcwYMAAAOrq6jZ9z5QpU0gp8cwzz9C/f/9NrRzPPPMM06ZNY9y4cSxevJiZM2du+nrttdeorKwsyTFKkiSpsfIK0im17lcL1b9YsLa2lt69ezN16lR22mknPvjgAwD69OnD3//933P22WczatQo9tprL2666SZuu+02XnjhBTZs2MCQIUOYPn06n/vc5zjppJOYM2fOpq9Ro0a1+sclSZKk/MorSJfA8uXLOeaYYzjkkEO45557GD58OIMGDWL58uV07dqV4447jhtvvJFx48Yxb948Jk2axOWXX07//v2ZMWMGDz30ELW1tZtVm9etW8dDDz3EyJEjN33Nnj2b9evXl/BIJUmSVF+kbai8llJVVVWqrq7ebGzRokUMGjSoRDP61MaNG6moqKCuro7KykpiG27m0hray+cgSZKUW8P8VMKMGhHPppSqtradFxu2goqKQmG/Sxc/TkmSpM7C1g5JkiQpB4O0JEmSlINBWpIkScqhrJp6Y1LrXuSXJrasyX3ZsmX84z/+I3feeSerV69m4MCBDB48mJUrV/L8889v2u6ggw5i4cKF1NTUcMMNNwBQWVnJlVde2eR+TzvtNK677joOOOAAUkosWbKE/fbbb/sPTJIkSdvNivR22rBhA126dKFLly7U1dWxZs0ahg8fzpw5czbdjGXDhg1s3LiRPn36sGHDBmpra5k9ezajR4/m7rvv3mx/H3/8McOGDWPkyJHMnz+fsWPHcsoppzB58mSmTp1aikOUJElSEwzS2+mRRx7hjDPO4De/+Q3jxo3jwQcfZOjQoQCsWrWKa665hjvvvJNhw4bxhz/8gZEjR7JkyRJ23nlnqqqq2GGHHTbbX7du3Zg/fz5z5sxhxIgR3HXXXRx99NG8++67TJkypRSHKEmSpCaUVWtHKZx44okcddRRjB8/nttvv53x48dz9dVXA3D//ffzzjvvcOCBB7Lzzjvzgx/8gMcee4za2toml8p7/vnnufzyyzfdMnzlypUcccQRDBw4kL59+zJq1CjOOusszj333DY9RkmSJDVmkG4Fr776KnPnzuXCCy/ko48+4tBDD2Wfffbhrbfe4oILLuCwww5j1qxZ1NXVceKJJzJt2jR69uzZaD+HH344jz/+ODU1NSxYsIArrriC8ePHc/zxxwMwaNAgunfv3taHJ0mSpCYYpLfTjTfeyNNPP83gwYO55ZZbqKur48wzz+SBBx5gzJgxnH322bz99tssXbqUfv36cdppp/HSSy+x6667NtpXSol58+YxefJkampquPjiiwGorq5m+vTpzJgxg4EDB7b1IUqSJKkJ9khvp0svvZSf/exn9OnTh4qKCrp168aAAQO48sorOeSQQxgwYACzZs3i+9//PgBjx45l2bJlHHzwwY329cwzzzBt2jTGjRvH4sWLmTlz5qav1157jcrKyrY+PEmSJDWjrCrSLV2urrVt3Lhx0+Pa2lp69+7N1KlTueaaa/jggw/47ne/S0Twk5/8hI0bN3L77bdvWq0jpcSf//xnnnnmGc4880yGDBlCdXU1J510EjfffPOm/Z533nltfViSJEnaAivS22n58uUcc8wxHHLIIdxzzz0MHz6cQYMGsXz5crp27cpxxx3Hv/zLvwDw4Ycf8tBDDzFs2DD69esHwJ577skZZ5zBe++9t2mf69at46GHHmLkyJGbvmbPns369etLcoySJElqLFIqTRV3W1VVVaXq6urNxhYtWsSgQYNKNKNPbdy4kYqKCurq6qisrCRiyzeGSSltdZtt0V4+B0mSpNwaZqMSZtSIeDalVLW17cqqtaNUKioKhf2mlrRrSmuGaEmSJJWGrR2SJElSDgZpSZIkKQeDtCRJkpSDQbqVpJR4/fXXNz1fvHgxGzZsaLTd+vXraekFnjU1NU3uQ5IkSaVXVhcbTpo0qVX3N3HixBZtl1Lio48+4vzzz+ff//3f6datG+eccw4PPPAAe+yxByklxowZw7Rp07j++uuZN28eKSUqKip44oknuPHGG7nwwgsb7feaa65h3333Zdy4ca16XJIkSdp+ZRWkS+Xkk0/m448/5sMPP2TIkCFs3LiR7t27841vfIOePXsye/ZsjjzySH75y19y9dVX88EHH3DCCSdw4IEHcsMNNzQZoqGwCkjv3r3b+GgkSZLUEgbpVnDLLbcwceJELrvsMt5++21qa2s58MADmT59Oj/84Q+Bwq3EI4IJEyawdu1aunbtyhNPPEHXrl351re+xT333NNov2vXrmXNmjVtfTiSJElqAXukt9PixYt57rnnqKur43e/+x0vvfQSCxcuZMGCBbz33nssWbKESZMmceyxx/Lqq6/yxz/+kdGjR/PXf/3XDBs2jNGjR/Puu+82ue+FCxfy+9//vo2PSJIkSS1hRXo7fXLh4BlnnNHotcMPPxyA008/nZQStbW1dO3albVr11JTU8O6detYu3Ztk/t9//33ee+994gI3nnnHfr27Vu8g5AkSdI2M0hvpwMOOIAePXowZMgQDj744M1eW7hwIU8++ST77bcfs2bNIiJIKXHrrbeyevVq1qxZw9tvv82KFSsa7ffGG2/knHPOYcCAAUyYMIFp06a11SFJkiSpBQzSraBbt27svvvujBw5crPx1atXN7pteF1dHXPmzGHu3LlUV1dz3nnnMWbMmM22+e1vf8ujjz7KU089RWVlJdOnT+ef//mfueyyy4p+LJIkSWqZsgrSLV2urrVVVFTQr1+/RkF6/vz5AGzYsIHnn3+eN954g8GDBwOw1157UVlZyYIFCxg7dizr1q2je/fuzJw5k8mTJ/PrX/+ayspKAO64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\n",
|
||
"text/plain": [
|
||
"<Figure size 864x576 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"<Figure size 432x288 with 0 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"\n",
|
||
"plt.figure(figsize=(12,8))\n",
|
||
"plt.title(\"迭代{}次后结果\".format(rounds))\n",
|
||
"plt.bar(np.arange(len(df)),df['fortune'],color=df['color'],label=df['role'])\n",
|
||
"\n",
|
||
"#绘制图例\n",
|
||
"r1=plt.Rectangle((0,0),1,1,fc=\"orange\", edgecolor = 'none') \n",
|
||
"r2=plt.Rectangle((0,0),1,1,fc='r', edgecolor = 'none')\n",
|
||
"r3=plt.Rectangle((0,0),1,1,fc='g', edgecolor = 'none')\n",
|
||
"r4=plt.Rectangle((0,0),1,1,fc='gray', edgecolor = 'none')\n",
|
||
"plt.legend([r1,r2,r3,r4], roles)\n",
|
||
"plt.ylabel(\"财富\")\n",
|
||
"plt.show()\n",
|
||
"plt.savefig('res1.jpg')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 202,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"<matplotlib.axes._subplots.AxesSubplot at 0x2a640d65710>"
|
||
]
|
||
},
|
||
"execution_count": 202,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "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\n",
|
||
"text/plain": [
|
||
"<Figure size 432x288 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"plt.title('各类型人的平均财富情况')\n",
|
||
"sb.barplot(df.role,df.fortune,errwidth=0,order=roles)"
|
||
]
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "Python 3",
|
||
"language": "python",
|
||
"name": "python3"
|
||
},
|
||
"language_info": {
|
||
"codemirror_mode": {
|
||
"name": "ipython",
|
||
"version": 3
|
||
},
|
||
"file_extension": ".py",
|
||
"mimetype": "text/x-python",
|
||
"name": "python",
|
||
"nbconvert_exporter": "python",
|
||
"pygments_lexer": "ipython3",
|
||
"version": "3.7.1"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 2
|
||
}
|