最近藕在一個網站上看到有個小同學提出一個預測中國人口的計算模型,得出結論:即便嚴格遵守一胎制,中國也需要花幾百年才能回到十億,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。自然界、物理世界講究“鄰居法則”。“鄰居法則”是什麼玩意,藕這兒就不說了。但藕舉一個語言方面的“鄰居法則”吧:當一句話的意思不太明白的時候,你會去看它前面的那一句,或後面那一句,你不會翻到後面幾頁或前面幾頁找信息。
所以,一個好的模型,應該只考慮它的第一代後代。它的第二代後代是它的兒子或女兒的事了。
|