रेखीय जांच के लिए 5-स्वतंत्र हैश फ़ंक्शन का पुन: उपयोग करना


14

हेश तालिकाओं में रैखिक परिवीक्षा द्वारा टकराव को हल करने के लिए, अपेक्षित प्रदर्शन सुनिश्चित करने के लिए , यह आवश्यक और पर्याप्त दोनों है कि हैश फ़ंक्शन 5-स्वतंत्र परिवार से हो। (पर्याप्तता: "निरंतर स्वतंत्रता के साथ रेखीय जांच", पग एट अल। , आवश्यकता: "रैखिक स्वतंत्रता और न्यूनतम स्वतंत्रता द्वारा आवश्यक स्वतंत्रता पर", Pătraşcu और थोरुप )O(1)

यह मेरी समझ है कि सबसे तेजी से ज्ञात 5-स्वतंत्र परिवार सारणीकरण का उपयोग करते हैं। इस तरह के परिवार से एक समारोह लेना महंगा हो सकता है, इसलिए मैं एल्गोरिथम जटिलता जटिलता को रोकने के दौरान बार-बार ऐसा करने की संख्या को कम करना चाहूंगा, जैसा कि क्रॉस्बी और वलाक के "डायनियल ऑफ़ सर्विस ऑफ़ अल्गोरिथमिक कॉम्प्लेक्सिटी अटैक्स" में वर्णित है । मैं समय के हमलों (यानी स्टॉपवॉच के साथ प्रतिकूल) के बारे में कम चिंतित हूं। समान कार्य के पुन: उपयोग के परिणाम क्या हैं:

  1. जब एक हैश तालिका बढ़ रही है जो बहुत भरी हुई है?
  2. जब एक हैश तालिका सिकुड़ रही है जो पर्याप्त नहीं है?
  3. जब एक हैश तालिका का पुनर्निर्माण किया जाता है जिसमें बहुत सारे "हटाए गए" बिट सेट होते हैं?
  4. में अलग हैश तालिकाओं कि आम में कुछ सुझाव दिए गए हो सकती है?k
  5. में अलग हैश तालिकाओं कि आम में कोई भी कुंजी शामिल?k

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

मुझे लगता है कि SipHash-2-4 जैसे छोटे इनपुट पर भी तेजी से क्रिप्टोग्राफिक हैश फ़ंक्शन पॉलीओनियल का उपयोग करके 5-स्वतंत्र परिवारों की तुलना में बहुत धीमी गति से हैं।
जबपल

जवाबों:


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.