algorithm - 水库采样: why is it selected uniformly at random

标签 algorithm

我了解该算法的工作原理。但我不明白为什么它是正确的。假设我们只需要选择一个元素。这是我找到的证据

at every step N, keep the next element in the stream with probability 1/N. This means that we have an (N-1)/N probability of keeping the element we are currently holding on to, which means that we keep it with probability (1/(N-1)) * (N-1)/N = 1/N.

除了最后一部分,我都明白了。为什么我们要乘以概率?

最佳答案

因为Pr[A AND B] == Pr[A] * Pr[B],假设AB是独立的(因为他们在这里)。选择该元素并且以后不替换它的概率是这两种可能性概率的乘积。

关于algorithm - 水库采样: why is it selected uniformly at random,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29131567/

相关文章:

圆内包装圆的算法?

algorithm - 在时间 O(h) 内计算 BST 中具有 key k 的条目数

algorithm - 算法的健全性和完备性

python - 检索任何案例的工作日列表

python - O中第一个N个自然数的总和(N中的位数)

algorithm - 将英语单词分为罕见和常见

c - 将 fwrite() 与霍夫曼编码一起使用 - 位移位和位操作

java - 随机二分搜索算法

python - 双向二叉搜索树?

algorithm - 数组中的元素数大于给定数