平均每个家庭生男孩的数量

看到题目,你们一定是一位我搞了什么高大上社会研究吧,恭喜你,答错了。今天,让我们来说点有(hen)意(wu)思(liao)的东西吧。假设在一个重女轻男的非常严重的地区,人们生活富裕,无忧无虑,而且每个家庭都非常喜欢女孩,所以说,这里的人们在养育子女的时候,直到生到女孩为止,否则,就一直生下去(多好,没有计划生育)。怎么样,这样的生活是不是很美好,很有意思,接下来让我们讨论一个更有意思的问题:请问在生到女孩时,平均每个家庭生的男孩数量。括弧:真是神一样的开头,shi一样的结尾啊。

好吧,接下来让我们仔细的考虑一下这个问题。前提,假设我们完全的相信科学,即生男生女的概率一样(难道不是吗?),都是0.5,而且这里的人们不存在什么不孕不育的现象,且不会因为担心这样或者那样的原因(比如影响二人世界)不想养育后代,好吧,废话这么多,其实就是每个家庭都会按照前面提到的生育方式去养育子女。这样,问题就变为了一个纯纯的求数学期望的问题了。要求数学期望,首先要知道概率吧,好吧,这又转化成了求第几个才生女孩的概率上来了。直觉上讲,这么进行下去,这个地区肯定会男孩的数量越来越多嘛,还用算吗?我们的直觉对不对呢,我们用高等概率论的知识(好吧,其实是高中概率)来计算一下。废话不说,接下来让我们进入计算过程:

首先计算第k胎才生女孩的概率,由下表给出:


   接下来计算平均每个家庭生的男孩数量,因为,第k胎生到女孩,那么这个家庭生了男孩的数量为k-1,接下来,每个家庭生男孩的平均数量为:

OK,到这里我们算得了平均每个家庭生男孩的数量。竟然是1耶,真是不可思议啊,科学再一次秒杀了我们的直觉。

其实,我有特别的计算技巧,每当遇到这样的问题,我总是会假装看风景……让我们回到最初的问题,其实问题没有上面说的这么复杂,我真的是有特别的计算方法。事实上,我们已经假定生男生女的概率都是0.5,那么事实上无论经过多少代,无论你按照什么样的生育方式,都不会改变这个科学事实(好吧,科学的力量是不可战胜的,打到一切牛鬼蛇神),这样,这个地区的男女比例就会保持在1:1,好了,那么每个家庭究竟平均生几个男孩呢?假定此地区的人有无限的生育能力,只要没有女孩,就会生下去……好吧,这样,每家有且只有一个女孩,那么男孩的数量肯定就是1了,要不怎么来的1:1平局呢?好吧,思维的强大再一次把我轰杀至渣。

最后,让我们来做一下仿真吧。假定地区开始时人口 100000 ,繁殖 50 ,为了尊重事实,首先我们假定每个家庭就生 10 个孩子,也就是无论第十个究竟生没生出女孩,都不生了,其次,男孩和女孩的数量较小的决定家庭数目,仿真五十年,哦不,是仿真这个地区的人口演化了五十年,我可不是专业仿真50年。好吧,仿真结果如下图,可以看到,每个家庭生男孩的数量确实保持在 1 的平均水平,会稍有波动,仿真程序随后附上:

好吧,今天真是搞(bei)笑(cui)的一天。

Code:

function []=meangirls(L)

    %%

    population = 1E6;              %the init population or the family num

    generation = L;                %

    childnum = 10;                  %assume that each family can most have 10 children

    prob = 0.5;

    girls = 0;

    boys = 0;

    girlsv = zeros(L,1);

    perv = zeros(L,1);

   

    %%

    for ii=1:generation

        for jj=1:population

           for kk=1:childnum

               chi = rand(1,1)<prob;

               if chi == 0

                   girls = girls + 1;

               else

                   boys = boys + 1;

                   break;

               end

           end

        end

        girlsv(ii) = girls/population;

        perv(ii) = girls/boys;

        if girls < boys

            population = girls;

        else

            population = boys;

        end

        girls = 0;

        boys = 0;

    end

    time = 1:L;

    figure

    plot(time,girlsv,'r-');title('mean boys');

    axis([1 L 0.8 1.2]);

    figure

    plot(time,perv,'g-');title('proportion of boys and girls');

    axis([1 L 0 1]);

 

end
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值