十个人赛跑第一名,和一百人赛跑的第十名谁厉害?

图片:Free-Photos / CC0 十个人赛跑第一名,和一百人赛跑的第十名谁厉害?

曾加,2019年要好好写点东西 | 我分享点子的地方:http://t.cn/EKMCXel

不考虑两个样本间的水平差异,平均来讲,是 10 个人赛跑第 1 名更厉害一些。

这道数学题,其实等价于:100 个人里随机抽取 10 个人,他们中的第 1 名,在 100 个人中的平均排名,是在第 10 名以前,还是第 10 名以后?

对于这个问题,直接用各个名次的概率分布算期望值,大概会比较麻烦,我现在在地铁上,也算不出来。

但我想到一种「奇妙」的解法:

设有 100 个球要排序,我先取出 10 个球排成一排,然后把剩下的 90 个球随机塞在最左、最右或者任意两个球之间。

最初 10 个球之间的缝隙,算上最左、最右,共有 11 个。所以平均来讲,每个缝隙会塞 90/11 个球。

于是,最初 10 个球中最左边的那个球(也就是第 1 名),平均最终会排在 101/11 的位置上。

这个数大约是 9.18,是小于 10 的。

因此,10 个人中的第 1 名,平均来讲,要比 100 个人中的第 10 名要好一些。用那个「奇妙」的算法容易算得,它的平均水平,应该等同于 109 个人中的第 10 名,或者,更一般化地说,是在足够多人参加比赛时的前 1/11。

~~~~~

进阶:那么,「各个名次的概率分布」可以算嘛?可以的。

简单的排列组合问题。100 选 10,总共组合数:

如果 10 人中的第 1 名排在 100 人中的第 k 名,那么说明其他 9 个人都在第 k+1 名及以后。

于是满足条件的组合数为:

故所求的排名期望:

这个公式看起来不好算,其实用 Excel 可以简单完成:

最终得到的结果同样是 9.18,这说明之前的算法是正确的。

此外,可以画出各个排名的概率分布和累计概率分布:

可以看到,10 个人中的第 1 名,在 100 个人中排名前 10 的概率是 66.95%,大约是 2/3 的样子。中位数是在第 7 名,但是由于长尾,平均排名就变成了 9.18。

Ivony,大隐隐知乎

这个问题直觉上当然是第一名厉害。而且完全不需要那么复杂。

我们先随机找一百个人赛跑,然后从这一百个人里面抽十个人出来。那么问题马上变成,抽出的这十个人里面有排名前十的概率有多大,这个概率就是第一名比第十名厉害或者打平手的概率。这个概率显而易见的超过了 50%,所以十个人赛跑的第一名不输给一百个人赛跑的第十名的概率较大。

推广开来,在 N 个人比赛中得第一名的人不输给在 N*N 个人比赛中得第 N 名的概率较大。

刚写了个程序来验证,首先可以确定的是如果仅仅是验证 十个人赛跑的第一名不输给一百个人赛跑的第十名的概率较大 这一点的话,那么程序已经得出了明确的结论,这个概率已经超过了 50%。

其他的结论的证明我还需要想一下怎么改写程序。(塞球的算法似乎在某种程度上也得到了验证,我还需要思考一下如何设计一个程序)。

==============================

稍微花一点儿篇幅讲一下为什么我认为这个概率显而易见的超过了 50%,这里面的逻辑非常简单:

因为我知道,对于任何抽奖活动,中奖率为 1/n,则抽取 n 次中奖的概率大于 50%

很符合直觉,但是也要证明一下,首先考虑 n=2 的情况:

那么中奖概率显然是 50%+50%*50%=75%。

n=3 的时候就是:

即抽一次不中奖的概率是

,抽两次是

,抽三次就是

其实很显然的我们应该可以看出来,当 n 趋于无穷,这个概率的极限是

然后我们从这个式子也能轻松看出,随着 n 的增长,概率是下降的,而下降的极限不低于 0.6321,所以显然大于 50%。

其实也完全没有必要计算出 0.6321,因为我们都知道 e>2,所以 1-1/e 必然大于 50%。

而这个概率是综合中奖率,等于每次抽取的结果不影响后续抽取的概率,而在 100 选 10 这种操作中,后续抽取的概率要高于 1/10,换言之,100 选 10 抽取到前 10 的概率还要高于这个概率,所以显然大于 50%