ब्लूम निस्यंदक

ब्लूम निस्यंदक एक अंतरिक्ष-कुशल संभाव्य आंकड़े संरचना है, जिसे 1970 में बर्टन हावर्ड ब्लूम द्वारा परिकल्पित किया गया था, जिसका उपयोग यह परीक्षण करने के लिए किया जाता है कि क्या कोई तत्व (गणित) एक समुच्चय (कंप्यूटर विज्ञान) का सदस्य है। प्ररूप I और प्ररूप II त्रुटियां संभव हैं, परन्तु प्ररूप I और प्ररूप II त्रुटियां नहीं हैं - दूसरे शब्दों में, एक क्वेरी संभवतः समुच्चय में या निश्चित रूप से समुच्चय में नहीं लौटती है। तत्वों को समुच्चय में जोड़ा जा सकता है, परन्तु हटाया नहीं जा सकता (हालांकि इसे #Counting ब्लूम निस्यंदक संस्करण के साथ संबोधित किया जा सकता है); जितने अधिक पद जोड़े जाते हैं, मिथ्या सकारात्मकता की संभावना उतनी ही अधिक होती है।

ब्लूम ने उन अनुप्रयोगों के लिए प्रविधि का प्रस्ताव दिया जहां पारंपरिक त्रुटि मुक्त द्रुतान्वेषण प्रविधियों को अनुप्रयुक्त करने पर स्रोत आंकड़े की मात्रा में अव्यावहारिक रूप से बड़ी मात्रा में मेमोरी की आवश्यकता होगी। उन्होंने 500,000 शब्दों के शब्दकोश के लिए एक शब्द संयोजकता कलन विधि का उदाहरण दिया, जिसमें से 90% सरल शब्द संयोजकता नियमों का पालन करते हैं, परन्तु शेष 10% को विशिष्ट शब्द संयोजकता प्रतिरूप को पुनः प्राप्त करने के लिए महंगे चक्रिका अभिगमन की आवश्यकता होती है। पर्याप्त कोर मेमोरी के साथ, सभी अनावश्यक चक्रिका अभिगमन को समाप्त करने के लिए एक त्रुटि-मुक्त द्रुतान्वेषण का उपयोग किया जा सकता है; दूसरी ओर, सीमित कोर मेमोरी के साथ, ब्लूम की प्रविधि एक छोटे द्रुतान्वेषण क्षेत्र का उपयोग करती है परन्तु फिर भी अधिकांश अनावश्यक पहुंच को समाप्त कर देती है। उदाहरण के लिए, एक आदर्श त्रुटि-मुक्त द्रुतान्वेषण के लिए आवश्यक आकार का केवल 15% द्रुतान्वेषण क्षेत्र अभी भी 85% चक्रिका अभिगमन को समाप्त कर देता है।

सामान्यतः, समुच्चय में तत्वों के आकार या संख्या से स्वतंत्र, 1% मिथ्या सकारात्मकता संभावना के लिए प्रति तत्व 10 अंश  से कम की आवश्यकता होती है।

कलन विधि विवरण
एक अपूरित ब्लूम निस्यंदक का एक सा सरणी है $w$ द्वयंक, सभी 0 पर समुच्चय। वहाँ भी होना चाहिए $m$ अलग-अलग द्रुतान्वेषण फलन परिभाषित किए गए हैं, जिनमें से प्रत्येक प्रतिचित्र (गणित) या द्रुतान्वेषण में से किसी एक के लिए कुछ समुच्चय एलिमेंट है $k$ सरणी स्थिति, एक समान यादृच्छिक वितरण उत्पन्न करना। सामान्यतः, $m$ एक छोटा स्थिरांक है जो वांछित मिथ्य त्रुटि दर पर निर्भर करता है $k$, जबकि $ε$ के लिए आनुपातिक है $m$ और जोड़े जाने वाले तत्वों की संख्या।

एक तत्व जोड़ने के लिए, इसे प्रत्येक को खिलाएं $k$ द्रुतान्वेषण फलन प्राप्त करने के लिए $k$ सरणी स्थिति। इन सभी स्थितियों पर द्वयंक को 1 पर समुच्चय करें।

किसी तत्व के लिए पूछताछ करने के लिए (परीक्षण करें कि यह समुच्चय में है या नहीं), इसे प्रत्येक को फ़ीड करें $k$ द्रुतान्वेषण फलन प्राप्त करने के लिए $k$ सरणी स्थिति। यदि इन स्थितियों में से कोई भी द्वयंक 0 है, तो तत्व निश्चित रूप से समुच्चय में नहीं है; यदि ऐसा होता, तो सभी द्वयंक को सम्मिलित करते समय 1 पर समुच्चय किया गया होता। यदि सभी 1 हैं, तो या तो तत्व समुच्चय में है, या द्वयंक को अन्य तत्वों के सम्मिलन के पर्यन्त संयोग से 1 पर समुच्चय किया गया है, जिसके परिणामस्वरूप एक मिथ्या सकारात्मक है। एक साधारण ब्लूम निस्यंदक में, दो स्थितियों के मध्य अंतर करने का कोई तरीका नहीं है, परन्तु अधिक उन्नत प्रविधिें इस समस्या का समाधान कर सकती हैं।

डिजाइनिंग की आवश्यकता $k$ अलग-अलग स्वतंत्र द्रुतान्वेषण फलन बड़े के लिए निषेधात्मक हो सकते हैं $k$. एक विस्तृत बहिर्वेश के साथ एक अच्छे द्रुतान्वेषण फलन के लिए, ऐसे द्रुतान्वेषण के विभिन्न द्वयंक-फ़ील्ड के मध्य कोई संबंध होने पर बहुत कम होना चाहिए, इसलिए इस प्रकार के द्रुतान्वेषण का उपयोग कई अलग-अलग द्रुतान्वेषण फलन उत्पन्न करने के लिए किया जा सकता है, इसके बहिर्वेश को कई द्वयंक फ़ील्ड में विभाजित करके। वैकल्पिक रूप से, कोई पास कर सकता है $k$ विभिन्न प्रारंभिक मान (जैसे 0, 1, ..., $k$ − 1) एक द्रुतान्वेषण फलन के लिए जो प्रारंभिक मान लेता है; या इन मानों को कुंजी में जोड़ें (या जोड़ें)। बड़े के लिए $k$ और/या $m$, मिथ्या सकारात्मक दर में नगण्य वृद्धि के साथ द्रुतान्वेषण कार्यों के  मध्य आजादी को आराम दिया जा सकता है। (विशेष रूप से,  व्युत्पन्न करने की प्रभावशीलता दिखाएं $k$ दोहरे द्रुतान्वेषण का उपयोग करने वाले सूचकांक#वर्धित डबल द्रुतान्वेषण और डबल द्रुतान्वेषण#ट्रिपल द्रुतान्वेषणिंग, डबल द्रुतान्वेषण के भिन्नरूप जो प्रभावी रूप से दो या तीन द्रुतान्वेषण मानों के साथ सरल यादृच्छिक संख्या जनक हैं।)

इस सरल ब्लूम निस्यंदक से किसी तत्व को हटाना असंभव है क्योंकि यह बताने का कोई तरीका नहीं है कि कौन सा है $k$ जिन द्वयंक पर यह प्रतिचित्र करता है उन्हें साफ़ किया जाना चाहिए। हालांकि उनमें से किसी एक को समुच्चय करना $k$ द्वयंक को शून्य करने के लिए तत्व को हटाने के लिए पर्याप्त है, यह उस द्वयंक पर प्रतिचित्र करने के लिए होने वाले किसी अन्य तत्व को भी हटा देगा। चूंकि सरल कलन विधि यह निर्धारित करने का कोई तरीका नहीं प्रदान करता है कि क्या कोई अन्य तत्व जोड़ा गया है जो तत्व को हटाने के लिए द्वयंक को प्रभावित करता है, किसी भी द्वयंक को साफ़ करने से मिथ्या नकारात्मकता की संभावना उत्पन्न होगी।

ब्लूम निस्यंदक से किसी तत्व को एक बार हटाने के लिए एक दूसरे ब्लूम निस्यंदक का अनुकरण किया जा सकता है जिसमें हटाए गए पद सम्मिलित हैं। हालांकि, दूसरे निस्यंदक में मिथ्या सकारात्मक समग्र निस्यंदक में मिथ्या नकारात्मक बन जाती है, जो अवांछित हो सकती है। इस दृष्टिकोण में पहले से हटाए गए पद को फिर से जोड़ना संभव नहीं है, क्योंकि किसी को इसे हटाए गए निस्यंदक से हटाना होगा।

प्रायः ऐसा होता है कि सभी कुंजियाँ उपलब्ध होती हैं, परन्तु गणना करना बहुमूल्य होता है (उदाहरण के लिए, कई चक्रिका पढ़ने की आवश्यकता होती है)। जब मिथ्या सकारात्मक दर बहुत अधिक हो जाती है, तो निस्यंदक को पुन: उत्पन्न किया जा सकता है; यह एक अपेक्षाकृत दुर्लभ घटना होनी चाहिए।

अंतरिक्ष और समय के फायदे
मिथ्या सकारात्मकताओं को जोखिम में डालते हुए, ब्लूम निस्यंदक के पास समुच्चय का प्रतिनिधित्व करने के लिए अन्य आंकड़े संरचनाओं पर पर्याप्त स्थान लाभ होता है, जैसे स्व-संतुलन बाइनरी सर्च ट्री, प्रयास, द्रुतान्वेषण तालिका, या सरल सरणी आंकड़े संरचना या प्रविष्टियों की लिंक्ड सूची। इनमें से अधिकांश को कम से कम स्वयं आंकड़े पद को संग्रहीत करने की आवश्यकता होती है, जिसके लिए द्वयंक की एक छोटी संख्या से, छोटे पूर्णांकों के लिए, द्वयंक की मनमानी संख्या के लिए कहीं भी आवश्यकता हो सकती है, जैसे स्ट्रिंग्स के लिए (tries अपवाद हैं क्योंकि वे समान उपसर्ग वाले तत्वों के  मध्य भंडारण साझा कर सकते हैं)। हालाँकि, ब्लूम निस्यंदक आंकड़े पद को बिल्कुल भी संग्रहीत नहीं करता है, और वास्तविक संग्रहण के लिए एक अलग समाधान प्रदान किया जाना चाहिए। लिंक्ड संरचनाओं में पॉइंटर्स के लिए एक अतिरिक्त रैखिक स्थान ओवरहेड होता है। 1% त्रुटि और इष्टतम मान के साथ एक ब्लूम निस्यंदक $k$, इसके विपरीत, तत्वों के आकार की परवाह किए बिना प्रति तत्व केवल लगभग 9.6 द्वयंक की आवश्यकता होती है। यह लाभ आंशिक रूप से इसकी कॉम्पैक्टनेस से आता है, जो सरणियों से विरासत में मिला है, और आंशिक रूप से इसकी संभाव्य प्रकृति से। प्रति तत्व केवल 4.8 द्वयंक जोड़कर 1% मिथ्या-सकारात्मक दर को दस के कारक से कम किया जा सकता है।

हालाँकि, यदि संभावित मानों की संख्या कम है और उनमें से कई समुच्चय में हो सकते हैं, तो ब्लूम निस्यंदक को नियतात्मक द्वयंक सरणी द्वारा सरलता से पार कर लिया जाता है, जिसके लिए प्रत्येक संभावित तत्व के लिए केवल एक द्वयंक की आवश्यकता होती है। द्रुतान्वेषण तालिकाएँ स्थान और समय का लाभ प्राप्त करती हैं यदि वे टक्करों को नज़रअंदाज़ करना प्रारंभ करती हैं और केवल तभी स्टोर करती हैं जब प्रत्येक बकेट में एक प्रविष्टि हो; इस स्थिति में, वे प्रभावी रूप से ब्लूम निस्यंदक बन गए हैं ${x, y, z}$.

ब्लूम निस्यंदक में असामान्य गुणधर्म भी होती है कि पद जोड़ने या यह जांचने के लिए समय की आवश्यकता होती है कि कोई पद समुच्चय में है या नहीं, यह एक निश्चित स्थिरांक है, ${x, y, z}$, समुच्चय में पहले से उपस्थित पद्स की संख्या से पूर्णतया स्वतंत्र। किसी अन्य निरंतर-स्थान समुच्चय आंकड़े संरचना में यह गुण नहीं है, परन्तु विरल द्रुतान्वेषण तालिकाओं का औसत एक्सेस समय उन्हें कुछ ब्लूम निस्यंदक की तुलना में तीव्र बना सकता है। हार्डवेयर कार्यान्वयन में, हालांकि, ब्लूम निस्यंदक चमकता है क्योंकि इसकी $k$ लुकअप स्वतंत्र हैं और इन्हें समानांतर किया जा सकता है।

इसकी अंतरिक्ष दक्षता को समझने के लिए, सामान्य ब्लूम निस्यंदक की तुलना उसके विशेष स्थिति से करना शिक्षाप्रद है जब $m = 18$. यदि $k = 3$, फिर मिथ्या सकारात्मक दर को पर्याप्त रूप से कम रखने के लिए, द्वयंक का एक छोटा सा अंश समुच्चय किया जाना चाहिए, जिसका अर्थ है कि सरणी बहुत बड़ी होनी चाहिए और इसमें शून्य के लंबे रन होने चाहिए। इसके आकार के सापेक्ष सरणी की सूचना सामग्री कम है। सामान्यीकृत ब्लूम निस्यंदक ($k$ 1 से अधिक) कम मिथ्या सकारात्मक दर को बनाए रखते हुए कई और द्वयंक को समुच्चय करने की अनुमति देता है; यदि पैरामीटर ($k$ और $k$) अच्छी तरह से चुने गए हैं, लगभग आधे द्वयंक समुच्चय हो जाएंगे, और ये स्पष्ट रूप से यादृच्छिक होंगे, अतिरेक को कम करेंगे और सूचना सामग्री को अधिकतम करेंगे।

मिथ्या सकारात्मकता की संभावना
मान लें कि एक द्रुतान्वेषण फलन प्रत्येक सरणी स्थिति को समान संभावना के साथ चुनता है। यदि एम सरणी में द्वयंक की संख्या है, संभावना है कि तत्व के सम्मिलन के पर्यन्त एक निश्चित द्रुतान्वेषण फलन द्वारा एक निश्चित द्वयंक 1 पर समुच्चय नहीं किया जाता है
 * $$1-\frac{1}{m}.$$

यदि k द्रुतान्वेषण फलन की संख्या है और प्रत्येक का एक दूसरे के मध्य कोई महत्वपूर्ण संबंध नहीं है, तो संभावना है कि द्वयंक किसी भी द्रुतान्वेषण फलन द्वारा 1 पर समुच्चय नहीं है
 * $$\left(1-\frac{1}{m}\right)^k.$$

हम ई (गणितीय स्थिरांक) के लिए प्रसिद्ध पहचान का उपयोग कर सकते हैं-1
 * $$\lim_{m\to\infty} \left(1 - \frac{1}{m}\right)^m = \frac{1}{e}$$

यह निष्कर्ष निकालने के लिए कि, बड़े m के लिए,
 * $$\left(1-\frac{1}{m}\right)^k = \left(\left(1-\frac{1}{m}\right)^m\right)^{k/m} \approx e^{-k/m}.$$

यदि हमने एन तत्व डाले हैं, संभावना है कि एक निश्चित द्वयंक अभी भी 0 है


 * $$\left(1-\frac{1}{m}\right)^{kn} \approx e^{-kn/m};$$

इसलिए संभावना है कि यह 1 है


 * $$1-\left(1-\frac{1}{m}\right)^{kn} \approx 1 - e^{-kn/m}.$$

अब उस तत्व की सदस्यता का परीक्षण करें जो समुच्चय में नहीं है। द्रुतान्वेषण फलन द्वारा गणना की गई प्रत्येक k सरणी स्थिति ऊपर की संभावना के साथ 1 है। उन सभी के 1 होने की प्रायिकता, जो कलन विधि  को अनुचित तरीके से अनुरोध करने का कारण बनेगी कि तत्व समुच्चय में है, प्रायः इस रूप में दिया जाता है


 * $$\varepsilon = \left(1-\left[1-\frac{1}{m}\right]^{kn}\right)^k \approx \left( 1-e^{-kn/m} \right)^k.$$

यह सख्ती से सही नहीं है क्योंकि यह प्रत्येक द्वयंक की समुच्चय होने की संभावनाओं के लिए स्वतंत्रता मानता है। हालाँकि, यह मानते हुए कि यह एक निकट सन्निकटन है, हमारे पास यह है कि मिथ्या सकारात्मकता की संभावना घट जाती है क्योंकि m (सरणी में द्वयंक की संख्या) बढ़ जाती है, और बढ़ जाती है जैसे n (सम्मिलित तत्वों की संख्या) बढ़ जाती है।

स्वतंत्रता ग्रहण किए बिना, मिथ्या सकारात्मकता की वास्तविक संभावना है


 * $$\frac{1}{m^{k(n+1)}}\sum_{i=1}^m i^k i! {m \choose i} \left\{ {kn \atop i}\right\}$$

जहां {ब्रेसिज़} दूसरी तरह की स्टर्लिंग संख्या को दर्शाता है। स्वतंत्रता की धारणा के बिना एक ही सन्निकटन पर पहुंचने वाला एक वैकल्पिक विश्लेषण मिट्ज़ेनमाकर और उपफाल द्वारा दिया गया है। ब्लूम निस्यंदक में सभी n पद जोड़े जाने के बाद, q को उन m द्वयंक का अंश होने दें जो 0 पर समुच्चय हैं। (अर्थात, अभी भी 0 पर समुच्चय किए गए द्वयंक की संख्या qm है।) तत्व समुच्चय में नहीं है, किसी भी k द्रुतान्वेषण फलन द्वारा दी गई सरणी स्थिति के लिए, संभावना है कि द्वयंक 1 पर समुच्चय पाया जाता है $$1-q$$. तो संभावना है कि सभी k द्रुतान्वेषण फलन उनके द्वयंक को 1 पर समुच्चय करते हैं $$(1 - q)^k$$. इसके अतिरिक्त, क्यू का अपेक्षित मूल्य संभावना है कि दी गई सरणी स्थिति प्रत्येक एन पद के लिए प्रत्येक के द्रुतान्वेषण फलन से छूटी हुई है, जो (ऊपर के रूप में) है
 * $$E[q] = \left(1 - \frac{1}{m}\right)^{kn}$$.

यह सिद्ध करना संभव है कि स्वतंत्रता की धारणा के बिना, क्यू अपने अपेक्षित मूल्य के आसपास बहुत दृढ़ता से केंद्रित है। विशेष रूप से, Azuma-Hoeffding असमानता से, वे यह साबित करते हैं
 * $$ \Pr(\left|q - E[q]\right| \ge \frac{\lambda}{m}) \le 2\exp(-2\lambda^2/kn) $$

इस वजह से, हम कह सकते हैं कि मिथ्या सकारात्मकता की सटीक संभावना है
 * $$ \sum_{t} \Pr(q = t) (1 - t)^k \approx (1 - E[q])^k = \left(1-\left[1-\frac{1}{m}\right]^{kn}\right)^k \approx \left( 1-e^{-kn/m} \right)^k$$

पहले जैसा।

द्रुतान्वेषण फलन की इष्टतम संख्या
द्रुतान्वेषण फलन की संख्या, k, एक धनात्मक पूर्णांक होना चाहिए। इस बाधा को एक तरफ रखते हुए, किसी दिए गए एम और एन के लिए, के मूल्य जो मिथ्या सकारात्मक संभावना को कम करता है


 * $$k = \frac{m}{n} \ln 2.$$

द्वयंक की आवश्यक संख्या, m, दिए गए n (सम्मिलित तत्वों की संख्या) और एक वांछित मिथ्या सकारात्मक संभावना ε (और k के इष्टतम मान का उपयोग किया जाता है) की गणना ऊपर की संभावना अभिव्यक्ति में k के इष्टतम मान को प्रतिस्थापित करके की जा सकती है। :
 * $$\varepsilon = \left( 1-e^{-(\frac m n \ln 2) \frac n m} \right)^{\frac m n\ln 2}$$

जिसे सरल बनाया जा सकता है:
 * $$\ln\varepsilon = -\frac{m}{n} \left(\ln 2\right)^2.$$

इस में यह परिणाम:
 * $$m=-\frac{n\ln\varepsilon}{(\ln 2)^2}$$ तो प्रति तत्व द्वयंक की इष्टतम संख्या है
 * $$\frac{m}{n}=-\frac{\log_2\varepsilon}{\ln 2}\approx-1.44\log_2\varepsilon$$

द्रुतान्वेषण फलन k की संगत संख्या के साथ (अखंडता को अवहेलना करते हुए):
 * $$k=-\frac{\ln\varepsilon}{\ln 2}=-\log_2\varepsilon.$$

इसका मतलब यह है कि दी गई मिथ्या सकारात्मक संभावना ε के लिए, ब्लूम निस्यंदक एम की लंबाई निस्यंदक किए जाने वाले तत्वों की संख्या के अनुपात में है और द्रुतान्वेषण फलन की आवश्यक संख्या केवल लक्ष्य मिथ्या सकारात्मक संभावना ε पर निर्भर करती है। सूत्र $$m=-\frac{n\ln\varepsilon}{(\ln 2)^2}$$ तीन कारणों से अनुमानित है। सर्वप्रथम, और कम से कम चिंता की बात है, यह अनुमानित है $$1 - \frac{1}{m}$$ जैसा $$e^{-\frac{1}{m}}$$, जो एक अच्छा स्पर्शोन्मुख सन्निकटन है (अर्थात, जो m →∞ के रूप में धारण करता है)। दूसरा, अधिक चिंता का विषय, यह मानता है कि सदस्यता परीक्षण के पर्यन्त एक परीक्षण द्वयंक 1 पर समुच्चय होने की घटना इस घटना से स्वतंत्र है कि कोई अन्य परीक्षण द्वयंक 1 पर समुच्चय है। तीसरा, सबसे अधिक चिंता का विषय, यह मानता है कि $$k = \frac{m}{n} \ln 2$$ सौभाग्य से अभिन्न है।

गोयल और गुप्ता, हालाँकि, एक कठोर ऊपरी सीमा दें जो कोई सन्निकटन नहीं करता है और किसी धारणा की आवश्यकता नहीं है। वे दर्शाते हैं कि एम द्वयंक के साथ एक सीमित ब्लूम निस्यंदक के लिए मिथ्या सकारात्मक संभावना ($$ m > 1$$), n तत्व, और k द्रुतान्वेषण फलन अधिकतम है


 * $$\varepsilon \leq \left( 1-e^{-\frac{k(n+0.5)}{m-1}} \right)^k.$$

इस परिबंध की व्याख्या यह कहकर की जा सकती है कि अनुमानित सूत्र $$\left( 1-e^{-\frac{kn}m} \right)^k$$ अधिक से अधिक आधे अतिरिक्त तत्व और अधिक से अधिक एक कम द्वयंक के दंड पर अनुप्रयुक्त किया जा सकता है।

ब्लूम निस्यंदक में पदओं की संख्या का अनुमान लगाना
ने दिखाया कि ब्लूम निस्यंदक में पद्स की संख्या को निम्न सूत्र से अनुमानित किया जा सकता है,


 * $$ n^* = -\frac{m}{k} \ln \left[ 1 - \frac{X}{m} \right], $$

कहाँ <वर>$$n^*$$ निस्यंदक में पद्स की संख्या का अनुमान है, m निस्यंदक की लंबाई (आकार) है, k द्रुतान्वेषण फलन की संख्या है, और X एक पर समुच्चय द्वयंक की संख्या है।

समुच्चय का संघ और प्रतिच्छेदन
ब्लूम निस्यंदक पदओं के एक समूह को संक्षिप्त रूप से प्रस्तुत करने का एक तरीका है। दो समुच्चयों के मध्य प्रतिच्छेदन या संघ के आकार की गणना करने का प्रयास करना आम बात है। ब्लूम निस्यंदक का उपयोग प्रतिच्छेदन के आकार और दो समुच्चयों के मिलन का अनुमान लगाने के लिए किया जा सकता है।  ने दिखाया कि लंबाई के दो ब्लूम निस्यंदक के लिए $m$, उनकी गणना, क्रमशः के रूप में अनुमान लगाया जा सकता है


 * $$ n(A^*) = -\frac{m}{k} \ln \left[ 1 - \frac{|A|} m \right] $$

और


 * $$ n(B^*) = -\frac{m}{k} \ln \left[ 1 - \frac{|B|} m \right]. $$

उनके संघ के आकार का अनुमान लगाया जा सकता है


 * $$ n(A^*\cup B^*) = -\frac{m}{k} \ln \left[ 1 - \frac{|A \cup B|} m \right], $$

कहाँ $$n(A \cup B)$$ दो ब्लूम निस्यंदकों में से किसी एक में समुच्चय द्वयंक की संख्या है। अंत में, प्रतिच्छेदन का अनुमान लगाया जा सकता है


 * $$ n(A^*\cap B^*) = n(A^*) + n(B^*) - n(A^* \cup B^*),$$

तीन सूत्रों का एक साथ उपयोग करना।

दिलचस्प गुण

 * द्रुतान्वेषण टेबल का उपयोग कर एक मानक द्रुतान्वेषण तालिका के विपरीत # टक्कर समाधान योजना के लिए ओपन एड्रेसिंग, एक निश्चित आकार का ब्लूम निस्यंदक मनमाने ढंग से बड़ी संख्या में तत्वों के साथ एक समुच्चय का प्रतिनिधित्व कर सकता है; आंकड़े संरचना भरने के कारण कोई तत्व जोड़ना कभी विफल नहीं होता है। हालाँकि, जब तक निस्यंदक में सभी द्वयंक 1 पर समुच्चय नहीं हो जाते, तब तक तत्वों को जोड़े जाने पर मिथ्या सकारात्मक दर लगातार बढ़ती जाती है, जिस बिंदु पर सभी प्रश्न सकारात्मक परिणाम देते हैं। ओपन एड्रेसिंग द्रुतान्वेषणिंग के साथ, मिथ्या सकारात्मकता कभी उत्पन्न नहीं होती है, परन्तु जब तक यह रैखिक खोज तक नहीं पहुंचती तब तक प्रदर्शन लगातार बिगड़ता जाता है।
 * समान आकार और द्रुतान्वेषण फलन के समुच्चय वाले ब्लूम निस्यंदक के संघ (समुच्चय सिद्धांत) और प्रतिच्छेदन (समुच्चय सिद्धांत) को क्रमशः द्वयंकवाइज़ संचालन OR और AND संचालन के साथ अनुप्रयुक्त किया जा सकता है। ब्लूम निस्यंदक पर संघ संचालन इस अर्थ में दोषरहित है कि परिणामी ब्लूम निस्यंदक दो समुच्चयों के मिलन का उपयोग करके आखुर से बनाए गए ब्लूम निस्यंदक के समान है। प्रतिच्छेद संचालन एक दुर्बल गुणधर्म को संतुष्ट करता है: परिणामी ब्लूम निस्यंदक में मिथ्या सकारात्मक संभावना अधिक से अधिक एक घटक ब्लूम निस्यंदक में मिथ्या सकारात्मक संभावना है, परन्तु आखुर से बनाए गए ब्लूम निस्यंदक में मिथ्या सकारात्मक संभावना से बड़ा हो सकता है। दो समुच्चयों का प्रतिच्छेदन।
 * कुछ प्रकार के अध्यारोपित बीजांक को फिजिकल दांतेदार पत्रक के साथ अनुप्रयुक्त किए गए ब्लूम निस्यंदक के रूप में देखा जा सकता है। एक उदाहरण ज़ेटोकोडिंग है, जिसे 1947 में केल्विन मूर्स द्वारा आविष्कृत किया गया था, जिसमें जानकारी के एक टुकड़े से जुड़ी श्रेणियों का समुच्चय एक पत्रक पर निशानों द्वारा दर्शाया गया है, जिसमें प्रत्येक श्रेणी के लिए चार निशानों का एक यादृच्छिक प्रतिरूप है।

उदाहरण

 * ड्रोसोफिला मेलानोगास्टर गंध की नवीनता का पता लगाने के लिए ब्लूम निस्यंदक के एक संशोधित संस्करण का उपयोग करता है, जिसमें अतिरिक्त विशेषताएं सम्मिलित हैं, जिसमें पहले से अनुभव किए गए उदाहरणों की नई गंध की समानता, और उसी गंध के पिछले अनुभव के बाद का समय सम्मिलित है।
 * एक सामग्री वितरण प्रदाता, स्मार्ट टेक्नोलॉजीज के सर्वर, वन-हिट-वंडर्स को अपने चक्रिका द्रुतिका में संग्रहीत होने से रोकने के लिए ब्लूम निस्यंदक का उपयोग करते हैं। वन-हिट-वंडर्स वे वेब ऑब्जेक्ट हैं जिनका उपयोगकर्ताओं द्वारा केवल एक बार अनुरोध किया जाता है, कुछ ऐसा जिसे अकामाई ने पाया कि यह उनके द्रुतीकरण इंफ्रास्ट्रक्चर के लगभग तीन-चौथाई पर अनुप्रयुक्त होता है। वेब ऑब्जेक्ट के लिए दूसरे अनुरोध का पता लगाने के लिए ब्लूम निस्यंदक का उपयोग करना और उस ऑब्जेक्ट को केवल उसके दूसरे अनुरोध पर द्रुतिका करना चक्रिका द्रुतिका में प्रवेश करने से एक-हिट चमत्कार को रोकता है, चक्रिका वर्कलोड को काफी कम करता है और चक्रिका द्रुतिका हिट दरों में वृद्धि करता है।
 * Google Bigtable, Apache HBase और Apache Cassandra और PostgreSQL गैर-उपस्थित पंक्तियों या स्तंभों के लिए चक्रिका लुकअप को कम करने के लिए ब्लूम निस्यंदक का उपयोग करें। महंगे चक्रिका लुकअप से बचने से आंकड़ेबेस क्वेरी संचालन का प्रदर्शन काफी बढ़ जाता है।
 * Google Chrome वेब ब्राउज़र पहले दुर्भावनापूर्ण URL की पहचान करने के लिए ब्लूम निस्यंदक का उपयोग करता था। किसी भी यूआरएल को पहले एक स्थानीय ब्लूम निस्यंदक के खिलाफ जांचा गया था, और केवल यदि ब्लूम निस्यंदक ने एक सकारात्मक परिणाम दिया था, तो यूआरएल की पूरी जांच की गई थी (और उपयोगकर्ता ने चेतावनी दी थी, यदि वह भी सकारात्मक परिणाम देता है)।
 * माइक्रोसॉफ्ट बिंग (सर्च इंजन) अपने सर्च इंडेक्स, द्वयंकफनल के लिए मल्टी-लेवल पदानुक्रमित ब्लूम निस्यंदक का उपयोग करता है। ब्लूम निस्यंदक पिछले बिंग इंडेक्स की तुलना में कम लागत प्रदान करते हैं, जो उलटी फाइलों पर आधारित था।
 * स्क्वीड (सॉफ्टवेयर) वर्ल्ड वाइड वेब प्रॉक्सी वेब द्रुतिका द्रुतिका डाइजेस्ट के लिए ब्लूम निस्यंदक का उपयोग करता है।
 * जब तक ब्लूम निस्यंदक के कार्यान्वयन के साथ गोपनीयता भेद्यता का पता नहीं चला, तब तक Bitcoin  ने वॉलेट सिंक्रोनाइज़ेशन को गति देने के लिए ब्लूम निस्यंदक का उपयोग किया।
 * हवाओं अभिलेखीय भंडारण प्रणाली पहले से संग्रहीत आंकड़े का पता लगाने के लिए ब्लूम निस्यंदक का उपयोग करती है।
 * SPIN मॉडल चेकर बड़ी सत्यापन समस्याओं के लिए पहुंच योग्य स्थिति स्थान को ट्रैक करने के लिए ब्लूम निस्यंदक का उपयोग करता है।
 * कैस्केडिंग (सॉफ्टवेयर) एनालिटिक्स फ्रेमवर्क असममित जोड़ को गति देने के लिए ब्लूम निस्यंदक का उपयोग करता है, जहां सम्मिलित किए गए आंकड़े समुच्चय में से एक दूसरे की तुलना में काफी बड़ा होता है (जिसे प्रायः ब्लूम जॉइन आंकड़ेबेस साहित्य में कहा जाता है)।
 * एग्जिम मेल ट्रांसफर एजेंट (एमटीए) अपने रेट-लिमिट फीचर में ब्लूम निस्यंदक का इस्तेमाल करता है।
 * मध्यम (प्रकाशन प्लेटफॉर्म) उपयोगकर्ता द्वारा पहले पढ़े गए लेखों की सिफारिश करने से बचने के लिए ब्लूम निस्यंदक का उपयोग करता है।
 * Ethereum ब्लॉकचेन पर लॉग को जल्दी से खोजने के लिए एथेरियम ब्लूम निस्यंदक का उपयोग करता है।
 * ग्राफाना टेम्पो प्रत्येक बैकएंड ब्लॉक के लिए ब्लूम निस्यंदक को स्टोर करके क्वेरी प्रदर्शन को बेहतर बनाने के लिए ब्लूम निस्यंदक्स का उपयोग करता है। आपूर्ति किए गए खोज मानदंडों को पूर्ण करने वाले आंकड़े वाले ब्लॉक को निर्धारित करने के लिए इन्हें प्रत्येक क्वेरी पर एक्सेस किया जाता है

विकल्प
उत्कृष्ट ब्लूम निस्यंदक उपयोग करते हैं $$1.44\log_2(1/\varepsilon)$$ प्रति सम्मिलित की गई जगह के द्वयंक, जहां $$\varepsilon$$ ब्लूम निस्यंदक की मिथ्या सकारात्मक दर है। हालाँकि, वह स्थान जो किसी भी आंकड़े संरचना के लिए ब्लूम निस्यंदक के समान भूमिका निभाने के लिए कड़ाई से आवश्यक है $$\log_2(1/\varepsilon)$$ प्रति कुंजी। इसलिए ब्लूम निस्यंदक समतुल्य इष्टतम आंकड़े संरचना की तुलना में 44% अधिक स्थान का उपयोग करते हैं। इसके बजाय, पग एट अल। एक इष्टतम-स्थान आंकड़े संरचना प्रदान करें। इसके अतिरिक्त, ब्लूम निस्यंदक के विपरीत, उनकी आंकड़े संरचना में मिथ्या सकारात्मक दर से स्वतंत्र संदर्भ की निरंतर स्थानीयता होती है, जहां कम मिथ्या सकारात्मक दर होती है $$\varepsilon$$ प्रति क्वेरी अधिक संख्या में मेमोरी एक्सेस की ओर जाता है, $$\log(1/\varepsilon)$$. इसके अतिरिक्त, यह ब्लूम निस्यंदक के विपरीत, तत्वों को स्पेस पेनल्टी के बिना हटाने की अनुमति देता है। इष्टतम स्थान उपयोग, संदर्भ की निरंतर स्थानीयता, और तत्वों को हटाने की क्षमता के समान बेहतर गुण भी कोयल निस्यंदक द्वारा प्रदान किए जाते हैं, जिसका एक खुला स्रोत कार्यान्वयन उपलब्ध है।

द्रुतान्वेषण टेबल, द्रुतान्वेषण संघनन के आधार पर एक संभाव्य संरचना का वर्णन करें, जो ब्लूम निस्यंदक की तुलना में महत्वपूर्ण रूप से अधिक सटीक पहचान करें, जब प्रत्येक को इष्टतम रूप से कॉन्फ़िगर किया गया हो। डिलिंगर और मैनोलिओस, हालांकि, बताते हैं कि किसी भी दिए गए ब्लूम निस्यंदक की उचित सटीकता कई प्रकार की परिवर्धन पर अज्ञात आकार के राज्य रिक्त स्थान की संभावित गणना के लिए आकर्षक बनाती है। द्रुतान्वेषण संघनन, इसलिए आकर्षक है जब परिवर्धन की संख्या का सटीक अनुमान लगाया जा सकता है; हालाँकि, सॉफ़्टवेयर में बहुत तीव्र होने के बावजूद, द्रुतान्वेषण संघनन सबसे खराब स्थिति वाले रैखिक पहुँच समय के कारण हार्डवेयर के लिए खराब रूप से अनुकूल है।

ने ब्लूम निस्यंदक के कुछ रूपों का अध्ययन किया है जो क्लासिक ब्लूम निस्यंदक की तुलना में या तो तीव्र हैं या कम जगह का उपयोग करते हैं। तेज संस्करण का मूल विचार प्रोसेसर की मेमोरी द्रुतिका ब्लॉक (सामान्यतः 64 बाइट्स) के समान आकार वाले एक या दो ब्लॉक में प्रत्येक कुंजी से जुड़े k द्रुतान्वेषण मान का पता लगाना है। यह संभवतः संभावित मेमोरी द्रुतिका मिस की संख्या को कम करके प्रदर्शन में सुधार करेगा। हालांकि प्रस्तावित भिन्नरूप में क्लासिक ब्लूम निस्यंदक की तुलना में लगभग 32% अधिक जगह का उपयोग करने की खामी है।

अंतरिक्ष कुशल संस्करण एकल द्रुतान्वेषण फलन का उपयोग करने पर निर्भर करता है जो प्रत्येक कुंजी के लिए श्रेणी में एक मान उत्पन्न करता है $$\left[0,n/\varepsilon\right]$$ कहाँ $$\varepsilon$$ अनुरोधित मिथ्या सकारात्मक दर है। मूल्यों के अनुक्रम को गोलोम्ब कोडिंग (या कुछ अन्य संपीड़न प्रविधि) का उपयोग करके एक स्थान पर कब्जा करने के लिए क्रमबद्ध और संपीड़ित किया जाता है $$n\log_2(1/\varepsilon)$$ द्वयंक। किसी दी गई कुंजी के लिए ब्लूम निस्यंदक को क्वेरी करने के लिए, यह जाँचना पर्याप्त होगा कि क्या इसका संबंधित मूल्य ब्लूम निस्यंदक में संग्रहीत है। प्रत्येक क्वेरी के लिए संपूर्ण ब्लूम निस्यंदक को डीकंप्रेस करने से यह संस्करण पूर्णतया से अनुपयोगी हो जाएगा। इस समस्या को दूर करने के लिए मानों के अनुक्रम को समान आकार के छोटे ब्लॉकों में विभाजित किया जाता है जो अलग-अलग संकुचित होते हैं। क्वेरी समय पर केवल आधे ब्लॉक को औसतन डीकंप्रेस करने की आवश्यकता होगी। विसंपीड़न ओवरहेड के कारण, यह संस्करण क्लासिक ब्लूम निस्यंदक की तुलना में धीमा हो सकता है परन्तु इसकी भरपाई इस तथ्य से की जा सकती है कि एकल द्रुतान्वेषण फलन की गणना करने की आवश्यकता है।

क्लासिक ब्लूम निस्यंदक का एक अन्य विकल्प कोयल निस्यंदक है, जो कोयल द्रुतान्वेषणिंग के अंतरिक्ष-कुशल रूपों पर आधारित है। इस स्थिति में, एक द्रुतान्वेषण टेबल का निर्माण किया जाता है, जिसमें न तो कुंजियाँ होती हैं और न ही मान, परन्तु कुंजियों के छोटे अंगुलि छाप (छोटे द्रुतान्वेषण)। यदि कुंजी को देखने से मिलान करने वाला अंगुलि छाप मिलता है, तो कुंजी संभवतः समुच्चय में है। कोयल निस्यंदक की एक उपयोगी गुणधर्म यह है कि वे अद्यतन करने योग्य हैं; प्रविष्टियों को गतिशील रूप से जोड़ा जा सकता है (द्रुतान्वेषण तालिका पूर्ण होने के कारण विफलता की एक छोटी संभावना के साथ) और हटा दी गई।

xor निस्यंदक नामक एक दृष्टिकोण का वर्णन करता है, जहाँ वे एक विशेष प्रकार की सही द्रुतान्वेषण तालिका में अंगुलि छाप संग्रहीत करते हैं, एक निस्यंदक का निर्माण करते हैं जो अधिक मेमोरी कुशल है ($$1.23\log_2(1/\varepsilon)$$ द्वयंक प्रति कुंजी) और ब्लूम या कोयल निस्यंदक की तुलना में तीव्र। (समय की बचत इस तथ्य से होती है कि एक लुकअप के लिए बिल्कुल तीन मेमोरी एक्सेस की आवश्यकता होती है, जो सभी समानांतर में निष्पादित हो सकते हैं।) हालांकि, ब्लूम और कोयल निस्यंदक की तुलना में निस्यंदक निर्माण अधिक जटिल है, और निर्माण के बाद समुच्चय को संशोधित करना संभव नहीं है।

एक्सटेंशन और एप्लिकेशन
ब्लूम निस्यंदक के 60 से अधिक प्रकार हैं, क्षेत्र के कई सर्वेक्षण, और अनुप्रयोगों का एक सतत मंथन (देखें, उदाहरण के लिए, लुओ, एट अल ). मूल आंकड़े संरचना और उसके दर्शन के उल्लंघन या कांटे होने के लिए कुछ संस्करण मूल प्रस्ताव से पर्याप्त रूप से भिन्न हैं। यादृच्छिक अनुमान, कंप्रेसिव सेंसिंग और स्थानीयता संवेदनशील द्रुतान्वेषणिंग पर अन्य काम के साथ ब्लूम निस्यंदक को एकीकृत करने वाला एक उपचार किया जाना बाकी है (हालांकि दासगुप्ता, एट अल देखें) तंत्रिका विज्ञान से प्रेरित एक प्रयास के लिए)।

द्रुतिका निस्यंदकिंग
सामग्री वितरण संजाल बेहतर प्रदर्शन और विश्वसनीयता के साथ उपयोगकर्ताओं को द्रुतिका और वेब सामग्री प्रदान करने के लिए दुनिया भर में वेब द्रुतिका तैनात करते हैं। ब्लूम निस्यंदक का एक प्रमुख अनुप्रयोग यह है कि इन वेब द्रुतिका में कौन से वेब ऑब्जेक्ट को स्टोर करना है, यह कुशलतापूर्वक निर्धारित करने में उनका उपयोग होता है। एक विशिष्ट वेब द्रुतिका से एक्सेस किए गए लगभग तीन-चौथाई URL एक-हिट-चमत्कार हैं जो उपयोगकर्ताओं द्वारा केवल एक बार एक्सेस किए जाते हैं और फिर कभी नहीं। वेब द्रुतिका में वन-हिट-वंडर्स को स्टोर करने के लिए चक्रिका संसाधनों की स्पष्ट रूप से बर्बादी है, क्योंकि उन्हें फिर कभी एक्सेस नहीं किया जाएगा। वन-हिट-वंडर्स को द्रुतिकािंग से बचाने के लिए, उपयोगकर्ताओं द्वारा एक्सेस किए जाने वाले सभी URL का ट्रैक रखने के लिए ब्लूम निस्यंदक का उपयोग किया जाता है। एक वेब ऑब्जेक्ट को तभी द्रुतिका किया जाता है जब इसे कम से कम एक बार पहले एक्सेस किया गया हो, अर्थात ऑब्जेक्ट को उसके दूसरे अनुरोध पर द्रुतिका किया गया हो। इस तरीके से ब्लूम निस्यंदक का उपयोग चक्रिका राइट वर्कलोड को काफी कम कर देता है, क्योंकि अधिकांश वन-हिट-वंडर्स चक्रिका द्रुतिका में नहीं लिखे जाते हैं। इसके अतिरिक्त, वन-हिट-वंडर्स को निस्यंदक करने से चक्रिका पर द्रुतिका स्थान की बचत होती है, जिससे द्रुतिकाे हिट दर बढ़ जाती है।

एक परिमित ब्रह्मांड में मिथ्या सकारात्मकता से बचना
चुंबन एट अल ब्लूम निस्यंदक के लिए एक नए निर्माण का वर्णन किया गया है जो झूठे नकारात्मक के विशिष्ट गैर-अस्तित्व के अतिरिक्त मिथ्या सकारात्मकता से बचाता है। निर्माण एक परिमित ब्रह्मांड पर अनुप्रयुक्त होता है जिसमें से समुच्चय तत्व लिए जाते हैं। यह एपस्टीन, गुडरिक और हिर्शबर्ग द्वारा उपस्थिता गैर-अनुकूली संयोजी समूह परीक्षण योजना पर निर्भर करता है। विशिष्ट ब्लूम निस्यंदक के विपरीत, तत्वों को नियतात्मक, तीव्र और सरल-से-गणना कार्यों के माध्यम से एक द्वयंक सरणी में द्रुतान्वेषण किया जाता है। अधिकतम समुच्चय आकार जिसके लिए झूठे सकारात्मक से पूर्णतया से बचा जाता है, ब्रह्मांड के आकार का एक कार्य है और आवंटित स्मृति की मात्रा से नियंत्रित होता है।

वैकल्पिक रूप से, प्रारंभिक ब्लूम निस्यंदक मानक तरीके से बनाया जा सकता है और फिर, एक परिमित और ट्रैक्टेबल-गणनीय डोमेन के साथ, सभी झूठे सकारात्मकों को व्यापक रूप से पाया जा सकता है और फिर उस सूची से एक दूसरा ब्लूम निस्यंदक बनाया जा सकता है; दूसरे निस्यंदक में मिथ्या सकारात्मकताओं को इसी तरह तीसरे और इसी तरह से संभाला जाता है। जैसा कि ब्रह्मांड परिमित है और मिथ्या सकारात्मकता का समुच्चय प्रत्येक चरण के साथ सख्ती से सिकुड़ता है, इस प्रक्रिया के परिणामस्वरूप ब्लूम निस्यंदक का एक सीमित झरना होता है जो (इस बंद, परिमित डोमेन पर) केवल सच्चे सकारात्मक और सच्चे नकारात्मक का उत्पादन करेगा। निस्यंदक कैस्केड में सदस्यता की जाँच करने के लिए, प्रारंभिक निस्यंदक से पूछताछ की जाती है, और यदि परिणाम सकारात्मक होता है, तो दूसरे निस्यंदक से परामर्श किया जाता है, और इसी तरह। इस निर्माण का उपयोग CRLite में किया जाता है, वेब पीकेआई के लिए एक प्रस्तावित प्रमाणपत्र निरस्तीकरण स्थिति वितरण तंत्र, और उपस्थिता प्रमाणपत्रों के समुच्चय को बंद करने के लिए प्रमाणपत्र पारदर्शिता का उपयोग किया जाता है।

ब्लूम निस्यंदक की गणना
गणना निस्यंदक, ब्लूम निस्यंदक को नए सिरे से बनाए बिना डिलीट संचालन को अनुप्रयुक्त करने का एक तरीका प्रदान करते हैं। एक गणना निस्यंदक में, एरे पोजीशन (बाल्टी) को सिंगल द्वयंक से मल्टीद्वयंक काउंटर तक बढ़ाया जाता है। वास्तव में, नियमित ब्लूम निस्यंदक को एक द्वयंक के बकेट आकार के साथ गणना निस्यंदक के रूप में माना जा सकता है। गणना निस्यंदक किसके द्वारा प्रस्तुत किए गए थे.

इन्सर्ट संचालन को बकेट के मान को बढ़ाने के लिए बढ़ाया जाता है, और लुकअप संचालन यह जाँचता है कि प्रत्येक आवश्यक बकेट गैर-शून्य है। इसके बाद डिलीट संचालन में संबंधित बकेट में से प्रत्येक के मान को कम करना सम्मिलित है।

बाल्टियों का अंकगणितीय अतिप्रवाह एक समस्या है और इस स्थिति को दुर्लभ बनाने के लिए बाल्टियों को पर्याप्त रूप से बड़ा होना चाहिए। यदि ऐसा होता है तो ब्लूम निस्यंदक के गुणों को बनाए रखने के लिए वृद्धि और कमी के संचालन को बाल्टी समुच्चय को अधिकतम संभव मान पर छोड़ देना चाहिए।

काउंटरों का आकार सामान्यतः 3 या 4 द्वयंक होता है। इसलिए गणना ब्लूम निस्यंदक स्टैटिक ब्लूम निस्यंदक की तुलना में 3 से 4 गुना अधिक जगह का उपयोग करते हैं। इसके विपरीत, की आंकड़े संरचनाएं और  हटाने की अनुमति भी देता है परन्तु स्थिर ब्लूम निस्यंदक की तुलना में कम जगह का उपयोग करता है।

गणना निस्यंदक के साथ एक और मुद्दा सीमित मापनीयता है। क्‍योंकि गणना ब्‍लूम फिल्‍टर टेबल को विस्‍तारित नहीं किया जा सकता है, फिल्‍टर में एक साथ संग्रहित की जाने वाली चाबियों की अधिकतम संख्‍या पहले से ज्ञात होनी चाहिए। एक बार जब तालिका की डिज़ाइन की गई क्षमता पार हो जाती है, तो मिथ्या सकारात्मक दर तेजी से बढ़ेगी क्योंकि अधिक कुंजियाँ डाली जाती हैं।

ने डी-लेफ्ट द्रुतान्वेषणिंग पर आधारित एक आंकड़े संरचना प्रस्तुत की जो कार्यात्मक रूप से समतुल्य है परन्तु ब्लूम निस्यंदक की गणना के रूप में लगभग आधी जगह का उपयोग करती है। इस आंकड़े संरचना में स्केलेबिलिटी समस्या उत्पन्न नहीं होती है। एक बार डिज़ाइन की गई क्षमता पार हो जाने के बाद, कुंजियों को दोहरे आकार की एक नई द्रुतान्वेषण तालिका में फिर से डाला जा सकता है।

द्वारा अंतरिक्ष कुशल संस्करण सम्मिलन और विलोपन का समर्थन करके गणना निस्यंदक अनुप्रयुक्त करने के लिए भी उपयोग किया जा सकता है।

ने चर वृद्धि पर आधारित एक नया सामान्य तरीका प्रस्तुत किया, जो अभी भी विलोपन का समर्थन करते हुए, ब्लूम निस्यंदक और उनके भिन्नरूप की गणना की मिथ्या सकारात्मक संभावना में काफी सुधार करता है। ब्लूम निस्यंदक की गणना के विपरीत, प्रत्येक तत्व सम्मिलन पर, द्रुतान्वेषण किए गए काउंटरों को एक इकाई वृद्धि के बजाय एक द्रुतान्वेषण चर वृद्धि द्वारा बढ़ाया जाता है। किसी तत्व को क्वेरी करने के लिए, काउंटरों के सटीक मानों पर विचार किया जाता है, न कि केवल उनकी सकारात्मकता पर। यदि किसी काउंटर मान द्वारा दर्शाई गई राशि को क्वेरी किए गए तत्व के लिए संबंधित चर वृद्धि से नहीं बनाया जा सकता है, तो एक नकारात्मक उत्तर को क्वेरी में वापस किया जा सकता है।

किम एट अल। (2019) दिखाता है कि गणना ब्लूम निस्यंदक का फाल्स पॉजिटिव k=1 से परिभाषित बिंदु तक घटता है $$k_{opt}$$, और से बढ़ता है $$k_{opt}$$सकारात्मक अनंत तक, और पाता है $$k_{opt}$$गणना दहलीज के एक समारोह के रूप में।

विकेंद्रीकृत एकत्रीकरण
कुल कार्यों की पूर्णतया से विकेंद्रीकृत संगणना करने के लिए ब्लूम निस्यंदक को वितरित आंकड़े संरचनाओं में व्यवस्थित किया जा सकता है। विकेंद्रीकृत एकत्रीकरण इस उद्देश्य के लिए केंद्रीकृत कम्प्यूटेशनल इकाई को सम्मिलित किए बिना वितरित संजाल के प्रत्येक नोड में स्थानीय रूप से सामूहिक माप उपलब्ध कराता है।

वितरित ब्लूम निस्यंदक
साझा-कुछ नहीं वास्तुकला | पैरेलल शेयर्ड-नथिंग मशीनों में उपस्थित मल्टीपल प्रसंस्करण तत्व ्स (पीई) का लाभ उठाने के लिए समानांतर ब्लूम निस्यंदक अनुप्रयुक्त किए जा सकते हैं। समानांतर ब्लूम निस्यंदक के लिए मुख्य बाधाओं में से एक अनियंत्रित आंकड़े का संगठन और संचार है, जो सामान्य रूप से, शुरुआत में या बैच सम्मिलन पर सभी पीई पर समान रूप से वितरित किया जाता है। आंकड़े को ऑर्डर करने के लिए दो दृष्टिकोणों का उपयोग किया जा सकता है, या तो प्रत्येक पीई पर संग्रहीत किए जा रहे सभी आंकड़े पर ब्लूम निस्यंदक का परिणाम होता है, जिसे ब्लूम निस्यंदक की प्रतिकृति कहा जाता है, या ब्लूम निस्यंदक को सभी आंकड़े को समान भागों में विभाजित किया जाता है, प्रत्येक पीई इसका एक हिस्सा संग्रहीत करता है. दोनों दृष्टिकोणों के लिए एक सिंगल शॉट ब्लूम निस्यंदक का उपयोग किया जाता है जो संचार मात्रा को कम करने के लिए केवल एक द्रुतान्वेषण की गणना करता है, जिसके परिणामस्वरूप प्रति तत्व एक फ़्लिप द्वयंक होता है।

वितरित ब्लूम निस्यंदक पहले उनके स्थानीय पीई पर सभी तत्वों को द्रुतान्वेषण करके और फिर उन्हें स्थानीय स्तर पर द्रुतान्वेषण द्वारा सॉर्ट करके प्रारंभ किया जाता है। यह रैखिक समय में किया जा सकता है उदा। बाल्टी छँटाई और स्थानीय डुप्लिकेट डिटेक्शन की भी अनुमति देता है। छँटाई का उपयोग प्रत्येक समूह के लिए एक ब्लूम निस्यंदक बनाने के लिए विभाजक के रूप में उनके असाइन किए गए पीई के साथ द्रुतान्वेषण को समूहित करने के लिए किया जाता है। इन ब्लूम निस्यंदक को एनकोड करने के बाद उदा। गोलोम्ब कोडिंग प्रत्येक ब्लूम निस्यंदक को पीई को पैकेट के रूप में भेजा जाता है जो द्रुतान्वेषण मानों के लिए उत्तरदायी होता है जहां इसे डाला जाता है। एक पीई पी मूल्यों के मध्य सभी द्रुतान्वेषण के लिए उत्तरदायी है $$p*(s/|\text{PE}|)$$ और $$(p+1)*(s/|\text{PE}|)$$, जहां s सभी आंकड़े पर ब्लूम निस्यंदक का कुल आकार है। क्योंकि प्रत्येक तत्व केवल एक बार द्रुतान्वेषण किया जाता है और इसलिए केवल एक द्वयंक समुच्चय किया जाता है, यह जांचने के लिए कि क्या कोई तत्व ब्लूम निस्यंदक में डाला गया था, तत्व के द्रुतान्वेषण मान के लिए उत्तरदायी PE को ही संचालित करने की आवश्यकता है। सिंगल इंसर्शन ऑपरेशंस को कुशलता से भी किया जा सकता है क्योंकि ब्लूम निस्यंदक की नकल करने की तुलना में केवल एक पीई के ब्लूम निस्यंदक को बदलना पड़ता है, जहां प्रत्येक पीई को अपने ब्लूम निस्यंदक को अपडेट करना होगा। वैश्विक ब्लूम निस्यंदक को प्रत्येक पीई पर अलग से संग्रहीत करने के बजाय सभी पीई पर वितरित करके ब्लूम निस्यंदक का आकार बहुत बड़ा हो सकता है, जिसके परिणामस्वरूप बड़ी क्षमता और कम मिथ्या सकारात्मक दर होती है।

डुप्लिकेट डिटेक्शन कलन विधि को बेहतर बनाने के लिए वितरित ब्लूम निस्यंदक का उपयोग किया जा सकता है सबसे 'अद्वितीय' तत्वों को निस्यंदक करके। इनकी गणना केवल तत्वों के द्रुतान्वेषण को संप्रेषित करके की जा सकती है, न कि स्वयं उन तत्वों को जो मात्रा में बहुत बड़े हैं, और उन्हें समुच्चय से हटाकर, बाद में उपयोग किए जाने वाले डुप्लिकेट डिटेक्शन कलन विधि के कार्यभार को कम कर सकते हैं।

द्रुतान्वेषण के संचार के पर्यन्त पीई द्वयंक की खोज करते हैं जो एक से अधिक प्राप्त पैकेटों में समुच्चय होते हैं, क्योंकि इसका मतलब यह होगा कि दो तत्वों में एक ही द्रुतान्वेषण था और इसलिए डुप्लिकेट हो सकते हैं। यदि ऐसा होता है तो एक संदेश जिसमें द्वयंक का इंडेक्स होता है, जो उस तत्व का द्रुतान्वेषण भी होता है जो डुप्लिकेट हो सकता है, पीई को भेजा जाता है जिसने समुच्चय द्वयंक के साथ एक पैकेट भेजा था। यदि एक प्रेषक द्वारा एक ही पीई को कई सूचकांक भेजे जाते हैं तो सूचकांकों को भी एन्कोड करना फायदेमंद हो सकता है। सभी तत्व जिनके द्रुतान्वेषण को वापस नहीं भेजा गया था, अब गारंटी है कि वे डुप्लिकेट नहीं होंगे और आगे मूल्यांकन नहीं किया जाएगा, शेष तत्वों के लिए एक पुनर्विभाजन कलन विधि इस्तेमाल किया जा सकता है। पहले वे सभी तत्व जिनका द्रुतान्वेषण मान वापस भेजा गया था, पीई को भेजे जाते हैं, जिसके लिए उनका द्रुतान्वेषण उत्तरदायी है। कोई भी तत्व और उसका डुप्लिकेट अब उसी पीई पर होने की गारंटी है। दूसरे चरण में प्रत्येक पीई प्राप्त तत्वों पर डुप्लिकेट पहचान के लिए अनुक्रमिक कलन विधि का उपयोग करता है, जो प्रारंभिक तत्वों की मात्रा का केवल एक अंश है। डुप्लिकेट के लिए मिथ्या सकारात्मक दर की अनुमति देकर, संचार की मात्रा को और कम किया जा सकता है क्योंकि पीई को डुप्लिकेट द्रुतान्वेषण वाले तत्वों को भेजने की ज़रूरत नहीं है और इसके बजाय डुप्लिकेट द्रुतान्वेषण वाले किसी भी तत्व को डुप्लिकेट के रूप में चिह्नित किया जा सकता है। नतीजतन, डुप्लिकेट डिटेक्शन के लिए मिथ्या सकारात्मक दर प्रयुक्त ब्लूम निस्यंदक की मिथ्या सकारात्मक दर के समान होती है।

प्रत्येक निस्यंदकिंग चरण में द्रुतान्वेषण फलन को बदलकर सबसे 'अद्वितीय' तत्वों को निस्यंदक करने की प्रक्रिया को कई बार दोहराया जा सकता है। यदि केवल एक निस्यंदकिंग चरण का उपयोग किया जाता है, तो उसे एक छोटी मिथ्या सकारात्मक दर संग्रहित करनी होती है, हालाँकि यदि निस्यंदकिंग चरण को एक बार दोहराया जाता है, तो पहला चरण एक उच्च मिथ्या सकारात्मक दर की अनुमति दे सकता है, जबकि बाद वाले के पास उच्च होता है, परन्तु कम तत्वों पर भी काम करता है। जितने पहले के निस्यंदकिंग चरण द्वारा पहले ही हटा दिए गए हैं। जबकि दो से अधिक पुनरावृत्तियों का उपयोग संचार की मात्रा को और कम कर सकता है यदि एक समुच्चय में डुप्लिकेट की संख्या कम है, तो अतिरिक्त जटिलताओं के लिए भुगतान कम है।

ब्लूम निस्यंदक की नकल करने वाले अपने आंकड़े को गॉसिपिंग के लिए एक प्रसिद्ध अतिविम  कलन विधि का उपयोग करके व्यवस्थित करते हैं, उदा। पहले प्रत्येक पीई सभी स्थानीय तत्वों पर ब्लूम निस्यंदक की गणना करता है और इसे संग्रहीत करता है। एक लूप को दोहराते हुए जहां प्रत्येक चरण में पीई अपने स्थानीय ब्लूम निस्यंदक को डायमेंशन i पर भेजते हैं और ब्लूम निस्यंदक को अपने स्थानीय ब्लूम निस्यंदक के साथ डायमेंशन पर प्राप्त करते हैं, प्रत्येक पुनरावृत्ति में प्रत्येक ब्लूम निस्यंदक में सम्मिलित तत्वों को दोगुना करना संभव है। ब्लूम निस्यंदक भेजने और प्राप्त करने के बाद $$\log |\text{PE}|$$ आयाम प्रत्येक पीई में सभी तत्वों पर वैश्विक ब्लूम निस्यंदक होता है।

ब्लूम निस्यंदक की प्रतिकृति तब अधिक कुशल होती है जब प्रश्नों की संख्या ब्लूम निस्यंदक में सम्मिलित तत्वों की संख्या से बहुत अधिक होती है, वितरित ब्लूम निस्यंदक की तुलना में ब्रेक ईवन बिंदु लगभग बाद में होता है $$|\text{PE}| * |\text{Elements}| / \log_{f^\text{+}} |\text{PE}|$$ पहुँचता है, के साथ $$f^\text{+}$$ ब्लूम निस्यंदक की मिथ्या सकारात्मक दर के रूप में।

आंकड़े तुल्यकालन
ब्लूम निस्यंदक का उपयोग अनुमानित आंकड़े तुल्यकालन के लिए किया जा सकता है. गणना ब्लूम निस्यंदक का उपयोग दो समुच्चयों के मध्य अंतर की संख्या का अनुमान लगाने के लिए किया जा सकता है और इस दृष्टिकोण का वर्णन में किया गया है.

स्ट्रीमिंग आंकड़े के लिए ब्लूम निस्यंदक
ब्लूम निस्यंदक को स्ट्रीमिंग आंकड़े के संदर्भ में अनुकूलित किया जा सकता है। उदाहरण के लिए, प्रस्तावित स्थिर ब्लूम निस्यंदक, जिसमें एक गणना ब्लूम निस्यंदक होता है, जहाँ एक नए तत्व का सम्मिलन संबंधित काउंटरों को एक मान पर समुच्चय करता है $m$, और उसके बाद केवल एक निश्चित राशि $c$ काउंटर 1 से कम हो जाते हैं, इसलिए मेमोरी में ज्यादातर हाल के तत्वों के बारे में जानकारी होती है (सहजता से, कोई यह मान सकता है कि एसबीएफ के अंदर एक तत्व का जीवनकाल $s$ काउंटर आसपास है $$c \tfrac s N$$). एजिंग ब्लूम निस्यंदक एक अन्य समाधान है, जिसमें दो ब्लूम निस्यंदक होते हैं, जिनमें से प्रत्येक कुल उपलब्ध मेमोरी का आधा हिस्सा घेरता है: जब एक निस्यंदक भर जाता है, तो दूसरा निस्यंदक मिटा दिया जाता है और नए तत्वों को इस नए अपूरित निस्यंदक में जोड़ दिया जाता है। हालाँकि, दिखाया गया है निस्यंदक के बाद कोई फर्क नहीं पड़ता $N$ सम्मिलन, मिथ्या सकारात्मक का योग $$FP$$ और झूठा नकारात्मक $$FN$$ संभावनाओं से नीचे घिरा है $\scriptstyle FP + FN \geq 1 - \frac{1 - \left(1 - \frac {1}{L} \right)^m}{1 - \left( 1 - \frac {1}{L} \right)^{n}}$ कहाँ $n$ सभी संभावित तत्वों की मात्रा है (वर्णमाला का आकार), $L$ स्मृति आकार (द्वयंक में), मानते हुए $$n > m$$. यह परिणाम दर्शाता है कि के लिए $m$ काफी बड़ा और $L$ अनंत तक जा रहा है, फिर निचली सीमा में परिवर्तित हो जाता है $$FP + FN = 1$$, जो एक यादृच्छिक निस्यंदक का विशिष्ट संबंध है। इसलिए, पर्याप्त सम्मिलन के बाद, और यदि स्मृति में संग्रहीत करने के लिए वर्णमाला बहुत बड़ी है (जो कि संभाव्य निस्यंदक के संदर्भ में माना जाता है), निस्यंदक के लिए यादृच्छिकता से बेहतर प्रदर्शन करना असंभव है। इस परिणाम को पूरी धारा के बजाय केवल एक स्लाइडिंग विंडो पर संचालित करने के लिए निस्यंदक की अपेक्षा करके लीवरेज किया जा सकता है। इस स्थिति में, प्रतिपादक n}उपरोक्त सूत्र में } द्वारा प्रतिस्थापित किया गया है $n$, जो एक सूत्र देता है जो 1 से विचलित हो सकता है, यदि $w$ बहुत छोटा नहीं है।

