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

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

ब्लूम ने उन अनुप्रयोगों के लिए प्रविधि प्रस्तावित की जहां "पारंपरिक" त्रुटि मुक्त द्रुतान्वेषण प्रविधियों को अनुप्रयुक्त करने पर स्रोत प्रदत्त की मात्रा में अव्यावहारिक रूप से बड़ी मात्रा में मेमोरी की आवश्यकता होगी। उन्होंने 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$ के लिए, मिथ्या सकारात्मक दर में नगण्य वृद्धि के साथ द्रुतान्वेषण फलनों के मध्य स्वतंत्रता को शिथिल कर दिया जा सकता है। (विशेष रूप से, डिलिंगर और मैनोलिओस (2004बी) उन्नत द्विक द्रुतान्वेषण और त्रिक द्रुतान्वेषण का उपयोग करके, $k$ सूचकांकों को प्राप्त करने की प्रभावशीलता दर्शाते हैं, द्विक द्रुतान्वेषण के भिन्नरूप जो प्रभावी रूप से दो या तीन द्रुतान्वेषण मानों के साथ प्रभावी रूप से सरल यादृच्छिक संख्या जनक हैं)।

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

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

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

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

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

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

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

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

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

हम e−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}.$$

यदि हमने n तत्व अन्तर्निविष्ट हैं, संभाव्यता है कि एक निश्चित द्वयंक अभी भी 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$$ पर व्यवस्थित करते हैं। इसके अतिरिक्त, q का अपेक्षित मान संभाव्यता है कि दी गई सरणी स्थिति प्रत्येक n पद के लिए प्रत्येक k द्रुतान्वेषण फलन से छूटी हुई है, जो (ऊपर के रूप में) है।
 * $$E[q] = \left(1 - \frac{1}{m}\right)^{kn}$$.

यह सिद्ध करना संभव है कि स्वतंत्रता की धारणा के बिना, q अपने अपेक्षित मान के आसपास बहुत दृढ़ता से केंद्रित है। विशेष रूप से, अज़ुमा-होफ़डिंग असमानता से, वे सिद्ध करते हैं कि
 * $$ \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 की संख्या, एक धनात्मक पूर्णांक होना चाहिए। इस बाधा को एक तरफ रखते हुए, किसी दिए गए m और n के लिए, 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