הנדסה אזרחית & הנדסה מבנית
הבנה והפעלה של מסננים בלום: קלגולציות, השתמש במקרים, ומגבלות
Table of Contents
מסנני בלום הם מבני נתונים פרוביביליסטיים המשמשים כדי לבדוק אם אלמנט הוא חבר קבוצה.הם יעילים מבחינת מרחב ומהירות, מה שהופך אותם מתאימים ליישומים שבהם נדרשת שאילתות חברות מהירות עם כמה חיובי כוזב מקובל.
איך בלום עובד
מסנן בלום משתמש מעט מערך ופונקציות של hash מרובות.כאשר מוסיפים אלמנט, כל אחד מהם ממפה אותו לעמדה במערך, הגדרת נקודות אלה ל-1. כדי לבדוק אם קיים אלמנט, אותם פונקציות hash מוחל, ואת ה bits המקבילים נבדקים.אם כל נקבעים ל 1, האלמנט הוא כנראה במערכת; אם כל אחד מהם 0, זה בהחלט לא.
משככי לבלמונים
ההסתברות החיובית השגויה תלויה בגודל של מערך ה bit (m), מספר המרכיבים המוכנסים (n), ומספר פונקציות הישאה (k) ההסתברות (p) של חיובי כוזב ניתן להשוות על ידי:
(ב) ויקרא י"ד:2 ויקרא י"ד): "וַיָּבְהִיתִיתִיתִיא עַל עַדְהַבְתָּבְתָּבְתָּבְתָּבְתָּבָר:
ערכים אופטיים עבור k ו m יכולים למזער חיובי כוזב עבור n נתון בדרך כלל, k נבחר כמו:
(ב) ⁇ (ב) ⁇ ⁇ ⁇
שימוש במקרים של פילטרים של Bloom
מסנני בלום משמשים בתחומים שונים, כולל:
- מערכות מסד נתונים לבדיקת חברות מהירה
- אינטרנט Cching כדי להפחית את ה- Disk Lookups
- מערכות דיסטריוט עבור סינכרוניזציה של נתונים
- אבטחת רשת עבור ספאם filter
גבולות של Bloom Filters
בעוד לסננים יעילים, בלום יש מגבלות.הם יכולים לייצר חיובי כוזב אבל לא שלילי כוזב.רגע שפיסות נקבעות ל-1, הם לא יכולים להיות לאפס, אשר יכול להוביל לאי דיוקים לאורך זמן.הם גם לא מתאימים למחיקת אלמנטים בודדים ללא מבני נתונים נוספים.