Julia之BloomFilters的使用

我們都知道布隆過濾是用來判斷一個元素是否在一個集合中的很有效的方法。比如在WPS字處理軟件中,需要檢查一個單詞是否拼寫正確;在FBI中需要判斷一個嫌疑犯的名字是否在嫌疑名單上;在網絡爬蟲裏,判斷一個網址是否被訪問過。最簡單的解決辦法就是採用HashTable的方法來存儲,它的好處是快速且精確,缺點是耗費大量內存空間。所以針對耗費空間大的問題,提出了布隆過濾。但是布隆過濾是有誤識別率的,也就是說在集合中的元素一定能識別出來,但是不在集合中的元素可能被識別爲在集合中,好在這種誤識別率的概率比較小,通常可以接受。

 

進行布隆過濾的第一步就是構造一個布隆過濾器。所以現在Mayuyu就帶大家來使用Julia的三方包BloomFilters

在Julia中,有很多比較優秀的包,具體可以參考:http://pkg.julialang.org/ 而我們需要的布隆過濾包在這裏:https://github.com/johnmyleswhite/BloomFilters.jl

 

 

當然,第一步就是安裝BloomFilters包了,在Julia交互模式下,執行如下命令

 

   

 

好了,執行完命令後,Mayuyu的BloomFilters就安裝好了,現在開始學習它的使用方法。如下圖

 

    

 

在Julia的布隆過濾包中,還有mmap功能,即把文件當內存使用,可以將建立好的布隆過濾數據等寫入文件中,以便下次直接用。具體用法可以參考如下鏈接:

https://github.com/johnmyleswhite/BloomFilters.jl/blob/master/README.md

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章