ब्लूमियर निस्यंदक
ने ब्लूम निस्यंदक का एक सामान्यीकरण तैयार किया है जो एक साहचर्य सरणी को अनुप्रयुक्त करते हुए, सम्मिलित किए गए प्रत्येक तत्व के साथ एक मान को जोड़ सकता है। ब्लूम निस्यंदक की तरह, ये संरचनाएं मिथ्या सकारात्मकता की एक छोटी संभावना को स्वीकार करके एक छोटी सी जगह ओवरहेड प्राप्त करती हैं। ब्लूमियर निस्यंदक के स्थिति में, एक मिथ्या सकारात्मक को एक परिणाम के रूप में परिभाषित किया जाता है जब कुंजी मानचित्र में नहीं होती है। मानचित्र में उपस्थित कुंजी के लिए मानचित्र कभी भी गलत मान नहीं लौटाएगा।

<!-- too wordy for an alternative to the article topic. commented out in case someone wants to move it to a new article. The simplest Bloomier filter is near-optimal and fairly simple to describe. Suppose initially that the only possible values are 0 and 1. We create a pair of Bloom filters A0 and B0 which contain, respectively, all keys mapping to 0 and all keys mapping to 1. Then, to determine which value a given key maps to, we look it up in both filters. If it is in neither, then the key is not in the map. If the key is in A0 but not B0, then it does not map to 1, and has a high probability of mapping to 0. Conversely, if the key is in B0 but not A0, then it does not map to 0 and has a high probability of mapping to 1.

