1 / 11

UNIVERSAL HASHING

UNIVERSAL HASHING. ממוצע זמן חיפוש. - משתמש “זדוני” יכול לבחור n מפתחות, כולם לתוך אותו סל. - נכון עבור כל פונקצית Hash קבועה. משרד הפנים נגד אונ תל-אביב. - דרך מניעה יחידה :. בחירת פונקציה באקראי לא תלויה במפתחות . (אבל עקבית).

faith
Télécharger la présentation

UNIVERSAL HASHING

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UNIVERSAL HASHING ממוצע זמן חיפוש - משתמש “זדוני” יכול לבחור n מפתחות,כולם לתוך אותו סל. - נכון עבור כל פונקצית Hash קבועה. משרד הפנים נגד אונ תל-אביב - דרך מניעה יחידה: בחירת פונקציה באקראי לא תלויה במפתחות. (אבל עקבית) - בגלל אקראיות האלגוריתם יתנהג שונה בכל ריצה (על אותו input ) input - מסויים אינו יכול “לסבול” באופן תמידי. - עבור כל input ההסתברות לבצועים גרועים קטנה (וזהה לקלטים אחרים דומים) Data Structures, CS, TAU - 4.14

  2. UNIVERSAL HASHING - המשך H - אוסף סופי של פונקציות Hash שממפות תחום U ל B סלים {0, 1,…B-1} לכל x, y U מספר הפונקציות h Hכל ש h(x )=h(y) הינו B / |H| אם h נבחרת מאוסף אוניברסלי של פונקציותhash ומשומשת להכניס N מפתחות לתוך טבלה בגודל N B ,B, אזי תוחלת מס’ ההתנגשויותהקשורות במפתח x הינה קטנה מ 1. H נקרא אוניברסלי אם: כלומר: אם פונקציה נבחרת אקראית מ- H אזי סיכוי ההתנגשות של x ו y הינו 1/B אונ' ת"א: B=29,999 , |H|=10^9 TAU vs misrad hapniim משפט Data Structures, CS, TAU - 4.15

  3. הוכחת המשפט יהי: אם z, y מתנגשים 1 =Cyz אחרת 0 לכן: E[Cyz] = 1 B )כי z, y מתנגשים בהסתברות 1 ) B אזי: הוכחה: יהי Cxמס’ ההתנגשויות הכולל של X תוחלת סכום = סכום תוחלות Data Structures, CS, TAU - 4.16

  4. בחירת קבוצה אוניברסלית x=(x0, x1,…xr) - יהי a={a0, …ar } רצף של אברים נלקחים באקראי מהקבוצה {0, 1,…B-1} ונגדיר ha H : - בחר B ראשוני. - פרק x ל r+1 בתים - דרישה: ערך כל byte קטן מ B- Data Structures, CS, TAU - 4.17

  5. משפט - ניקח שני מפתחות שונים כלשהם x y - בלי הגבלת הכלליות נניח x0 y0 a1, a2,…ar - נסתכל על בחירה שרירותית של אבל B הוא ראשוני ולכן יש יחידי הפותר את המשוואה a0w=z וזה נכון כי אם a0’w=z, a0w=z אז (a0-a0’)w=B בניגוד לראשוניות של B 0 a0 B האוסף H הוא אוסף אוניברסלי של פונקציות Hash הוכחה: טענה: עבור הבחירה הנ”ל ישנו בדיוק a0בודד המקיים h(x)=h(y) הוכחה: כדי שיתקיים h(x)=h(y) חייב להתקיים: Data Structures, CS, TAU - 4.18

  6. המשך ההוכחה - לכן יש בדיוק ערכים של{a0, …ar} שעבורם x ו y מתנגשים )לכל (x,y)( - היות ומס’ הערכים של a={a0, …an} הוא בדיוקx ו-y מתנגשים בדיוקבהסתברות: H אוניברסלית Finished here 3/5/04 Data Structures, CS, TAU - 4.19

  7. הערכת ביצועים Hash סגור (OPEN ADDRESSING) Hash לינארי: אם התנגשנו סיכוי התנגשות שניה גבוה (כבר נפלנו באזור “מועד”) נניח: פונקצית rehash שולחת בצורה אקראית. “אמונה”: זה הטוב ביותר B - סלים N - איברים (כרגע בטבלה) Data Structures, CS, TAU - 4.20

  8. הערכת ביצועים : תוחלת עלות הכנסת איבר כשיש N איברים הסתברות לפחות להתנגשות אחת: הסתברות לפחות לשתי התנגשויות: הסתברות לפחות ל i התנגשויות: עבור N, B גדולים: תוחלת: הצלחה אבל: Data Structures, CS, TAU - 4.21

  9. הערכת ביצועים - המשך אם נדייק ונחליף ב: חשבון מסובך ייתן (amortized) :1, 2,…M כמה עולה להכניס האיברים בממוצע: Data Structures, CS, TAU - 4.22

  10. הערכת ביצועים - המשך למלא את הטבלה יקח: logB בממוצע לאיבר!! 10/9 ln10 אבל למלא 90% (M=0.9B) : כלומר: קיים: לא קיים: - מילוי הטבלה – פונקציה B - כל שבר שונה מ- 1 – לא תלויים ב- B בדיקת חברות - לאיבר שלא קיים - כמו הכנסה - לאיבר שקיים - כמו הממוצע עד כה Data Structures, CS, TAU - 4.23

  11. הערכת ביצועים - המשך למלא 90% מ 1000 למלא 90% מ- 109 שווה!! אבל למלא הכל lnB הערה: אם M אחוז ( ) של B – אזי יעילות הכנסה היא: לא תלוי ב-B!!! כלומר: סיבה: השבריר האחרון של המילוי שבו אורך השרשרות פרופורציונלי למספרהסלים – קובע. Data Structures, CS, TAU - 4.24

More Related