歡迎來到 常識詞典網(wǎng) , 一個專業(yè)的常識知識學習網(wǎng)站!
[ Ctrl + D 鍵 ]收藏本站
答案 1:
假設我們要表示的靜態(tài)集合X有n個元素,我們針對它可以找到一個perfect -as- function,記作-(x) : [1…u] → [1…n]。所謂perfect -as- function,即它針對不同的key能產(chǎn)生不同的-as- value,也就是說沒有collision。如果針對不同的key產(chǎn)生不同的-as- value,且-as- value分布在連續(xù)的整數(shù)區(qū)間內(nèi),則稱之為mini-l perfect -as- function,或者mini-l perfect -as-ing。所以上面提到的函數(shù)-x嚴格來說是一個mini-l perfect -as- function。
有了-(x),我們就可以將X映射到n個連續(xù)的格子(bucket)中,每個元素對應其中一個格子。下面我們還需要另一個-as- function,它針對每個元素完全隨機地生成j位長的-as- value,然后將-as- value作為這個元素的fingerprint存儲在對應的格子里。記這個函數(shù)為φ: [1…u] → [0…2j-1]。有了-(x)和φ,我們就可以分兩步將X映射到一個m = n .j位的內(nèi)存中,且查找的錯誤率為1/2j,因為只有在j位fingerprint完全吻合的情況下才會出現(xiàn)false positive。
但Bloom Filter的錯誤率為(1/2)k ≥ (1/2)mln2/n。因此當m = n .j時,Bloom Filter的錯誤率為(0.6185)j,高于這種基于perfect -as-ing的方法。如果Bloom Filter要保持1/2j的錯誤率,必須有m = n .j / ln2,因此所占空間是基于perfect -as-ing方法的1 / ln2倍。
所以得出的結(jié)論,你能明白了吧!
下一篇:誰能簡單地解釋一下VIE?這次的馬云支付寶事件和VIE之間是啥關(guān)系?背后有啥內(nèi)幕? 下一篇 【方向鍵 ( → )下一篇】
上一篇:-泄露了用戶的信息,大家還會繼續(xù)使用-產(chǎn)品嗎? 上一篇 【方向鍵 ( ← )上一篇】
快搜