A problem arises, however, when both filters claim to contain the key. We never insert a key into both, so one or both of the filters is lying (producing a false positive), but we don't know which. To determine this, we have another, smaller pair of filters A1 and B1. A1 contains keys that map to 0 and which are false positives in B0; B1 contains keys that map to 1 and which are false positives in A0. But whenever A0 and B0 both produce positives, at most one of these cases must occur, and so we simply have to determine which if any of the two filters A1 and B1 contains the key, another instance of our original problem.

It may so happen again that both filters produce a positive; we apply the same idea recursively to solve this problem. Because each pair of filters only contains keys that are in the map and produced false positives on all previous filter pairs, the number of keys is extremely likely to quickly drop to a very small quantity that can be easily stored in an ordinary deterministic map, such as a pair of small arrays with linear search. Moreover, the average total search time is low, because almost all queries will be resolved by the first pair, almost all remaining queries by the second pair, and so on. The total space required is in practice independent of n, and is almost entirely occupied by the first filter pair.

Now that we have the structure and a search algorithm, we also need to know how to insert new key/value pairs. The program must not attempt to insert the same key with both values. If the value is 0, insert the key into A0 and then test if the key is in B0. If so, this is a false positive for B0, and the key must also be inserted into A1 recursively in the same manner. If we reach the last level, we simply insert it. When the value is 1, the operation is similar but with A and B reversed.

