欢迎关注,敬请点赞!
波斯公主选驸马——37%爱情法则
题目
波斯公主到了适婚年龄,要选驸马。候选男子100名,颜值参差不齐,都是公主没有见过的。百人以随机顺序,从公主面前逐一经过。每当一位男子在公主面前经过时,公主要么选他为驸马,要么不选。如果选他,其余那些还没有登场的男子就都遣散回家,选驸马的活动也over了;如果不选,当下这名男子就离开,也就是pass掉此人,下一人登场。被pass掉的,公主不可以反悔再重选。
规则是,公主必须在这百人中选出一人做驸马,也就是说,如果前99人公主都看不中的话,她必须选择第100名男子为驸马,不管他有多么丑陋。
任务是,给公主设计选择方法,让她有最高概率选到百人中最英俊的男子为驸马。
首先明确,题目所问的,不是必胜的选法(因为不存在),而是概率最高的选法。
也就是”尽人事,安天命“,如果你按照一个正确的方法去做了,哪怕结果差强人意,这也并不是你的错。
心路历程:
- 如果公主直接选第1名做驸马,那她选中最英俊男子的概率只有1%。
- 既然公主是有选择机会的,不至于像封建社会“大门不出二门不迈”的大家闺秀那么容易一见钟情,往后再看看。
- 公主比较一些人之后,对候选男子们大概有了一个印象,再往后不一定比前面的更英俊,开始有风险。
- 公主就会想,从某个男子开始,只要后面再出现一个比以前最英俊的还英俊的男子,就选他做驸马。
- 任务变成,到底从第几个男子开始,只要后面再出现一个比以前最英俊的还英俊的男子,就选他做驸马。
- 当然,后面可能再也没出现比以前最英俊的还英俊的男子,公主必须选第100名男子为驸马,听天由命。
转化为数学语言:
- n个数,编号分别为1、2、…、n(假设公主只知道编号越大越好,但并不知道最大的编号是n),顺序打乱供公主挑选。
- 公主看了k个数后,记住了里面最大的编号m(可能是次优解n-1或最优解n,也可能是n-2或其它更小的编号),决定以后只要再看到比m大的编号,就停止挑选。(再次强调,假设公主并不知道最大的编号是n)
- 假设公主在第i次,看到了比编号m更大的编号l,求l就是最大编号n的概率P(k)?
- k值取多大,概率值P(k)最大?
直观感受:
- k如果太小,编号m可能较小,公主可能草草就结束挑选;
- k如果太大,编号m可能就是最大的编号n,公主可能无奈错过;
- 因此,k可能是中间的一个值。
初步推导(不完全严谨):
- 从数学上,k可以取值0~n-1,有n种情形。k=0时,公主直接选第1个数, P ( 0 ) = 1 n P(0) = \frac{1}{n} P(0)=n1。
- 公主在第i次,看到了比编号m更大的编号l,意味着前i-1次中的最大值m出现在前k次中,该概率为k/(i-1);
- i的取值范围:k+1~n,考虑所有可能的i,进行汇总: P ( k ) = ∑ i = k + 1 n 1 n × k i − 1 = k n × ∑ i = k + 1 n 1 i − 1 P(k) =\sum_{i=k+1} ^{n} \frac{1}{n} × \frac{k}{i-1} = \frac{k}{n} × \sum_{i=k+1}^{n} \frac{1}{i-1} P(k)=∑i=k+1nn1