看过好多文章,说现在的人口不平衡是重男轻女思想导致的;也看到过不少文章讨论了很多有关性别不平衡的让人深思的话题.作为非常非常爱小朋友的我,想并仅想从数学方面模拟一下这个话题.
前提假设: 假设一对适育父母辈,其生育后代的性别受到其有意识的筛选.
如果第1个后代是雄性, 停止生育.
如果第1个后代雌性,继续生育,如果第2个后代是雄性,停止生育.
如果第1到第n个孩子都是雌性,继续生育,如果第n+1个后代是雄性停止生育.
go代码第一步,实现随机函数(生雄生雌是随机的,各一半一半)
pakckage main
import(
"math/rand"
"fmt"
"time"
)
func init(){
rand.Seed( time.Now().Unix() )
}
func main() {
var sexes = [2]string{ "male","female"}
var children []string
for {
child := sexes[ rand.Intn( len( sexes ) ) ] //生育1个后代
children = append( children, child ) //添加到后代群
if child == "male" {
break //如果是雄性,则停止生育后代
}
}
fmt.Println( children)
}
打印了许多次,结果符合预期.
然后我们把生育基数num放大,假设为1万,10万,百万,千万,亿.其比例函数
func RateOfSexes( num int ) {
var sexes =[2]string { "male", "female" }
var sumOfMale, sumOfChildren float64
//遍历num个适龄父母辈
for i := 0; i < num; i++ {
child := sexes[ rand.Intn( len( sexes ) )] //第i对适育父母辈生育1个后代
sumOfChildren += 1 //整个社会后代群增加1
if child == "male" {
sumOfMale += 1 //如果是雄性,则雄性后代群增加1
break //中断,遍历到下一对适育父母
}
}
fmt.Println(100*sumOfMale/ sumOfChildren ) // 打印雄性比例.
}
然后我们取基本数为1万到1亿时,其运行结果发现:基数越大,越接近百分之50.
结果显示:如果每个后代都得到疼爱,珍惜,抚养.即使人为有意识的筛选,满足其至少生育一个雄性后代的意向.自然生育的结果,雄性比例依然是50%.
那么!目前巨大的性别差异,背后是多么的沉重和令人深思.
留言与评论(共有 0 条评论) “” |