Now that we can map a key to the value 0 or 1, how does this help us map to general values? This is simple. We create a single such Bloomier filter for each bit of the result. If the values are large, we can instead map keys to hash values that can be used to retrieve the actual values. The space required for a Bloomier filter with n-bit values is typically slightly more than the space for 2n Bloom filters.

A very simple way to implement Bloomier filters is by means of minimal perfect hashing. A minimal perfect hash function h is first generated for the set of n keys. Then an array is filled with n pairs (signature,value) associated with each key at the positions given by function h when applied on each key. The signature of a key is a string of r bits computed by applying a hash function g of range $$2^r$$ on the key. The value of r is chosen such that $$2^r>=1/\varepsilon$$, where $$\varepsilon$$ is the requested false positive rate. To query for a given key, hash function h is first applied on the key. This will give a position into the array from which we retrieve a pair (signature,value). Then we compute the signature of the key using function g. If the computed signature is the same as retrieved signature we return the retrieved value. The probability of false positive is $$1/2^r$$.

Another alternative to implement static Bloomier and Bloom filters based on matrix solving has been simultaneously proposed in, and. The space usage of this method is optimal as it needs only $$\log_2(\varepsilon)$$ bits per key for a Bloom filter. However time to generate the Bloom or Bloomier filter can be very high. The generation time can be reduced to a reasonable value at the price of a small increase in space usage.

