我试图绕过适应Vose(又名Walker?)别名方法从离散分布中进行采样,以便它可以返回值的 set 。我们的想法是,有一个第二阶段的抽样,使用统一随机分布从集合中选取一个值。
此处的应用程序是DNS负载均衡器,其中配置了具有权重的IP地址列表。然后,查询应该以这样的方式向客户端返回一组IP:随着时间的推移,每个IP都以与其权重相对应的概率进行选择 - 就好像采用单个样本一样。可以假设该过程中涉及的各种DNS解析器(OS存根解析器,配置的recursor等)统一地对IP集进行洗牌(尽管情况并非总是这样)。
我尝试过直接循环:重复Vose采样 N 次,其中 N 是列表中元素的数量。然后丢弃重复项并将该集返回给客户端。这是正确的做法吗?
相关链接: