מסנן בלום

מסנן בלום (Bloom filter) הוא מבנה נתונים חסכוני במקום בזיכרון מחשב המאפשר לדעת, בהסתברות גבוהה, האם איבר נמצא בקבוצת איברים מסוימת. הוא הומצא בשנת 1970 על ידי בורטון ה. בלום.

בדרך כלל משמש המסנן ככלי עזר לגישה למבנה נתונים אחר, ומאפשר לדעת באופן מהיר האם יש טעם לחפש את האיברים באותו מבנה נתונים או באחר.

ייתכן מצב שבו המסנן יכזיב, ויצביע על איבר שאינו נמצא כאילו הוא נמצא, אך ההפך לא ייתכן. תשובה שלילית לגבי הימצאותו של איבר היא נכונה בוודאות.

תיאור האלגוריתם

דוגמה למסנן בלום המייצג את הקבוצה {x, y, z}. החצים הצבעוניים מראים את המקומות במערך הביטים אליהם מופה כל אחד מאיברי הקבוצה. האיבר w אינו חלק מהקבוצה {x, y, z}, כי אחד המקומות אליו הוא ממופה במערך הביטים מכיל 0. באיור זה, m = 18 and k = 3.

ישנו מערך של m ביטים, שכל אחד מהם שווה ל-0 או ל-1. ערכם ההתחלתי הוא 0.

ישנן k פונקציות ערבול (hash functions) שונות. טווח הפונקציות הוא m-1..0.

כל אימת שמכניסים איבר, מזינים את פונקציות הערבול בערכו (המכונה בדרך כלל:המפתח שלו). מקבלים כתוצאה k אינדקסים של ביטים במערך, אינדקס כתוצאה של כל פונקציה, ואותם "מדליקים" (כלומר משנים את ערכם ל-1).

אחר כך כאשר בודקים האם איבר נמצא, מפעילים את פונקציות הערבול על המפתח של האיבר. אם כל הביטים המתקבלים מהפונקציות דלוקים, יש סבירות גבוהה שהאיבר נמצא (אם כי ייתכן שהביטים הודלקו בשל קיומם של איברים אחרים). אם לא כל הביטים דולקים, ניתן לומר בוודאות גמורה כי האיבר אינו נמצא (אחרת בהכנסתו היו מודלקים הביטים המתקבלים עבורו בערבול).

ניתוח הסתברותי של השגיאה

נניח שפונקציות הערבול הן בעלות התפלגות אחידה. ההסתברות שביט מסוים לא יודלק בידי פונקציית ערבול היא .

ההסתברות שביט מסוים לא יודלק בידי אף אחת מפונקציות הערבול היא:

.

ההסתברות שביט יישאר בערך אפס אחרי הכנסת n איברים היא:

;

ועל כן ההסתברות שערכו של ביט מסוים יהיה 1 לאחר הכנסת n איברים היא:

.

מה ההסתברות שתתקבל תשובה חיובית עבור איבר שאינו שייך לקבוצת האיברים?
דבר זה יקרה אם כל k הביטים שפונקציות הערבול נותנות עבורו הודלקו.

.

ברור שככל שמספר הביטים במערך גדל, כך קטן הסיכוי לתשובות חיוביות שגויות. ברור גם שהגדלת מספר האיברים המוכנסים מגדילה את הסיכוי לשגיאות.

למספר פונקציות הערבול יש שתי השפעות סותרות: מצד אחד, מפעילים יותר פונקציות ולכן צריך שיודלקו יותר ביטים כדי להשיב שאיבר שייך לקבוצת האיברים. מנגד, בכל פעם שמכניסים איבר, יותר ביטים מודלקים, וממילא גדל הסיכוי שתיווצר בעתיד "התנגשות" שתגרום לתשובה חיובית עבור איברים שאינם נמצאים.

ניתן לחשב שהמספר האופטימלי של פונקציות ערבול עבור m (מספר ביטים) ו-n (מספר איברים) הוא

,

וההסתברות לטעות בשאילתה תהיה:

.

אם נניח שמקצים 32 ביטים לכל איבר (m=32*n) ומשתמשים ב-13 פונקציות ערבול, הסיכוי לתשובה חיובית בשאילתה עבור איבר שאינו בקבוצה קטן ממיליונית.

יתרונות וחסרונות

מסנן בלום מאפשר לענות על השאילתה האם איבר מסוים שייך לקבוצת איברים מסוימת ללא צורך לשמור את כל איברי הקבוצה באופן מלא ומפורש. על כן גודל הזיכרון שדורש מסנן בלום תלוי במספר האיברים בקבוצה אך לא בזיכרון שתופס כל איבר בקבוצה. יש לכך יתרון כאשר כל איבר בקבוצה תופס זיכרון רב. טבלת גיבוב רגילה תמיד תענה נכונה על שאילתת השייכות וגם תאפשר גישה לאיבר עצמו אם הוא נמצא בטבלה. ולכן אם נדרשת גישה לאיבר או אם לא ניתן לסבול שגיאה בשאילתת השייכות, טבלת גיבוב רגילה עדיפה. חיסרון נוסף של מסנן בלום הוא שאינו תומך בהוצאת איבר מקבוצה שהרי לא ניתן לכבות את הביטים שהוא הדליק כי אולי גם איברים אחרים הדליקו אותם.

ניתוח יעילות

באופן נאיבי, אם אורך הקלט הוא l ויש להפעיל עליו k פעמים את אלגוריתם הערבול (שבדרך כלל ליניארי באורך הקלט) הרי שעלות חיפוש איבר בקבוצה וההכנסה של איבר לקבוצה היא kl. עלות זו גבוהה מזו הדרושה למציאת איבר בעזרת חיפוש בטבלת גיבוב רגילה. ניתן להציע פונקציות ערבול שבהן ניתן להשתמש בתוצאת חישוב ערבול אחד כדי למצוא את תוצאת הערבולים האחרים, לדוגמה SHA-1 MD5 ודומיהן. בעזרת שיטות אלו ניתן להגיע לסיבוכיות k+l.

מחיקה

אין אפשרות למחיקת איבר שהוכנס למסנן בלום, והפתרון עלול להיות בנייה מחדש של כל המסנן.

"כיבוי" פשוט של הביטים שפונקציות הערבול כורכות יחד עם האיבר היא בלתי אפשרית, שכן ביטים אלו עלולים להצביע גם על איברים אחרים, שכיבוי הביטים ישלול מהמשתמש את המידע על קיומם.

עם זאת, הועלו רעיונות חדשים ולפיהם ייעשה שימוש במונה, שיימנה כמה פעמים הודלק כל ביט. אז ניתן יהיה להפחית את המונה של כל הביטים הקשורים באיבר מסוים במקרה של מחיקת האיבר. ברור שלשם כך יש להקצות מקום נוסף בזיכרון.


קישורים חיצוניים

ויקישיתוף מדיה וקבצים בנושא מסנן בלום בוויקישיתוף

Read other articles:

このページの名前に関して「東大寺学園中・高等学校」への改名が提案されています。議論はこのページのノートを参照してください。(2023年11月) 東大寺学園中学校・高等学校 北緯34度42分48秒 東経135度47分20.3秒 / 北緯34.71333度 東経135.788972度 / 34.71333; 135.788972座標: 北緯34度42分48秒 東経135度47分20.3秒 / 北緯34.71333度 東経135.788972度 / 3...

 

Брента 46°00′26″ пн. ш. 11°15′58″ сх. д. / 46.00722222224977287° пн. ш. 11.266111111138779° сх. д. / 46.00722222224977287; 11.266111111138779Витік • координати 46°00′26″ пн. ш. 11°15′58″ сх. д. / 46.00722222224977287° пн. ш. 11.266111111138779° сх. д. / 46.00722222224977287; 11.266111111138779Гир

 

село Черна Герб Прапор Країна  Україна Область Закарпатська область Район Берегівський район Громада Королівська громада Код КАТОТТГ UA21020150090048254 Основні дані Засноване 1300 Населення 2226 Площа 5295 км² Густота населення 0,42 осіб/км² Поштовий індекс 90340 Телефонний код ...

Stasiun Kubiki-Ōno頸城大野駅Stasiun Kubiki-Ōno, Mei 2009LokasiOno, Itoigawa-shi, Niigata-ken 941-0071 JepangKoordinat37°00′22″N 137°52′22″E / 37.0060°N 137.8727°E / 37.0060; 137.8727Koordinat: 37°00′22″N 137°52′22″E / 37.0060°N 137.8727°E / 37.0060; 137.8727Pengelola JR WestJalur■ Jalur ŌitoLetak dari pangkal100.3 km dari MatsumotoJumlah peron1 peron sisiJumlah jalur1Informasi lainStatusTanpa stsffSitus web...

 

حثل شحمي عائلي جزئي معلومات عامة الاختصاص طب الجلد،  وعلم الغدد الصم  تعديل مصدري - تعديل   الحثل الشحمي العائلي الجزئي (بالإنجليزية: Familial partial lipodystrophy)‏ أو متلازمة كوبرلنغ-دونيغان (بالإنجليزية: Köbberling–Dunnigan syndrome)‏[1] هو مرض جلدي نادرا سائد وراثيا يتميز بفقدان دهن ت

 

This article is about the 21st century women's road cycling one day race. For the 1946 Monaco-Paris replacement for the Tour de France due to war, see La Course du Tour de France. For the surname, see La Course (surname). Former cycling one-day race La Course redirects here. Not to be confused with Course.La Course by Le Tour de FranceLogo of La Course by Le Tour de FranceRace detailsDateJulyRegionFranceNickname(s)La CourseDisciplineRoadCompetitionUCI Women's World TourOrganiserAmaury Sport O...

A Scout District is an administrative division within some Scouting and Guiding organisations. Districts are responsible for providing programme and support for local Scout and Guide groups, although the precise relationship and structure of a District does vary from country to country. United Kingdom The Scout Association The Scout Association currently has 895 Scout Districts across the United Kingdom.[1] Each District is responsible for providing programme and support for its membe...

 

286-та дивізія охорони (Третій Рейх)286. Sicherungs-Division На службі 15 березня 1941 — грудень 1944Країна  Третій РейхВид HeerТип ВермахтРоль піхота (охорона тилу)Чисельність піхотна дивізіяУ складі VIII-й військовий округГрупа армій «Центр»4-та армія6-й армійський корпус43-й армійс...

 

FnaticOlahragaClash RoyaleApex LegendsCounter-Strike: Global OffensiveDota 2FIFAFortnite Battle RoyaleLeague of LegendsPUBG MobileRainbow Six SiegeRules of SurvivalStreet FighterLokasiHeadquarters:LondonSan FranciscoTeams:Berlin (LoL)Kuala Lumpur (Dota 2)Didirikan23 Juli 2004; 19 tahun lalu (2004-07-23)SponsorAMDChillblastFnatic GearGG.BeteGGMSIOnePlusQuersusNewzooStrafeTwitch[1] Fnatic (diucapkan fanatic; atau disebut juga fnatic atau FNATIC) adalah sebuah organisasi esports yan...

La Iglesia de Santa María de los Latinos fue un edificio de la iglesia en la Ciudad Vieja de Jerusalén en el Reino Cruzado de Jerusalén . Historia Hacia mediados del siglo XI, los comerciantes amalfitanos obtuvieron el permiso del Califa para construir la iglesia de Santa María de los Latinos junto a la Iglesia de la Resurrección en Jerusalén, así como un hospicio para el alojamiento de peregrinos cristianos a Tierra Santa. . El hospicio-hospital estaba dirigido por monjes benedic...

 

South Korean TV series or program The PackagePromotional posterHangul더 패키지 GenreDramaCreated byJTBCWritten byChun Sung-ilDirected byJeon Chang-geunKim Jin-wonStarringLee Yeon-heeJung Yong-hwaChoi Woo-shikYoon ParkRyu Seung-sooComposerKang Dong-yoonCountry of originSouth KoreaOriginal languageKoreanNo. of episodes12ProductionExecutive producersHahm Young-hoonPark Joon-seoPyo Jong-rokProducersKang Ra-youngPark Woo-ramWoo Sang-heeProduction locationsSeoul, South KoreaParis, FranceRu...

 

Mid-scale business hotel chain run by Marriott International Courtyard by MarriottIndustryHospitality, TourismFounded1983Number of locations1,254 (as of June 30, 2020)[1]Area servedWorldwideParentMarriott InternationalWebsiteCourtyard by Marriott Courtyard by Marriott is a brand of hotels owned by Marriott International. One of Marriott's mid-priced brands, the hotels are primarily targeted to business travelers, but also accommodate traveling families. Rooms have desks, couches, and ...