Dynamic Bloomier filters have been studied by. They proved that any dynamic Bloomier filter needs at least around $$\log(l)$$ bits per key where l is the length of the key. A simple dynamic version of Bloomier filters can be implemented using two dynamic data structures. Let the two data structures be noted S1 and S2. S1 will store keys with their associated data while S2 will only store signatures of keys with their associated data. Those signatures are simply hash values of keys in the range $$[0,n/\varepsilon]$$ where n is the maximal number of keys to be stored in the Bloomier filter and $$\varepsilon$$ is the requested false positive rate. To insert a key in the Bloomier filter, its hash value is first computed. Then the algorithm checks if a key with the same hash value already exists in S2. If this is not the case, the hash value is inserted in S2 along with data associated with the key. If the same hash value already exists in S2 then the key is inserted into S1 along with its associated data. The deletion is symmetric: if the key already exists in S1 it will be deleted from there, otherwise the hash value associated with the key is deleted from S2. An issue with this algorithm is on how to store efficiently S1 and S2. For S1 any hash algorithm can be used. To store S2 golomb coding could be applied to compress signatures to use a space close to $$\log2(1/\varepsilon)$$ per key. -->

कॉम्पैक्ट सन्निकटन
ने ब्लूम निस्यंदक के जाली (आदेश) आधारित सामान्यीकरण का प्रस्ताव रखा। एक कॉम्पैक्ट सन्निकटन प्रत्येक कुंजी को एक जाली के एक तत्व से जोड़ता है (मानक ब्लूम निस्यंदक बूलियन दो-तत्व जाली का मामला है)। द्वयंक सरणी के बजाय, उनके पास जाली तत्वों की सरणी होती है। कुंजी और जाली के एक तत्व के मध्य एक नया जुड़ाव जोड़ते समय, वे जाली तत्व के साथ कुंजी से जुड़े k सरणी स्थानों की वर्तमान सामग्री की अधिकतम गणना करते हैं। किसी कुंजी से संबद्ध मान को पढ़ते समय, वे कुंजी से संबद्ध k स्थानों में पाए जाने वाले न्यूनतम मानों की गणना करते हैं। परिणामी मान मूल मान के ऊपर से अनुमानित होता है।

