- মাল্টিপল চয়েস হ্যাশিং নাম পেয়েছে কারণ এটি একাধিক হ্যাশ ফাংশন বাস্তবায়ন করে।
- হাই লেভেলে, যখন একাধিক হ্যাশ ফাংশন থাকে, প্রতিটি আইটেম একাধিক বাকেটে ম্যাপ করা হয় এবং তাই অ্যালগরিদম ডিজাইনার স্বাধীনতা পায় সিলেক্ট করতে সেগুলোর মধ্যে কোনটিতে আইটেমটি থাকবে।
- এটি প্রমাণিত হয়েছে যে এই স্বাধীনতা এমন অ্যালগরিদমের অনুমতি দেয় যারা অ্যালোকেশন প্রোডিউস করে যা অনেক বেশি ব্যালেন্সড একটি সিঙ্গেল হ্যাশ ফাংশন বাস্তবায়ন করার চেয়ে।
- আমরা মূল অ্যালগরিদমিক আইডিয়া এবং মূল ম্যাথেম্যাটিক্যাল টুলস প্রেজেন্ট করব যেগুলো এই অ্যালগরিদমগুলো যেন প্রোডিউস করে সে অ্যালোকেশনের ওপর বাউন্ড প্রুভ করতে বাস্তবায়িত হয়।
- আমরা দেখব যে অ্যানালিসিস যথেষ্ট পাওয়ারফুল বেসিক মডেলের ভ্যারিয়েশন সহন করতে যা আমাদের ভিউতে এই অ্যালগরিদমগুলোর ইফেক্টিভনেস প্র্যাকটিক্যাল অ্যাপ্লিকেশনে ব্যাখ্যা করে।
মাল্টিপল চয়েস হ্যাশিং-এর অ্যালগরিদম বอลস-ইন্টু-বিন্স মডেলের উদাহরণ সাইট করে ব্যাখ্যা করা হয়েছে
- লোড ব্যালেন্সিং প্রসেস সম্পর্কে রিজনিং-এর একটি কমন ফ্রেমওয়ার্ক হলো 'বলস' এবং 'বিন্স' যেখানে ডিমান্ড (কী, প্রসেস, ফাইল ইত্যাদি) 'বলস' দ্বারা রিপ্রেজেন্ট করা হয় এবং রিসোর্সের সাপ্লাই (টেবিল স্লট, সার্ভার, স্টোরেজ ইউনিট ইত্যাদি) 'বিন্স' দ্বারা রিপ্রেজেন্ট করা হয়।
- এই সেটিং-এ m নম্বর বলস n বিনসে সিকুয়েনশিয়ালি থ্রো করা হয় কিছু অ্যালোকেশন রুল বাস্তবায়ন করে।
- টার্গেট হলো বিনসে বলসের অ্যালোকেশন বুঝতে প্রসেস কমপ্লিশনের পর, সাধারণত বাউন্ডিং দ্য লোড (=নম্বর অফ বলস) ইন দ্য ম্যাক্সিমাম লোডেড বিন।
- এই মডেল অনুযায়ী বিনসে বলস অ্যাসাইন করা হয় এক বা অধিক হ্যাশ ফাংশন অ্যাপ্লাই করে।
- এই হ্যাশ ফাংশনগুলো রেসপোনসিবল একটি বলস ইউনিক আইডি (টিপিক্যালি ইমপ্লিসিট ইন দ্য মডেল) मैপ করতে বিনসের সেটে, টিপিক্যালি নম্বর ১...n।
- একটি হ্যাশ ফাংশন ব্যবহার করে একটি বিনকে একটি বলসে ম্যাপ করা, সিম্পলি একটি বিন র্যান্ডমলি ড্র করার বদলে, কমন কেসে উপযোগী যেখানে পরবর্তী কোনো সময়, একটি বলসের লোকেশন রিকভার করতে হয় এর আইডি থেকে।