NetLogo多主体建模入门
上QQ阅读APP看书,第一时间看更新

最后看一个模拟人类社会的例子。在人类社会中,财富分布非常不均衡,存在着著名的二八定律,即80%的人拥有20%的财富,而80%的财富被20%的富人拥有。

为什么会有这样的不均衡现象呢?

本节的模拟程序将会模拟这种财富分布不均衡的起源,这个程序的设计规则非常简单。

  • 每一个主体就是一个人,这个小人会在我们创建的模拟世界里游走。
  • 方格可以生长谷物,方格越黄表示这个地方产生的谷物越多。
  • 人需要采集谷物以维持生存。
  • 每个人收集到的谷物就是他的财富。
  • 谷物消耗尽,人就会死掉。
  • 新人出生:一个主体死掉的同时,这个世界会随机产生一个新的主体。

需要注意的是,每一个人对谷物的代谢率是不一样的。有的人代谢快,有的人代谢慢,代谢快的人就必须快速地采集资源,否则他就很容易死掉,而代谢慢的人可以缓慢地积累谷物资源。

经过长时间的运行,我们就可以看到谷物财富在这些人之间的分布情况,收集到的谷物越多就代表越富有,否则就越贫穷。这里也可以用不同的颜色来表示穷人和富人,比如红色表示穷人,蓝色表示富人。

接下来我们看一看模拟程序,NetLogo模型库里也提供了财富分布的模型,如图1-9所示。

图1-9 财富分布模型

初始化世界,然后单击“go”按钮,这群小人就会开始寻找周围的谷物,并且去采集它,消耗它。有的主体没有食物就会死掉,而新的主体又会诞生。

NetLogo有几条曲线,它们可以定量地刻画这样一个模拟社会的财富分布不均衡性。

Class Plot展示的是三类人的数量:红色表示非常贫穷的人;蓝色表示非常富有的人,该群体的数量非常少,大概有100;绿色表示中产阶级,财富水平在平均值的位置。绝大部分是财富水平比较低的人,如图1-10所示。

图1-10 Class Plot

Class Histogram用另一种方式展示这三种级别,以及穷人、中产和富人的数量对比情况。如果我们进行定量计算,就会发现它其实也满足幂律分布,而且符合所谓的二八定律,如图1-11所示。

图1-11 Class Histogram

图1-12所示的这条曲线叫作洛伦兹曲线(Lorenz curve),它能够反映财富分布不均衡现象,红线越弯曲,表示社会财富分布的不均衡程度越高。

图1-12 洛伦兹曲线

最后一条曲线展示的指标叫作基尼系数(Gini coefficient),这是一个国际通用的衡量财富分布不均衡性的指标,它的数值越大,表示社会的财富分布越不均衡。在这里,模拟社会中的基尼系数是0.5左右,表明财富分布已经非常不均衡了,如图1-13所示。对于绝大多数国家来说,基尼系数在0.4或0.3左右。

图1-13 基尼系数

通过这样一个简单的设定,我们验证了这样一种猜想:也许财富分布的不均衡性并不一定来源于分配制度的不合理,而很可能是资源分布的差异性导致的。模拟程序表明,只要各个主体的新陈代谢率不同,并且它们所处的位置不同,就足以产生财富分布不均衡现象了。