समानांतर विभाजित ब्लूम निस्यंदक
यह कार्यान्वयन प्रत्येक द्रुतान्वेषण फलन के लिए एक अलग सरणी का उपयोग करता है। यह विधि सम्मिलन और पूछताछ दोनों के लिए समांतर द्रुतान्वेषण गणनाओं की अनुमति देती है।

मापनीय ब्लूम निस्यंदक
ने ब्लूम निस्यंदक का एक प्रकार प्रस्तावित किया जो न्यूनतम मिथ्या सकारात्मक संभावना सुनिश्चित करते हुए गतिशील रूप से संग्रहीत तत्वों की संख्या के अनुकूल हो सकता है। यह प्रविधि बढ़ती क्षमता और कड़ी मिथ्या सकारात्मक संभावनाओं के साथ मानक ब्लूम निस्यंदक के अनुक्रम पर आधारित है, ताकि यह सुनिश्चित किया जा सके कि सम्मिलित किए जाने वाले तत्वों की संख्या की परवाह किए बिना अधिकतम मिथ्या सकारात्मक संभावना पहले से निर्धारित की जा सकती है।

स्थानिक ब्लूम निस्यंदक
स्थानिक ब्लूम निस्यंदक (एसबीएफ) मूल रूप से किसके द्वारा प्रस्तावित किया गया था? विशेष रूप से स्थान सूचना गोपनीयता के लिए क्रिप्टोग्राफ़िक प्रोटोकॉल के संदर्भ में स्थान जानकारी संग्रहीत करने के लिए डिज़ाइन की गई आंकड़े संरचना के रूप में। हालांकि, एसबीएफ की मुख्य विशेषता एक ही आंकड़े संरचना में कई समुच्चयों को स्टोर करने की उनकी क्षमता है, जो उन्हें कई अलग-अलग एप्लिकेशन परिदृश्यों के लिए उपयुक्त बनाती है। एक विशिष्ट समुच्चय के लिए एक तत्व की सदस्यता को पूछताछ की जा सकती है, और मिथ्या सकारात्मक संभावना समुच्चय पर निर्भर करती है: निर्माण के पर्यन्त निस्यंदक में दर्ज किए जाने वाले पहले समुच्चयों में अंत में दर्ज किए गए समुच्चयों की तुलना में उच्च मिथ्या सकारात्मक संभावनाएं होती हैं। यह गुणधर्म समुच्चय की प्राथमिकता की अनुमति देती है, जहां अधिक महत्वपूर्ण तत्वों वाले समुच्चय को संरक्षित किया जा सकता है।

