עם ההצלחה החל להוסיף עוד ועוד מאמונותיו ומהביקורתיות שלו אל המחזות, וחקר את הצורה שכינה "דרמה של רעיונות". סדרת המחזות הבאה שלו נחשבת לעיתים קרובות ל"תור הזהב" בכתיבתו, אז היה בשיא כוחו והשפעתו, והפך לעין הסערה במחלוקת דרמטית ברחבי אירופה. בתקופה זו כתב את מחזותיו הידועים "בית הבובות" (1879), "רוחות" (1881), "אויב העם" (1882), "ברווז הפרא" (1884) ו"הדה גאבלר" (1890).
לבסוף שב איבסן לנורווגיה ב-1891, לאחר שזכה לפרסום ומחזותיו נחשבו לבעלי השפעה על השינויים שהתחוללו בחברה הנורווגית בתקופה זו, שעברה מהעידן הוויקטוריאני למודרניזם. הוא נפטר באוסלו בשנת 1906.
מחזות.
בחלק מדמויות מחזותיו ניתן למצוא סממנים ביוגרפיים של הוריו ושל מצבם הכלכלי הירוד. במחזות אחרים מובעת ביקורת על המנהגים והרעיונות של התקופה הוויקטוריאנית.
"בית הבובות" (1879) היה ביקורת נוקבת על התפקידים המסורתיים של הגבר והאישה בנישואין הוויקטוריאניים. גיבורת המחזה, נוֹרָה, עזבה את בעלה טורוולד בחיפוש אחר העולם הגדול, לאחר שגילתה כי בעלה אינו הדמות האצילה בה האמינה. תפקידה בנישואין היה של בובה, ביתה "בית בובות", ובעלה טורוולד התייחס אליה כאל ה"ציפור קטנה שלי" או ה"סנאית קטנה שלי". היא אפילו לא הורשתה לקבל את המפתח לתיבת הדואר. כשמנסים לסחוט אותה בשל מעשה בלתי-הולם שעשתה כדי להציל את חיי בעלה - היא זייפה את שמו של אביה על חוזה הלוואה - בעלה מכריז כי ינטוש אותה. דאגתו היחידה היא למוניטין שלו עצמו, למרות אהבתה אליו שגרמה לה לעשות את שעשתה. כשהסוחט נסוג בו, הכול יכול לבוא על מקומו בשלום, ובדרמה ויקטוריאנית מסורתית בזאת יסתיים העניין. אולם עבור איבסן (ועבור נורה) מאוחר מדי מכדי לחזור אל החיים הקודמים. לאחר שנופצו אשליותיה, היא מחליטה שהיא חייבת לעזוב את בעלה ואת ילדיהם, לעזוב את בית הבובות כדי לגלות מה אמיתי ומה לא. עבור הוויקטוריאנים, זוהי שערורייה. דבר לא נחשב מקודש יותר מברית הנישואין, והצגתה באופן שכזה הייתה בלתי קבילה בעליל. כמה בתי תיאטרון סירבו להציג את המחזה, ואיבסן נאלץ לכתוב סיום אלטרנטיבי, שהיה הרבה פחות קודר. הדבר ציער אותו מאוד, ולמעשה מספר פעמים הוא אף מסר לשחקנים "תיקון" בערב הפתיחה. מחזה המשך ל"בית בובות" הועלה לפני ארבע שנים בברודוויי ושמו "בית בובות 2" , שם חוזרת כסופרת מפורסמת לביתה ומתעמתת לראשונה עם ביתה ובעלה אותם עזבה שנים קודם.
לאחר "בית הבובות" כתב איבסן את "רוחות" (1881), עוד ביקורת נוקבת על המוסרניות הוויקטוריאנית. במחזה זה, אלמנה מגלה לכומר כי החביאה את נוראות נישואיה כל עוד התקיימו. הכומר יעץ לה להנשא לארוסה למרות הפלירטוטים שלו, והיא עשתה זאת תוך אמונה שאהבתה תשנה את הארוס. אולם היא לא קיבלה את התוצאה המובטחת. פרשיות האהבים של בעלה נמשכו עד מותו ממש, וכתוצאה מכך בנה חולה בעגבת. עצם האזכור של מחלת מין היה שערורייתי, אך להראות שאפילו אדם שעמד באידיאל המוסרי של החברה היה נטול הגנה מפני מחלה שכזו, זה כבר היה מעבר לשערורייתי. חייה היו החיים האצילים שהוויקטוריאנים האמינו כי ינבעו מקיום חובתו של אדם, במקום ללכת לאחר משאת ליבו. אמונות תמימות אלה היו רק "רוחות" העבר, הרודפות אחר ההווה.
הביקורת החברתית על איבסן הגיעה לשיא בנקודה זו, אולם החברה הגבוהה עצמה איבדה את השליטה בהמוני האנשים - שרובם לא חיו על-פי אידיאל הג'נטלמן הוויקטוריאני. הם רצו לראות את מחזותיו של איבסן משום שהוא הראה להם את מה שרובם כבר הכירו מהמציאות. הגלגל התהפך.
ב"אויב העם" (1882) הרחיק איבסן לכת עוד יותר. לפני כן, רכיבים שנויים במחלוקת היו חלק חשוב ואף עיקרי מהנעשה על הבמה, אולם הם התרחשו בקנה-מידה קטן של בית יחיד. ב"אויב העם", המחלוקת הפכה לעיקר, והאנטי-גיבור היה החברה כולה. אחד המסרים העיקריים במחזה הוא כי האדם היחיד, העומד בדד, הוא ה"צודק" לעיתים קרובות יותר מאשר המוני האנשים, שהוצגו כבורים ועדריים. על-פי האמונה הוויקטוריאנית החברה הייתה מוסד נאצל שניתן לתת בו אמון, פיקציה שאיבסן קרא עליה תיגר. גיבור המחזה "אויב העם" הוא רופא, מעמודי התווך של הקהילה. העיירה היא עיירת נופש שקסמה העיקרי במרחצאות ציבוריים. הרופא מגלה כי המים שבמרחצאות מזדהמים כשהם מחלחלים דרך אדמות מפעל העורות המקומי. הוא מצפה לזכות בשבחים על שהציל את העיירה מהסיוט של הדבקת המבקרים במחלות, אך במקום זאת המקומיים מכריזים עליו כעל "אויב העם"; הם חוברים נגדו ואף משליכים אבנים דרך חלונות ביתו. המחזה מסתיים בנידוי מוחלט של הרופא. ברי לקורא כי האסון עומד בפתח העיירה (וגם בפתחו של הרופא), בשל חוסר נכונותה של החברה להתמודד עם המציאות.
וכפי שכבר ציפו ממנו הצופים, גם מחזהו הבא של איבסן תקף אמונות והנחות מושרשות, אלא שהפעם לא תקף את הוויקטוריאנים אלא את הרפורמטורים הלהוטים יתר על המידה, ואת האידאולוגיה שלהם. כמנפץ מוסכמות תמידי, איבסן הסכים לקרוע את האידאולוגיות של כל קשת הדעות הפוליטיות, כולל אלו שלו.
"ברווז הפרא" (1884) נחשב בידי רבים ליצירתו הטובה ביותר של איבסן, והיא ודאי המורכבת ביותר. היא מספרת את סיפורו של גְרֶגֶרְס וֶרְלֶה, צעיר החוזר לעיירתו לאחר גלות ארוכה ומתאחד עם חבר ילדותו יָלְמאר אֶקְדָל. במהלך המחזה, רבים מהסודות המסתתרים מאחרי חזות הבית המאושר של אקדל נחשפים בפני גרגרס, שמתעקש לחפש את האמת המוחלטת. בין האמיתות הללו: אביו של גרגרס הכניס להריון את המשרתת גִינָה, ואז השיא אותה ליילמר כדי שהילד לא ייוולד מחוץ לנישואין. אביו של יילמאר מאבד את כבודו ונכלא בשל פשע שביצע ורלה האב. ובזמן שיילמאר מבזבז את ימיו בעבודה על "המצאה" דמיונית לחלוטין, אשתו היא זו שמרוויחה את הלחם בבית. איבסן מדגים שימוש מבריק באירוניה: למרות התעקשותו הדוגמטית על האמת, גרגרס אף פעם לא מביע את דעתו אלא רק מרמז, והוא אינו מובן בידי האחרים עד לשיאו של המחזה. גרגרס הולם ביילמאר ברמזים ובביטויים מוצפנים, עד שזה מבין את האמת; בתה של גינה, הֶדְוִיג, אינה בתו. מסונוור ברדיפת האמת של גרגרס, יילמאר מתכחש לילדה. כשהוא רואה את הנזק שגרם, גרגרס נחוש בדעתו לתקן את המעוות, ומציע להדוויג שתעלה כקרבן את ברווז הפרא, חיית המחמד הפצועה שלה, כדי להוכיח ליילמאר את אהבתה. הדוויג היא היחידה מהדמויות במחזה שמבינה כי גרגרס מדבר בשפה של רמזים, ומחפשת את המשמעות העמוקה יותר באמירה החשובה הראשונה של גרגרס שלא הכילה כל רמז או משמעות נסתרת; היא מקריבה את עצמה, ולא את הברווז, כדי להוכיח את אהבתה אליו בעזרת הקורבן האולטימטיבי. רק כשכבר מאוחר מדי, מבינים יילמר וגרגרס כי האמת המוחלטת של ה"אידיאל" היא לעיתים יותר משיכול הלב האנושי לשאת.
מחזהו המוצג ביותר של איבסן הוא כנראה "הֶדָה גַאבְּלֶר" (1890), שהתפקיד הנשי הראשי בו נחשב לאחד האתגרים הקשים ביותר לשחקניות עד היום.
איבסן שינה לחלוטין את חוקי הדרמה עם ריאליזם שאומץ בידי צ'כוב ואחרים, והנמצא בתיאטרון עד ימינו. מאיבסן ואילך, קריאת תיגר על מוסכמות ודיון ישיר בנושאים שונים הפכו לאחד הגורמים ההופכים מחזה לאמנות ולא לבידור גרידא.
פילטר בלום
פילטר בלום (Bloom filter) הוא מבנה נתונים חסכוני במקום בזיכרון מחשב המאפשר לדעת, בהסתברות גבוהה, האם איבר נמצא בקבוצת איברים מסוימת. הוא הומצא בשנת 1970 על ידי בורטון ה. בלום.
בדרך כלל משמש הפילטר ככלי עזר לגישה למבנה נתונים אחר, ומאפשר לדעת באופן מהיר האם יש טעם לחפש את האיברים באותו מבנה נתונים או באחר.
ייתכן מצב שבו הפילטר יכזיב, ויצביע על איבר שאינו נמצא כאילו הוא נמצא, אך ההפך לא ייתכן. תשובה שלילית לגבי הימצאותו של איבר היא נכונה בוודאות.
תיאור האלגוריתם.
ישנו מערך של m ביטים, שכל אחד מהם שווה ל-0 או ל-1. ערכם ההתחלתי הוא 0.
ישנן k פונקציות ערבול (hash functions) שונות. טווח הפונקציות הוא m-1..0.
כל אימת שמכניסים איבר, מזינים את פונקציות הערבול בערכו (המכונה בדרך כלל:המפתח שלו). מקבלים כתוצאה k אינדקסים של ביטים במערך, אינדקס כתוצאה של כל פונקציה, ואותם "מדליקים" (כלומר משנים את ערכם ל-1).
אחר כך כאשר בודקים האם איבר נמצא, מפעילים את פונקציות הערבול על המפתח של האיבר. אם כל הביטים המתקבלים מהפונקציות דלוקים, יש סבירות גבוהה שהאיבר נמצא (אם כי ייתכן שהביטים הודלקו בשל קיומם של איברים אחרים). אם לא כל הביטים דולקים, ניתן לומר בוודאות גמורה כי האיבר אינו נמצא (אחרת בהכנסתו היו מודלקים הביטים המתקבלים עבורו בערבול).
ניתוח הסתברותי של השגיאה.
נניח שפונקציות הערבול הן בעלות התפלגות אחידה. ההסתברות שביט מסוים לא יודלק בידי פונקציית ערבול היא formula_1.
ההסתברות שביט מסוים לא יודלק בידי אף אחת מפונקציות הערבול היא:
formula_2.
ההסתברות שביט יישאר בערך אפס אחרי הכנסת n איברים היא:
formula_3;
ועל כן ההסתברות שערכו של ביט מסוים יהיה 1 לאחר הכנסת n איברים היא:
formula_4.
מה ההסתברות שתתקבל תשובה חיובית עבור איבר שאינו שייך לקבוצת האיברים? &lt;BR&gt; דבר זה יקרה אם כל k הביטים שפונקציות הערבול נותנות עבורו הודלקו.
formula_5.
ברור שככל שמספר הביטים במערך גדל, כך קטן הסיכוי לתשובות חיוביות שגויות. ברור גם שהגדלת מספר האיברים המוכנסים מגדילה את הסיכוי לשגיאות.
למספר פונקציות הערבול יש שתי השפעות סותרות: מצד אחד, מפעילים יותר פונקציות ולכן צריך שיודלקו יותר ביטים כדי להשיב שאיבר שייך לקבוצת האיברים. מנגד, בכל פעם שמכניסים איבר, יותר ביטים מודלקים, וממילא גדל הסיכוי שתיווצר בעתיד "התנגשות" שתגרום לתשובה חיובית עבור איברים שאינם נמצאים.