1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.

Slides:



Advertisements
Similar presentations
מבוא למדעי המחשב לתעשייה וניהול
Advertisements

1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
1 Trees CLRS: chapter A hierarchical combinatorial structure הגדרה רקורסיבית: 1. צומת בודד. זהו גם שורש העץ. 2. אם n הוא צומת ו T 1 ….T K הינם עצים,
חיפוש בינה מלאכותית אבי רוזנפלד. סוכנים פותרי בעיות Reflex agents לא יכולים לתכנן קדימה כדי לחפש, יש צורך לייצר מודל לחפש בו !
טבלאות סמלים נכתב ע"י אלכס קוגן סמסטר חורף, תשס"ח.
גרף מכוון Directed Graph a b c f g ed h צמתים חוג עצמי קשתות.
Number Theory and Algebra Advisor …………… Dr. Shpilka Amir Presented by …… Cohen Gil..………
תכנות מונחה עצמים Object Oriented Programming (OOP) אתגר מחזור ב'
1 - אוסף של איברים - לעיתים מסודרים לינארית 1) לכל a=b,a b 2) טרנזיטיביות: a>c b>c, a>b דוגמה: שלמים, ממשיים, אותיות. - רשום: {1,4}, {תכונה { X - חברות:
Data Structures: Sorts, CS, TAU 1 שמושים ביישומים רבים יש n רשומות, לכל רשומה מפתח: K 1, …..,K n רוצים לסדר את הרשומות כך שהמפתחות לא בסדר יורד (יתכנו.
פעולות בסיסיות על קבוצות מושגים : - אוסף של איברים - לעיתים מסודרים לינארית 1 ) לכל a=b,a b 2 ) טרנזיטיביות : a>c b>c, a>b דוגמה : שלמים, ממשיים, אותיות.
פעולות מילון Insert, Delete, Search Binary Search Tree, AVL, 2-3 Tree, Skip List O(log n) האם יש מבנה עם סבוכיות (1)O? לא למפתח כלשהו.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
מסדי נתונים תשס " ג 1 תכנון סכמות (Design Theory) מסדי נתונים.
Data Structures Dana Shapira Hash Tables 26/06/07.
רקורסיות נושאי השיעור מהן רקורסיות פתרון רקורסיות : שיטת ההצבה שיטת איטרציות שיטת המסטר 14 יוני יוני יוני 1514 יוני יוני יוני 1514.
עבודה סמינריונית Prelude to Ukkonen algorithm ON-LINE CONSTRUCTION OF SUFFIX TREES מגישים : עיד מוחמד טיבי פיראס.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
1 Trees CLRS: chapter A hierarchical combinatorial structure הגדרה רקורסיבית: 1. צומת בודד. זהו גם שורש העץ. 2. אם n הוא צומת ו T 1 ….T K הינם עצים,
A. Frank File Organization Indexed-Sequential File Introduction Thanks to Tamar Barnes.
Robust Characterization of Polynomials 1 Robust Characterization of polynomials “IT DOES NOT MAKE SENCE!” מרצים : אורי גרסטן יניב עזריה Ronitt Rubinfeld.
1 Data Structures, CS, TAU, Splay Tree Splay Tree  מימוש של עץ חיפוש בינארי  מטרה לדאוג ל- Amortized Time  פעולה בודדת יכולה לקחת O(N)  אבל כל רצף.
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
A. Frank File Organization Sequential File Measures.
בהסתברות לפחות למצא בעיה במודל PAC עבור בהסתברות ε הפונקציה f טועה מודל ONLINE 1. אחרי כל טעות הפונקציה משתפרת 2. מספר הטעיות קטן.
מסדי נתונים תשס " ג 1 תכנון סכמות – אלגוריתם פירוק לתבניות בצורת BCNF מסדי נתונים.
Point-Line incidences via Cuttings By Tatiana Kriviliov.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
Data Structures, CS, TAU, Splay Tree 1 Splay Tree - עץ חיפוש בינארי - מטרה לדאוג ל - Amortized Time - פעולה בודדת יכולה לקחת O(N) - אבל כל רצף M פעולות.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
ניתוח תחבירי (Parsing) - המשך. תזכורת : סוגי הניתוח התחבירי top-down – מהשורש לעלים ( נקרא גם – " ניתוח תחזית " – predictive) bottom-up – מהעלים לשורש.
תורת הקבוצות חלק ב'. קבוצה בת מניה הגדרה: קבוצה אינסופית X היא ניתנת למניה אם יש התאמה חד-חד ערכית בין X לבין .
1 חישוב ואופטימיזציה של שאילתות חלק 2 Query Evaluation and Optimization Part 2.
Questions are the Answer Penick&all H ISTORY R ELATIOINSHIPS A PPLICATION S PECULATION E XPLANATION.
תחשיב הפסוקים חלק ג'. צורות נורמליות א. DF – Disjunctive Form – סכום של מכפלות. דוגמא: (P  ~Q  R)  (R  P)  (R  ~Q  ~P) הגדרה: נוסחה השקולה לנוסחה.
מודל ONLINE לומדמורה 1. כל ניתן לחישוב בזמן פולינומיאלי 2. אחרי מספר פולינומיאלי של טעיות ( ) הלומד לא טועה ז"א שווה ל- Littlestone 1988.
קורס תכנות – סימסטר ב ' תשס " ח שיעור שישי: מערכים
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
The Cyclic Multi-peg Tower of Hanoi מעגלי חד-כווני סבוכיות הפתרון בגרסאות עם יותר מ-3 עמודים.
Ray 7 דוגמא אלגוריתם 1.קבל דוגמאות 2. פלט f a עבור הדוגמה a המינימלית החיובית ?
1 שמושים ביישומים רבים יש n רשומות, לכל רשומה מפתח: K 1,…..,K n רוצים לסדר את הרשומות כך שהמפתחות לא בסדר יורד (יתכנו כפולים) קריטריונים ליעילות: לא תמיד.
Data Structures, CS, TAU, Perfect Hashing 1 Perfect Hashing בעיה : נתונה קבוצה S של n מפתחות מתחום U השוואה ל - Hash : * טבלה קבועה (Hash רגיל - דינאמי.
Remember Remember The 5 th of November. תרגול 2 קובץ סדרתי.
משטר דינמי – © Dima Elenbogen :14. הגדרת cd ו -pd cd - הזמן שעובר בין הרגע שראשון אותות הכניסה יוצא מתחום לוגי עד אשר אות המוצא יוצא מתחום.
מערכים עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר int grade1, grade2, …, grade20; int grade1, grade2, …, grade20;
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א מודל הלמידה מדוגמאות Learning.
עקרון ההכלה וההדחה.
יחס סדר חלקי.
תחשיב היחסים (הפרדיקטים)
מיון (Sorting) קלט : מערך בן n מספרים. פלט : מערך ובו המספרים אותם מאוחסנים בסדר עולה
Markov Decision Processes (MDP) תומר באום Based on ch. 14 in “Probabilistic Robotics” By Thrun et al. ב"הב"ה.
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א.
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
Safari On-line books. מה זה ספארי ספארי זו ספריה וירטואלית בנושא מחשבים היא כוללת יותר מ כותרים כל הספרים הם בטקסט מלא ניתן לחפש ספר בנושא מסוים.
1 גילוי מידע וזיהוי תבניות תרגול מס. 3 התפלגות נורמלית רב - מימדית Kullback-Leibler Divergence - משפט קמירות - נגזרת שנייה משפט Log sum inequality משפט.
Interpolation Functions in Matlab By Dmitriy Katsif.
- אמיר רובינשטיין מיונים - Sorting משפט : חסם תחתון על מיון ( המבוסס על השוואות בלבד ) של n מפתחות הינו Ω(nlogn) במקרה הגרוע ובממוצע. ניתן לפעמים.
1 מבוא למדעי המחשב רקורסיה. 2 רקורסיה היא שיטה לפתרון בעיות המבוססת על העיקרון העומד ביסוד אינדוקציה מתמטית: אם ידועה הדרך לפתור בעיה עבור המקרים הבסיסיים.
Data Structures Hanoch Levi and Uri Zwick March 2011 Lecture 3 Dynamic Sets / Dictionaries Binary Search Trees.
תרגול 8 Skip Lists Hash Tables. Skip Lists Definition: – A skip list is a probabilistic data structure where elements are kept sorted by key. – It allows.
מבוא למדעי המחשב סיבוכיות.
ערבול (Hashing) חומר קריאה לשיעור זה:
ניתוח זמן ריצה (על קצה המזלג)
עבודה עם נתונים באמצעות ADO.NET
ניתוח זמן ריצה (על קצה המזלג)
תיאוריית תכנון סכמות למסדי נתונים יחסיים חלק 4
Data Structures, CS, TAU, Splay Tree
בעיות נוספות ב-NPC.
שיעור עשירי: מיונים, חיפושים, וקצת סיבוכיות חישוב
NG Interpolation: Divided Differences
Presentation transcript:

1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע Worst case * מוכנים להשקיע בבניית הטבלה (זמן בנייה (O(n בתוחלת) * מקום: (O(n שיטה: טבלה דו-שלבית רוצים: לבנות טבלת T Lookup בגודל (O(n שבאמצעותה אפשר לבדוק חברות, בזמן קבוע (1)O. Perfect Hashing

2 Data Structures, CS, TAU, Perfect Hashing עקרונות: 1) f ממפה את כל n המפתחות לטבלת ביניים בגודל n.  בטבלת הביניים קיימים תאים עם יותר ממפתח אחד. 2) g i - פונקציה אישית של תא i : ממפה מ- B i לתחום בגודל ²|B i | בצורה חד-חד ערכית. T S מפתחות 1 i 2 n ²|B i |  BiBi g i (Hash) f (hash)

3 Data Structures, CS, TAU, Perfect Hashing 1) אם B i גדול מידי  T לא תהיה (O(n  צריך לחפש f כזה כך שלא יהיו B i גדולים. 2) צריך למצוא (לחפש) פונקציות g i שימפו את B i ל ²|B i | בלי התנגשויות בסיס לפתרון: הסתברות !! * הסתברות למציאת פתרונות ל-1) ו-2) היא גבוהה.  * לא נצטרך לחפש הרבה  בתוחלת זמן לינארי בעיות שיש להתמודד איתן

4 Data Structures, CS, TAU, Perfect Hashing * ממפה לדליים B 1 …B n b i = | B i | * * דרך להשגה : בחרו f עד שתצליחו! (מפונקציה אוניברסלית) אנליזה: * תכונה נדרשת 2) משפט: אם f אוניברסלית וממפה N מפתחות ל B סלים אז תוחלת מס’ התנגשויות של מפתח בודד הינו (N-1)/B * ממפה n אלמנטים ל -1…n בחירת פונקציה f : 1 i n BiBi f 1) בוחרים  בצורה אקראית מקבוצה אוניברסלית של פונקציות Hash f: U [1…n] בחירת פונקציה f 2) הוכחה: פרק על HASH אוניברסלי

5 Data Structures, CS, TAU, Perfect Hashing  תוחלת מס’ ההתנגשויות של כל האיברים: n(n-1/n)= n-1 #collisions = אבל: וכן  ניקח תוחלת 3) לכן: במיפוי n מפתחות ל תוחלת מס’ ההתנגשויות של איבר בודד: n-1/n 1…n

6 Data Structures, CS, TAU, Perfect Hashing 4) אי שוויון מרקוב: 6) נבחר f באקראי. סיכוי להצלחה בכל ניסוי > 1/2  תוחלת מספר הניסיונות = 2 אם x משתנה אקראי לא שלילי 5) ולכן

