扬州市邗江区江阳西路101号(月城科技广场)2幢1608、1609室 jiuyouhui@j9.fo

新闻中心

不断出现的场景对象怎样均匀保留一个样本:7个场景对象的在线抽样(实例02)

2026-11-06

如果场景对象逐个出现,而总数量事先未知,可以只保留一个候选。关键不是总用新对象覆盖,而是让第i个对象以一除以i的概率替换当前候选。

固定规则与输入

本例每一步从一至i等可能取整数,取到一时替换为第i个对象,否则保留。所有随机选择相互独立。记录中的整数是演示输入,真实执行时仍需要满足已声明的抽样规则。

对象依次为一至7,六次独立演示;整数一触发替换。

逐步观察结果

运行1各步整数[1, 1, 3, 2, 4, 3, 7],每步结束保留对象[1, 2, 2, 2, 2, 2, 2],最终对象2。每一位整数的可选范围随步数扩大,不能把所有步骤都从同一固定范围抽取。

运行2各步整数[1, 2, 1, 4, 2, 1, 5],每步结束保留对象[1, 1, 3, 3, 3, 6, 6],最终对象6。每一位整数的可选范围随步数扩大,不能把所有步骤都从同一固定范围抽取。

运行3各步整数[1, 2, 1, 3, 5, 3, 1],每步结束保留对象[1, 1, 3, 3, 3, 3, 7],最终对象7。每一位整数的可选范围随步数扩大,不能把所有步骤都从同一固定范围抽取。

运行4各步整数[1, 1, 2, 4, 5, 5, 7],每步结束保留对象[1, 2, 2, 2, 2, 2, 2],最终对象2。每一位整数的可选范围随步数扩大,不能把所有步骤都从同一固定范围抽取。

运行5各步整数[1, 1, 2, 2, 1, 3, 7],每步结束保留对象[1, 2, 2, 2, 5, 5, 5],最终对象5。每一位整数的可选范围随步数扩大,不能把所有步骤都从同一固定范围抽取。

运行6各步整数[1, 2, 1, 3, 4, 5, 4],每步结束保留对象[1, 1, 3, 3, 3, 3, 3],最终对象3。每一位整数的可选范围随步数扩大,不能把所有步骤都从同一固定范围抽取。

理想独立等概率抽取下,每个对象最终概率都是1/7。这里六次实际结果可能重复,重复本身不能证明算法偏向某个对象,应把单次路径和分布结论分开。

独立复核

第i步之前每个旧对象概率为一除以i减一,再乘本步不替换概率,就得到一除以i;新对象也以一除以i入选。最终一次运行只留下一个对象,不能从单次结果推断概率偏差。

复核时先保留本例输入,再自己写出中间状态。若结果不同,应从最早出现差异的位置检查,尤其留意边界是否包含、索引从哪里开始、取整何时发生,以及是否使用了尚未更新的旧状态。计算得到的结论仅适用于已经说明的规则,修改规则后需要重新验证。

适用范围

这里是无权重抽样,每个对象身份独立。如果要按面积、重要度或可见时长加权,应改用相应规则。也不要把同一个对象重复传入后仍声称每个不同对象等概率。