Simbácio (Constantino) Coimperador bizantino Constantino (filho de Leão V)Soldo de Leão V, o Armênio e Constantino Reinado 25 de dezembro de 813 - 25 de dezembro de 820 Nascimento 800/810 Morte século IX Pai Leão V, o Armênio Mãe Teodósia Religião Cristianismo Simbácio (em grego: Συμβάτιος; romaniz.:Symbatios, do armênio Smbat), Sabácio (em grego: Σαββάτιος; romaniz.:Sabbatios) ou Sambates (Σαμβάτης) em algumas fontes,[1] foi o filho mais velho...

 

Type of basketball court A glass basketball court is a basketball court with a glass floor that uses light emitting diodes (LEDs) to display the court lines and other graphics. After successful trials, FIBA legalized glass courts on October 1, 2022, for tier-1 competitions such as the FIBA Basketball World Cup.[1] Glass courts are also approved for use for basketball at the Summer Olympics, whose tournaments are administered by FIBA.[2] History ASB GlassFloor, a German manufac...

 

Stratigraphical unit of Upper Ordovician age in the Appalachian Basin Utica ShaleStratigraphic range: late Upper Ordovician PreꞒ Ꞓ O S D C P T J K Pg N TypeGeological formationUnderliesLorraine Shale, Martinsburg Formation, and Reedsville FormationOverliesTrenton GroupCanajoharie shaleThicknessup to 1,000 feet (300 m)[1]LithologyPrimaryShaleLocationCoordinates43°03′50″N 75°10′48″W / 43.064°N 75.18°W / 43.064; -75.18 (Utica Shale)Reg...

County in North Dakota, United States County in North DakotaOliver CountyCountyMissouri River at Cross Ranch State Park.Location within the U.S. state of North DakotaNorth Dakota's location within the U.S.Coordinates: 47°07′N 101°21′W / 47.11°N 101.35°W / 47.11; -101.35Country United StatesState North DakotaFoundedApril 14, 1885 (created)May 18, 1885 (organized)Named forHarry S. OliverSeatCenterLargest cityCenterArea • Total731 sq...

 

Battle of the American Civil War Second Battle of FunkstownPart of the American Civil WarDateJuly 10, 1863 (1863-07-10)LocationFunkstown, MarylandResult Confederate victoryBelligerents United States (Union) CSA (Confederacy)Commanders and leaders John Buford J.E.B. StuartStrength 1 cavalry division1 infantry brigade 1 cavalry division1 infantry brigadeCasualties and losses 479 vteGettysburg campaign Franklin's Crossing Brandy Station 2nd Winchester Aldie Middleburg Upperville F...

 

Fictional character from Harry Potter Fictional character Dolores UmbridgeHarry Potter characterImelda Staunton as Dolores Umbridge in Harry Potter and the Order of the PhoenixFirst appearanceHarry Potter and the Order of the Phoenix (2003)Last appearanceHarry Potter and the Deathly Hallows (2007)Created byJ. K. RowlingPortrayed byImelda StauntonIn-universe informationFull nameDolores Jane UmbridgeOccupation Head of the Improper Use of Magic Office (formerly) Senior Undersecretary to the Mini...

2017 Indian filmEnbathettuRelease posterTamil எண்பத்தெட்டு Directed byM. MadhanWritten byMadhanProduced byA. JayakumarStarring Madhan Upasana RC CinematographyPG VetrimaranEdited byAvinashMusic byDaya RathanamKingsleyProductioncompanyJK Movie Makers Distributed byG.S.CinimasRelease date 21 July 2017 (2017-07-21) Running time123 minutesCountryIndiaLanguageTamil Enbathettu (transl. Eighty-eight) is a 2017 Indian Tamil-language crime thriller film wri...

 

Italian TV series or program Gormiti Nature UnleashedGenreBattle MovieCreated byLeandro ConsumiGianfranco EnriettoBased onGormiti by Giochi PreziosiDirected byGowa SevilleStarringMondo ActorsOpening themeGormiti performed by Giorgio VanniEnding themeGormiti (ending music)Country of originItalyOriginal languageItalianNo. of seasons1No. of episodes26ProductionProducerNess MillerRunning time11 minutesProduction companiesGiochi PreziosiMondo TVOriginal releaseNetworkCartoon NetworkBoingRelea...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!