最近藕在一个网站上看到有个小同学提出一个预测中国人口的计算模型,得出结论:即便严格遵守一胎制,中国也需要花几百年才能回到十亿,800多年才能回到5亿。这个帖子受到了很多的点击和回复。就事论事方面的帖子大致分二种,多数指出其计算过程有误,少量指出模型就不对。原作者小同学(以下简称小同学)问,那什么时候回到10亿呢?藕想了一下,觉得“什么时候人口停止增长”是个更简单明了的问题。以下给出一个简单算法,最后提一下更好的可惜藕没有时间想的模型。
先复习几个数据。中国40年代人口4亿,1980年10亿,计划生育1980年实施,2008年14亿。这些数据有误差,但不妨碍藕们马上要作的计算。再限制4个假设,其中前3个也是小同学使用了的:
1。一对夫妇一个孩子
2。所有人都是25岁生孩子
3。人的寿命为100岁
4。时间上均匀人口分布(每一个年龄段的人口数相同)
这些假设会被放宽的,但一开始让藕们强行执行吧。
这个“一对夫妇一个孩子”真是个好东西,使事情变得异常简单。每一个人,在它一百年的生命中,它消灭了1个自己,产生了0.5个儿子或女儿,产生了0.25个孙子或孙女,0.125个曾孙子或曾孙女,0.0625个曾曾孙子或曾曾孙女。也许你想说,它自己的产生呢?那是它父母的事。当它自己100岁的时候,它的后代为75岁,50岁,25岁,0岁。它自己(100岁)处在头上,曾曾孙子或曾曾孙女(0岁)处在尾巴上,尾巴上的那个也许不能全部算进去的,但就让藕们谦虚一点,把它全部算进去吧。
把这些后代加起来,不要说仅仅4代,几十代,100万代,加起来也不会大于1。
所以,100年后,每一个今天活着的人消灭了1个自己,产生了小于1的别人。所以,100年后人口停止增长。
真的吗?
实际上,采用同样的假设,应该是50年停止增长。
因为,今天的一个100岁的人的75岁的儿子或女儿,已经被人口统计进去了。只有今天0岁的婴儿符合上面的计算。所以得平均一下,是50年,不是100年。也就是说,到2030年中国人口停止增长。
中国实际情况:
1。不少夫妇生2个孩子(远远大于不育人口),少数民族(占10%)没有计划生育,这推迟人口零增长的到来;
2。女人25岁左右生孩子,男人30岁左右生,这有利于人口零增长的到来;
3。人的寿命为80岁更合适(目前男人70女人75),这有利于人口零增长的到来;
4。时间上人口分布不均匀,70年代出生的人最多,站从1980年的眼光看,婴儿(小于25岁吧)特别多,这推迟人口零增长的到来;
所以,藕斗胆预测,大概2050年中国人口停止增长。
那么,什么时候回到1980年计划生育刚开始的10亿呢?
人口增长呈几何级数,但是,那包括不生孩子的人口。如果只算生孩子的,人口增长呈指数爆炸。指数比几何级数牛蛙多了(还有比指数更牛蛙的,加乘!所以,呵呵,几何级数算个鸟?)。
不过,别 pia 别 pia
人口增长指数爆炸,但人口衰减也呈指数(不生产孩子的除外)。这叫以其道还治其身。however,这两个“指数”不一样。一对夫妇生4个孩子的递增和一对夫妇生1个孩子的递减对等,而一对夫妇生10个孩子找不到对等的。这也许就是杨82翁28夫妇的拿诺贝尔奖的宇称不等原理吧(叫什么来着,藕不晓得了)。
所以,一旦人口爆炸了,要压缩存储起来不是那么容易滴。但是,再怎么地,既然2050年能止住人口增长,也就是说1940年到1980年的40年爆炸用了70年被止住了,再100多年,藕想应该被打回原形了吧(即,回到1980年的10亿)。你想想,170多年还掰不过40年? 所以,那个小同学的,就不知道错到哪了。
以上这个模型,占了收敛级数的便宜。如果一对夫妇生一个多孩子,级数就发散了,根本就没有用了。而且,这个模型有个巨大的缺陷:
孙子孙女,不是它亲自生的,还要算在它头上。
这种算法非常anti-nature,anti-physics。自然界、物理世界讲究“邻居法则”。“邻居法则”是什么玩意,藕这儿就不说了。但藕举一个语言方面的“邻居法则”吧:当一句话的意思不太明白的时候,你会去看它前面的那一句,或后面那一句,你不会翻到后面几页或前面几页找信息。
所以,一个好的模型,应该只考虑它的第一代后代。它的第二代后代是它的儿子或女儿的事了。
|