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