【发布时间】:2018-03-09 02:50:14
【问题描述】:
当 k 很小 (<= 5) 时,我需要一个来自 k 明智独立散列系列的散列函数 h[n]:[t]。或者我需要从[1-t] 中均匀随机选择n 个哈希值,这样它们就是k wise independent。我正在尝试在需要的地方实现一些随机算法。我使用
[1-t]范围内生成n个随机数
scipy.stats.randint(0,self._t).rvs(self._n)
但这对我的应用程序来说似乎太慢了。因为我不需要完全随机性,但只需要 4 次独立,我想知道我是否可以加快速度。我知道我可以使用多项式哈希族来获得 k 明智的独立性,但这是最好的吗?如果是,是否有任何我可以插入的快速实现?如果不是,有哪些替代方法(库,可能在 Python 中)?
我看过这个帖子Obtaining a k-wise independent hash function,但我不确定接受的答案是什么意思: "如果你需要 k 个不同的哈希,只需重复使用相同的算法 k 次,使用 k 个不同的种子"。
非常感谢任何建议。谢谢。
【问题讨论】:
-
如果我是对的,您的目标是以最快的方式在
[1-t]范围内生成n随机数(至少4 次独立)。 -
@EngineeredBrain 是的,这些数字应该是从 [1-t] 中统一随机挑选的。谢谢。
标签: python random hash murmurhash