日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

AMQ(approximate membership queries)介绍

發布時間:2023/12/29 综合教程 29 生活家
生活随笔 收集整理的這篇文章主要介紹了 AMQ(approximate membership queries)介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄簡介舉例Bloom Filter算法過程1)位數組:2)添加元素,k個獨立hash函數3)判斷元素是否存在集合Quotient Filter and Cascade Filter參考文獻

簡介

AMQ(approximate membership queries近似成員查詢):

是一種字典數據結構
是在空間使用查詢錯誤率的權衡
用于解決大量數據的處理
擁有以下操作

查找
插入
可選擇元素的刪除

設e誤檢率,當查詢時報出absent值時,e的概率為誤檢,1-e的概率為確實沒有該元素。
可以通過調整e值來調整準確度和空間使用的關系

舉例

Bloom Filter

Bloom filter

Bloom Filter(BF)是一種空間效率很高的隨機數據結構,它利用位數組很簡潔地表示一個集合
歷史:Bloom-Filter,即布隆過濾器,1970年由Bloom中提出。
應用:用于檢索一個元素是否在一個集合中。
特點:Bloom Filter有可能會出現錯誤判斷,但不會漏掉判斷。
適用場景:Bloom Filter”不適合那些“零錯誤的應用場合。而在能容忍低錯誤率的應用場合下,Bloom Filter比其他常見的算法(如hash,折半查找)極大節省了空間。
優點:是空間效率和查詢時間都遠遠超過一般的算法,
缺點:是有一定的誤識別率和刪除困難。

算法過程

原理要點:一是位數組, 二是k個獨立hash函數。

1)位數組:


假設Bloom Filter使用一個m比特的數組來保存信息,初始狀態時,Bloom Filter是一個包含m位的位數組,每一位都置為0,即BF整個數組的元素都設置為0。

2)添加元素,k個獨立hash函數

為了表達S={x1, x2,…,xn}這樣一個n個元素的集合,Bloom Filter使用k個相互獨立的哈希函數(Hash Function),它們分別將集合中的每個元素映射到{1,…,m}的范圍中。

當我們往Bloom Filter中增加任意一個元素x時候,我們使用k個哈希函數得到k個哈希值,然后將數組中對應的比特位設置為1。即第i個哈希函數映射的位置hashi(x)就會被置為1(1≤i≤k)。

注意,如果一個位置多次被置為1,那么只有第一次會起作用,后面幾次將沒有任何效果。在下圖中,k=3,且有兩個哈希函數選中同一個位置(從左邊數第五位,即第二個“1“處)。

3)判斷元素是否存在集合

在判斷y是否屬于這個集合時,我們只需要對y使用k個哈希函數得到k個哈希值,如果所有hashi(y)的位置都是1(1≤i≤k),即k個位置都被設置為1了,那么我們就認為y是集合中的元素,否則就認為y不是集合中的元素。下圖中y1就不是集合中的元素(因為y1有一處指向了“0”位)。y2或者屬于這個集合,或者剛好是一個false positive。

顯然這個判斷并不保證查找的結果是100%正確的。

更多詳細信息

Quotient Filter and Cascade Filter

Quitient Filter 和Cascade Filter算法由Bender等人設計,是一個空間效率高的概率性數據結構
應用:用于檢索一個元素是否在一個集合中。
優點:對插入、查詢、刪除操作由高吞吐量,比Bloom Filter高了兩個數量級。
更多詳情見[3][4]

參考文獻

[1] https://www.cnblogs.com/zhxshseu/p/5289871.html
[2] https://en.wikipedia.org/wiki/Bloom_filter
[3] https://en.wikipedia.org/wiki/Quotient_filter
[4] Don’t Thrash: How to Cache your Hash on Flash

總結

以上是生活随笔為你收集整理的AMQ(approximate membership queries)介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。