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