4.1 金刚坐飞机问题

    国外有一个谚语:

    问:体重800磅的大猩猩在什么地方坐?

    答:它爱在哪儿坐就在哪儿坐。

    这句谚语一般用来形容一些“强人”并不遵守大家公认的规则,所以要对其行为保持警惕。

    现在有一班飞机将要起飞,乘客们正准备按机票号码(1,2,3,…N)依次排队登机。突然来了一只大猩猩(对,他叫金刚)。他也有飞机票,但是他插队第一个登上了飞机,然后随意地选了一个座位坐下了。根据社会的和谐程度,其他的乘客有两种反应:

    1.乘客们都义愤填膺,“既然金刚同志不遵守规定,为什么我要遵守?”他们也随意地找位置坐下,并且坚决不让座给其他乘客。

    2.乘客们虽然感到愤怒,但还是以“和谐”为重,如果自己的位置没有被占领,就赶紧坐下,如果自己的位置已经被别人(或者金刚同志)占了,就随机地选择另一个位置坐下,并开始闭目养神,不再挪动位置。

    那么,在这两种情况下,第i个乘客(除去金刚同志之外)坐到自己原机票位置的概率分别是多少?

    分析与解法

    这两个问题之间有一处小小的区别,这个区别是如何影响最后的概率的呢?

    【问题1的解法】

    我们可以用F(i)来表示第i个乘客坐到自己原机票位置的概率。

    第i个乘客坐到自己位置(概率为F(i)),则前i-1个乘客都不坐在第i个位置(设概率为P(i-1)),并且在这种情况下第i个乘客随即选择位置的时候选择了自己的位置(设概率为G(i))。

    而P(i-1)可以分解为前i-2个乘客都不坐在第i个位置的概率P(i-2),和在前i-2个乘客都不坐在第i个位置的条件下第i-1个乘客也不坐在第i个位置上的概率Q(i-1)。

    于是得到如下的公式(合并结果):

    F(i)=G(i)P(i-1)=G(i)Q(i-1)P(i-2)=G(i)Q(i-1)…Q(2)*P(1)

    容易知道Q(i)=(N-i)/(N-i+1),P(1)=(N-1)/N,G(i)=1/(N-i+1)

    代入公式得到,F(i)=1/N。

    【问题2的解法】

    可以按照金刚坐的位置来分解问题,把原问题从“第i个乘客坐在自己位置上的概率是多少”变为“如果金刚坐在第n个位置上,那么第i个乘客坐在自己位置上的概率是多少”(设这个概率为f(n))。

    现在金刚坐在了n号位置上。如果n=1或n>i,那么第i个乘客坐在自己位置上的概率是1(因为大家会尽量坐到自己的位子上,2号乘客将选择坐到2号位置上……)。如果n=i,那么第i个乘客是没希望坐到自己的位置上了(他还不至于敢和金刚PK)。如果1<n<i,那么问题似乎并没有太直接的求解方式。我们来继续分解问题。当金刚坐在了第n(1<n<i)个位置上的时候,第2,3,…,n-1号的乘客都可以坐到自己的座位上,于是我们可以按照第n个乘客坐的位置来继续分解这个问题。如果第n个乘客,选了金刚的座位,那么第i个乘客一定坐在自己的位置上;而如果第n个乘客坐在第j(n<j<=N)个座位上,就相当于金刚坐了第j个座位。

    把问题分解到这一步,应该可以进行问题解答的合并了。一般来讲,合并这个步骤,有可能很简单,也可能很复杂,这主要取决于问题分解的结果。在这道题目里,合并问题的主要工具是全概率公式,也即alt,这里i表示各种不同的情况,P(i)表示这种情况发生的概率,alt表示在这种情况下事件M发生的概率。

    首先求解f(n)(1<n<i),由前面的分析可知:

    alt

    其中j表示第n个乘客坐的位置。

    所以

    alt

    由此递推式,可得f(n)=f(n+1)(1<n<i-1)

    将n=2代入(式1),再利用f(x)=1(x>i),f(x)=0(x=i),另1<n,n+1<i-1可得:alt,所以

    alt

    alt就是第i个乘客坐在自己位置上的概率。

    回顾

    有些问题看起来规模太大而无从下手。这时我们可以采用分而治之的方法,这个方法有两个核心步骤:

    1.分解问题,得到局部问题的答案。

    2.合并问题的解答。

    扩展问题

    在这个问题假设所有乘客是按照机票座位的次序(1,2,3,…)登机的,在现实生活中,乘客登机并没有一定的次序。如果在金刚抢先入座之后,所有乘客以随机次序登机,并且有原来题目所描述的两种行为,那第i个乘客坐到自己原机票位置的概率分别是多少?