Table of Contents
فیلترهای بلوم ساختارهای داده های احتمالاتی هستند که برای آزمایش اینکه آیا یک عنصر عضو یک مجموعه است یا خیر، استفاده می شوند.آنها از نظر فضا و سرعت کارآمد هستند و آنها را برای برنامه هایی که در آن درخواست های عضویت سریع با برخی از مثبت های کاذب قابل قبول مورد نیاز است، مناسب می کنند.
چگونه بلوم کار را فیلتر می کند
یک فیلتر بلوم از یک آرایه کوچک و چندین تابع هش استفاده می کند.هنگامی که یک عنصر اضافه می شود، هر تابع هش آن را به یک موقعیت در آرایه می دهد، آن بیت ها را به 1. تنظیم می کند تا بررسی کند که آیا یک عنصر وجود دارد، توابع هش یکسان اعمال می شوند و بیت های مربوطه مورد بررسی قرار می گیرند.اگر همه به 1 تنظیم شده باشند، عنصر احتمالا در تنظیم است؛ اگر هر یک صفر باشد، قطعاً نیست.
دانلود آهنگ Calculations for Bloom Filter
احتمال مثبت کاذب بستگی به اندازه آرایه ذره (m)، تعداد عناصر وارد شده (n) و تعداد توابع هش (k) دارد. احتمال (p) مثبت کاذب می تواند با:
[[۱] [۱۰] [۱] [۱۰] [۱] [۱۰] [۱۰]] [۱۰] [۱۰] [۱۰] [۱۰] [۱۰] [۳] [۳] [۳] [۱۰] [۳] [۱۰] [۱۰] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [[[۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [[[[[[[۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳]
مقادیر مطلوب برای k و m می توانند مثبت کاذب را برای n. به طور معمول، k به عنوان انتخاب کنند:
[[ویرایش] [۱] [۱۰] = [۱]
استفاده از Cases of Bloom Filter
فیلترهای بلوم در زمینه های مختلف استفاده می شوند، از جمله:
- سیستم های پایگاه داده برای تست عضویت سریع
- Web caching برای کاهش ظاهر دیسک
- سیستم های توزیع شده برای هماهنگ سازی داده ها
- امنیت شبکه برای فیلتر اسپم
محدودیت های فیلترهای بلوم
در حالی که کارآمد است، فیلترهای بلوم محدودیت هایی دارند.آنها می توانند مثبت کاذب تولید کنند، اما منفی کاذب نیستند، هنگامی که بیت ها به 1 تنظیم می شوند، نمی توانند تنظیم مجدد شوند، که می تواند منجر به ناامنی در طول زمان شود.