主题:【原创】相亲的概率问题 -- 渡泸
你有10次相亲机会,那么应当选第几次相亲的mm结婚更好呢?答案似乎是前三次相亲不要选,如果第四次见的mm比前三次都好,那么就应该当机立断拉埋天窗(注:广东话结婚的意思),因为这样选中白马公主的概率最大。
其实这是读书论坛上一位仁兄出的概率题:
问:怎样才做能使拿到最大的一颗钻石的概率最大?
说明:我没有标准概率解答答案。但又数值模拟结果。
答案也不是俺给的,因为俺不是很懂概率
这问题等同于把10个数字1 到10随机排列,从第n+1个数开始,第一个大于前n个数的数字为10的概率。
给定一个 n,前面n个数里最大数为m 的概率P_m等于 (从m-1个数里选n-1个数)除以(从10个数里选n个数);在此条件下,下一个大于m的数是10的概率D_m等于{(9-m)的排列}除以{(10- m)的排列}。B把P_m乘以D_m, 对m 从n 到9求和,就是所求"从第n+1层开始看见比前面都大的就取,正好取到最大一个”概率。
说着麻烦,在Excel里敲俩公式,再拽几下鼠标就算完了, 从第1层到第10层的概率是:
0.1
0.282896825
0.365793651
0.398690476
0.398253968
0.37281746
0.327380952
0.265277778
0.188888889
0.1
出错的可能是有的:)
另,很快又有高人给出了相亲次数趋于无限大的时候的概率:
有趣的是,skip掉的楼层,也是总楼层的36.78794%。而不是根号N,或N/2。
看看我这个程序有没有问题:
引用:
void PickDiamond()
{
Console.WriteLine("enter N: ");
string input = Console.ReadLine();
long n = Int32.Parse(input);
double maxP = 0;
long maxK = 0;
double f = 0;
for (long k = n - 2; k > 0; --k )
{
f += 1.0 / (k + 1);
double p = 1.0 / n * (1 + k * f);
if (p > maxP)
{
maxP = p;
maxK = k;
}
}
Console.WriteLine("max probabily is " + maxP + " at " + maxK);
这个答案俺更不懂。貌似无论怎么努力,即使能象北朝鲜的金大那样有本事无限次相亲,最终婚姻幸福的概率是36.78794%。
这个概率好低呀 555555。。。
- 相关回复 上下关系8
🙂【原创】相亲的概率问题
🙂可见娶三个老婆或者结三次婚 裸飞 字68 2009-06-20 10:14:45
🙂花,科学就是生产力啊 afdsjl 字0 2009-06-08 08:18:24
🙂相亲中的大数定理 6 驿路梨花 字577 2009-06-07 06:03:03
🙂数学 川上人 字42 2009-06-07 05:36:48
🙂不能这么算,估计相亲成功概率只有两种 高朋满座 字73 2009-06-06 10:09:51
🙂所以你认为相亲是个马尔可夫链过程 PBS 字79 2009-06-20 23:19:08
😄没准相亲行为也分两种 高朋满座 字28 2009-06-20 23:40:58