n个硬币的无偏硬币投掷与每枚硬币的不同的成功价值

时间:2018-01-25 17:18:53

标签: probability

让我们说我们有n个硬币和硬币掉头的概率是f(i)。 找到所有n个硬币被抛出时获得偶数头的概率。

f(i)= 1 /(2i + 3)

这里n很大,大约为1e5,因此需要有效的方法。

我试图分析蛮力案例,但这太多了,即如果我计算2成功,4,6 ......,可能需要数年才能运行。

然后我想到以某种方式应用线性期望,但无法想出任何有用的东西。

1 个答案:

答案 0 :(得分:2)

这应该是简单的递归,不是吗?

设p(k)= 1 /(2 * k + 3),q(k)= 1 - p(k),V(k)是k之后偶数投掷的概率。

让我们考虑最后一次投掷

V(n) = q(n)*V(n-1) + p(n)*(1-V(n-1)) = (q(n)-p(n))*V(n-1) + p(n)
V(0) = 1

C ++代码

#include <iostream>

inline double p(int k) {
    return 1.0/(2.0*k + 3.0);
}

inline double q(int k) {
    return 1.0 - p(k);
}

double V(int k) {
    if (k == 0)
        return 1.0;

    return (q(k) - p(k))*V(k-1) + p(k);
}

int main() {
    std::cout << V(10000) << std::endl;

    return 0;
}

V(10000)确实非常接近.5

V(10000) = 0.500075