7 Data Structures, CS, TAU, Perfect Hashing מסקנה: במספר ניסיונות שתוחלתם 2 נקבל f כך ש:  גודל הטבלה לינארית + זמן הריצה של חיפוש f קבוע בתוחלת

8 Data Structures, CS, TAU, Perfect Hashing * נבחר g i מאוסף אוניברסלי: * נמפה אותם לתחום נבחר * תוחלת מס’ התנגשויות של מפתח בודד * תוחלת מס’ התנגשויות של כל המפתחות * אי שוויון Boole: * נתונים מפתחות * אי שוויון מרקוב: בחירת פונקציה g i : 23/1/06

9 Data Structures, CS, TAU, Perfect Hashing  תוחלת מס’ הניסיונות עד שנמצא gi gi כך שאין התנגשויות היא 2 

10 Data Structures, CS, TAU, Perfect Hashing * עבור כל g i שמנסים צריך לבדוק אם בקבוצה B i יש התנגשויות.  היות ומס’ בחירות בתוחלת הינו 2 (עבור g i ) * בונים וקטור ביטים בגודל * יש לאתחלו  פעולות. * היות (בחרנו קודם את f כדי שתקיים את זה!)  עלות כוללת של בחירת כל g i כבבחירה ראשונה הינה worst case O(n)  עלות כל בחירת g i בתוחלת O(n) עלות בניית פונקציה g i :

11 Data Structures, CS, TAU, Perfect Hashing 1) עלות העבודה בכל שלבי ההכנה בתוחלת. O(n) 2) עלות ביצוע find: : Worst Case O(1) סיכום