使用Vose别名方法返回集合

时间:2014-04-20 23:49:43

标签: algorithm math random probability

我试图绕过适应Vose(又名Walker?)别名方法从离散分布中进行采样,以便它可以返回值的 set 。我们的想法是,有一个第二阶段的抽样,使用统一随机分布从集合中选取一个值。

此处的应用程序是DNS负载均衡器,其中配置了具有权重的IP地址列表。然后,查询应该以这样的方式向客户端返回一组IP:随着时间的推移,每个IP都以与其权重相对应的概率进行选择 - 就好像采用单个样本一样。可以假设该过程中涉及的各种DNS解析器(OS存根解析器,配置的recursor等)统一地对IP集进行洗牌(尽管情况并非总是这样)。

我尝试过直接循环:重复Vose采样 N 次,其中 N 是列表中元素的数量。然后丢弃重复项并将该集返回给客户端。这是正确的做法吗?

相关链接:

0 个答案:

没有答案