स्तरित ब्लूम निस्यंदक
एक स्तरित ब्लूम निस्यंदक में कई ब्लूम निस्यंदक परतें होती हैं। स्तरित ब्लूम निस्यंदक यह जाँचने की अनुमति देता है कि कितनी बार पद में कितनी परतें हैं, यह जाँच कर ब्लूम निस्यंदक में एक पद को कितनी बार जोड़ा गया था। एक स्तरित ब्लूम निस्यंदक के साथ एक चेक संचालन सामान्य रूप से सबसे गहरी परत संख्या लौटाएगा जिसमें पद पाया गया था।

{{Anchor|ATTENUATED}क्षीणित ब्लूम निस्यंदक
गहराई डी के एक दुर्बल ब्लूम निस्यंदक को डी सामान्य ब्लूम निस्यंदक की एक सरणी के रूप में देखा जा सकता है। एक संजाल में सेवा की खोज के संदर्भ में, प्रत्येक नोड स्थानीय रूप से नियमित और क्षीण ब्लूम निस्यंदक को संग्रहीत करता है। नियमित या स्थानीय ब्लूम निस्यंदक इंगित करता है कि नोड द्वारा कौन सी सेवाएं प्रदान की जाती हैं। स्तर I का क्षीणित निस्यंदक इंगित करता है कि कौन सी सेवाएँ उन नोड्स पर पाई जा सकती हैं जो वर्तमान नोड से i-hops दूर हैं। i-th मान नोड से दूर i-hops नोड्स के लिए स्थानीय ब्लूम निस्यंदक का एक संघ लेकर बनाया गया है।

आइए एक उदाहरण के रूप में नीचे दिए गए ग्राफ़ पर दिखाए गए एक छोटे से संजाल को लें। कहते हैं कि हम एक सेवा A की खोज कर रहे हैं जिसकी आईडी 0,1, और 3 (प्रतिरूप 11010) द्वयंक के लिए द्रुतान्वेषण है। n1 नोड को प्रारंभिक बिंदु होने दें। सबसे पहले, हम जाँचते हैं कि सेवा A को n1 द्वारा उसके स्थानीय निस्यंदक की जाँच करके प्रस्तुत किया जाता है या नहीं। चूंकि प्रतिरूप मेल नहीं खाते हैं, इसलिए हम यह निर्धारित करने के लिए दुर्बल ब्लूम निस्यंदक की जांच करते हैं कि अगला हॉप कौन सा नोड होना चाहिए। हम देखते हैं कि n2 सेवा A की प्रस्तुति नहीं करता है, परन्तु यह करने वाले नोड्स के रास्ते पर है। इसलिए, हम n2 पर जाते हैं और उसी प्रक्रिया को दोहराते हैं। हम जल्दी से पाते हैं कि n3 सेवा प्रदान करता है, और इसलिए गंतव्य स्थित है।

कई परतों वाले क्षीणित ब्लूम निस्यंदक का उपयोग करके, एक से अधिक हॉप दूरी पर सेवाओं की खोज की जा सकती है, जबकि ब्लूम निस्यंदक की संतृप्ति से बचने के लिए स्रोतों द्वारा निर्धारित द्वयंक को क्षीण (स्थानांतरित) करके दूर किया जा सकता है।

रासायनिक संरचना की खोज
ब्लूम निस्यंदक का उपयोग प्रायः बड़े रासायनिक संरचना आंकड़ाकोष (रासायनिक समानता देखें) को खोजने के लिए किया जाता है। सबसे सरल स्थिति में, निस्यंदक में जोड़े गए तत्व (इस क्षेत्र में एक अंगुलि छाप कहा जाता है) अणु में उपस्थित परमाणु संख्याएं हैं, या प्रत्येक परमाणु की परमाणु संख्या और उसके बंधनों की संख्या और प्रकार के आधार पर एक द्रुतान्वेषण है। उपयोगी होने के लिए यह स्थिति बहुत सरल है। अधिकांश उन्नत निस्यंदक भी परमाणु की संख्या, कार्बोक्सिल समूहों जैसे बड़े उप-संरचना सुविधाओं और वलय की संख्या जैसे आलेख गुणों को कूटबद्ध करते हैं। द्रुतान्वेषण-आधारित अंगुलि छाप में, परमाणु और परिबंध गुणों पर आधारित एक द्रुतान्वेषण फलन का उपयोग एक उप-आलेख को पीआरएनजी मूल में परिवर्तित करने के लिए किया जाता है और ब्लूम निस्यंदक में द्वयंक व्यवस्थित करने के लिए पहले निर्गत मान का उपयोग किया जाता है।

आणविक अंगुलि छापों के निशान 1940 के दशक के अंत में छिद्रित पत्रकों पर खोजी गई रासायनिक संरचनाओं की खोज के रूप में प्रारंभ हुए। हालांकि, 1990 के आसपास ऐसा नहीं था कि सूर्य का प्रकाश केमिकल इंफॉर्मेशन सिस्टम्स, इंक. ने पूर्व संगणित तालिका का उपयोग करने के बजाय द्वयंक उत्पन्न करने के लिए एक द्रुतान्वेषण-आधारित पद्धति की शुरुआत की। शब्दकोष दृष्टिकोण के विपरीत, द्रुतान्वेषण विधि उप-संरचनाओं के लिए द्वयंक निर्दिष्ट कर सकती है जो पहले नहीं देखी गई थी। 1990 के दशक की प्रारम्भ में, अंगुलि छाप शब्द को संरचनात्मक कुंजी से अलग माना जाता था, परन्तु तब से यह शब्द अधिकांश आणविक विशेषताओं को सम्मिलित करने के लिए विकसित हो गया है, जिसका उपयोग संरचनात्मक कुंजी, विरल गणना अंगुलि छाप और 3D अंगुलि छाप सहित समानता तुलना के लिए किया जा सकता है। ब्लूम निस्यंदक के विपरीत, सूर्य का प्रकाश द्रुतान्वेषण विधि सुविधा आकार के एक फलन होने के लिए प्रति सुविधा निर्दिष्ट द्वयंक की संख्या की अनुमति देती है, परन्तु सूर्य का प्रकाश-जैसे अंगुलि छाप के अधिकांश कार्यान्वयन प्रति सुविधा द्वयंक की एक निश्चित संख्या का उपयोग करते हैं, जो उन्हें ब्लूम निस्यंदक बनाता है। मूल सूर्य का प्रकाश अंगुलि छाप का उपयोग समानता और पृथक्करण उद्देश्यों दोनों के लिए किया जा सकता है। लोकप्रिय ECFP2 जैसे कई अन्य अंगुलि छाप प्रकारों का उपयोग समानता के लिए किया जा सकता है, परन्तु पृथक्करण के लिए नहीं, क्योंकि उनमें स्थानीय पर्यावरणीय विशेषताएँ सम्मिलित होती हैं, जो स्क्रीन के रूप में उपयोग किए जाने पर गलत नकारात्मक प्रस्तुत करती हैं। भले ही इनका निर्माण एक ही तंत्र के साथ किया गया हो, ये ब्लूम निस्यंदक नहीं हैं क्योंकि इन्हें निस्यंदक करने के लिए उपयोग नहीं किया जा सकता है।

यह भी देखें

 * गणना-लघुत्तम रेखांकन
 * अभिलक्षण द्रुतान्वेषण
 * लघुत्तम द्रुतान्वेषण
 * भागफल निस्यंदक
 * लुप्ति सूची
 * जैव सूचना विज्ञान में ब्लूम निस्यंदक
 * सारंग निस्यंदक

संदर्भ

 * . Open source implementation available on github.
 * . A preliminary version appeared at SIGCOMM '98.
 * . Open source implementation available on github.
 * . A preliminary version appeared at SIGCOMM '98.
 * . Open source implementation available on github.
 * . A preliminary version appeared at SIGCOMM '98.
 * . Open source implementation available on github.
 * . A preliminary version appeared at SIGCOMM '98.
 * . Open source implementation available on github.
 * . A preliminary version appeared at SIGCOMM '98.
 * . Open source implementation available on github.
 * . A preliminary version appeared at SIGCOMM '98.
 * . Open source implementation available on github.
 * . A preliminary version appeared at SIGCOMM '98.
 * . Open source implementation available on github.
 * . A preliminary version appeared at SIGCOMM '98.
 * . Open source implementation available on github.
 * . A preliminary version appeared at SIGCOMM '98.
 * . Open source implementation available on github.
 * . A preliminary version appeared at SIGCOMM '98.
 * . Open source implementation available on github.
 * . A preliminary version appeared at SIGCOMM '98.
 * . Open source implementation available on github.
 * . A preliminary version appeared at SIGCOMM '98.


 * . Prototype implementation available on github.
 * . Prototype implementation available on github.
 * . Prototype implementation available on github.
 * . Prototype implementation available on github.
 * . Prototype implementation available on github.
 * . Prototype implementation available on github.
 * . Prototype implementation available on github.
 * . Prototype implementation available on github.
 * . Prototype implementation available on github.
 * . Prototype implementation available on github.
 * . Prototype implementation available on github.

बाहरी संबंध

 * "Using Bloom Filters" Detailed Bloom Filter explanation using Perl
 * Why Bloom filters work the way they do (Michael Nielsen, 2012)
 * Bloom Filters — A Tutorial, Analysis, and Survey (Blustein & El-Maazawi, 2002) at Dalhousie University
 * Table of false-positive rates for different configurations from a University of Wisconsin–Madison website
 * "More Optimal Bloom Filters", Ely Porat (Nov/2007) Google TechTalk video on YouTube