两个有趣的概率问题

原创 2016年06月01日 11:28:40

首先考虑问题1:
从自然数1,2….n选择m个不重复的数,其中最大值的期望是多少?
假设一次试验中最大值是k,那么

P(k)=C(k1m1)C(mn)

E(Max)=k=mnP(k)k=k=mnmC(mk)C(mn)

因为
k=mnC(mk)=C(m+1n+1)

E(Max)=mC(m+1n+1)C(mn)=m(n+1)/(m+1)

先给出python代码进行模拟验证:

def simulation_notrepeat(n,m):
    tot_average = 0
    for i in range(10000):
        max = 0
        count = 0
        is_repeated = set([])
        while count < m:
            x = random.randint(1,n)
            if x not in is_repeated:
                is_repeated.add(x)
                count += 1
                if x > max:
                    max = x
        tot_average += max
    print(tot_average/10000)
def test_notrepeat(n,m):
    print(m*(n+1)/(m+1))

问题2:假设问题1种所有数字可以重复,则最大数字的期望。
假设一次试验最大值是k

P(k)=km(k1)mnm

E(Max)=k=1nP(k)k

具体的闭式表达式我没有求解出来,有解出来的请告知一下^_^.
同样利用Python验证:

import random
def simulation(n,m):
    tot_average = 0
    for i in range(10000):
        max = 0
        for j in range(m):
            x = random.randint(1,n)
            if x > max:
                max = x
        tot_average += max
    print(tot_average/10000)
def test_math(n,m):
    average = 0
    for k in range(1,n+1):
        average += (k**m - ((k-1)**m))*k
    print(average/(n**m))
def test_notrepeat(n,m):
    print(m*(n+1)/(m+1))
def test(n,m,simulation,test_math):
    simulation(n,m)
    test_math(n,m)
test(100,35,simulation,test_math)
test(100,35,simulation_notrepeat,test_notrepeat)

结果:

这里写图片描述
看到不重复的相对重复的期望要大一点,但是很接近。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

另解,c/c++有趣的经典笔试题:不用判断语句求得两个整数的最大值

另解,c/c++笔试题:不用判断语句求得两个整数的最大值                                   &...

分享两个有趣的javascript

使用方法:把javascript贴到地址栏按enter键 1.让页面里的图片飞起来 javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y...

两个有趣的逻辑推理题用编程来解答

1.   日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。 A说:不是我。 B说:是C。 C说:是D。 D说:C在胡说 已知3个人说了真话,1个人说的是...

【连载~前端学习日志】03:做搜索框的两个有趣技巧!

写在文前:通过对比蘑菇街上的两个搜索框的案例+老师上课的案例。两个案例轻松解决搜索框的难题。 原本我以为,搜索框可以使用input按钮,两个!就可以把text和submit两个功能加上~没错,不过我...

(小程序)两个有趣的逻辑推理题

一、跳水运动员的比赛排名?     5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果     A选手说:B第一,我第三。     B选手说:我第二,E第四。     C选手说:我...

看了张老师的视频--------两个有趣的面向对象题目

在看《交通灯管理系统》的视频,其中张孝祥老师讲到了两个面向对象的题目。觉得很有趣,特此记一笔。 1.小球从绳子的一端滑动到另一端 我看到此题的想法: class Line{ priva...

两个连续独立随机变量的商的概率密度函数

转帖原理Quotient of two random variablesLet XX and YY be independent random variables having hte respect...

机器学习中的两个概率模型

discriminative model 和 generative model是机器学习算法中两种概率模型,用来实现对训练样本的概率分布进行建模,在实践中由于经常混淆,现在通过查阅资料,将两者的分别总...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)