ব্লুম ফিল্টার হ্যাশ: আরও বেশি বড়?


15

একটি ব্লুম ফিল্টার বাস্তবায়নের ক্ষেত্রে, traditionalতিহ্যবাহী পদ্ধতির একাধিক স্বতন্ত্র হ্যাশ ফাংশনগুলির জন্য কল করা হয়। কির্শ এবং মিতজেনমাচার দেখিয়েছে যে আপনার আসলে দুটি মাত্র দরকার এবং এর বাকিগুলি রৈখিক সংমিশ্রণ হিসাবে তৈরি করতে পারেন।

আমার প্রশ্ন: সত্যই, দুটি হ্যাশ ফাংশন এবং দ্বিগুণ এনট্রপির সাথে একটির মধ্যে পার্থক্য কী?

এটি আপনার হ্যাশ ফাংশনগুলির আউটপুট নিয়ে আপনি আসলে কী করছেন তা দেখে আসে: আপনি আপনার (বলুন) 64-বিট হ্যাশ মানটি নিয়ে যাবেন এবং এটি আপনার বিট ভেক্টরের আকারে স্কেল করতে যা যা সম্ভবত 2 এর চেয়ে উল্লেখযোগ্য পরিমাণে ছোট 64 । এটি স্পষ্টতই একটি এনট্রপি-হারাতে যাওয়া রূপান্তর (বিরল ক্ষেত্রে আপনার হ্যাশের আকার এবং ফিল্টারের ক্ষমতা হুবহু মিল except আমার ফিল্টারের 2 32 এরও কম এন্ট্রি রয়েছে বলে ধরে নিলে আমার 64৪ -বিট হ্যাশ মানটিকে দুটি 32-বিট হ্যাশে বিভক্ত করা এবং সেগুলির রৈখিক সংমিশ্রণ গ্রহণ থেকে আমাকে বাধা দেওয়ার কী আছে? বা এটি একটি পিআরএনজি বীজ করতে ব্যবহার করছেন?

অন্য কথায়, স্ট্যান্ডার্ড মিথ্যা পজিটিভ রেটটি নিশ্চিত করার জন্য আমি একটি ব্লুম ফিল্টারটিতে eachোকানো প্রতিটি উপাদান সম্পর্কে আসলে আমার কতটা তথ্য জানতে হবে? বা আরও সাধারণভাবে, আমি উপাদানগুলিকে কতটা আলাদা করতে পারি (সেগুলি বর্ণনা করতে আমি কতগুলি বিট ব্যবহার করি) এবং কীভাবে আমার ব্লুম ফিল্টারটি সম্পাদন করে তার মধ্যে সম্পর্ক কী?

2এলজি(মি)মি2(এলজি(-এনLnপি)-2এলজি(Ln2))এনপি

উত্তর:


16

আপনি "এলোমেলো বিটস উত্পাদিত" এর শর্তে হ্যাশ ফাংশনগুলির কথা ভাবা ঠিক। সুতরাং আপনার যদি একটি হ্যাশ ফাংশন থাকে যা একটি 64 বিট হ্যাশ তৈরি করে, আপনি 4 16-বিট হ্যাশ হিসাবে বিভক্ত করতে পারেন (বিভক্ত হয়ে), ইত্যাদি।

উপরে বর্ণিত এই স্কিমের জন্য (যা ডিলিংগার এবং ম্যানোলিওসকে দায়ী করা উচিত; কীর্চ / মিত্সেনমেচার কেবল এটি বিশ্লেষণ করেছেন), এর অর্থ আপনি সঠিক; যদি আপনার সাথে একটি একক হ্যাশ ফাংশন থাকে2এলজি(মি) বিটস, আপনি ভাল হতে হবে।


5
Cstheory স্বাগতম, মাইকেল :)
সুরেশ ভেঙ্কট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.