Data Structures, CS, TAU, Perfect Hashing 1 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 לא יכולים לתכנן קדימה כדי לחפש, יש צורך לייצר מודל לחפש בו !
חיפוש בינה מלאכותית אבי רוזנפלד. סוגי חיפוש כלליים UNINFORMED SEARCH -- חיפושים לא מיודעים במרחי מצבים – BFS – DFS INFORMED SEARCH – חיפושים מיודעים –
טבלאות סמלים נכתב ע"י אלכס קוגן סמסטר חורף, תשס"ח.
תכנות מונחה עצמים 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 רוצים לסדר את הרשומות כך שהמפתחות לא בסדר יורד (יתכנו.
שאלות ממבחנים. 14 תרגולמבוא למדעי המחשב. כל הזכויות שמורות ©2 תרגיל 1: מטריצות כתבו פונקציהvoid Rotation(int in [N][N], int out [N][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) מסדי נתונים.
תרגול 8 עצי B+ אינדקס משני.
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 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.
קורס תכנות – סימסטר ב ' תשס " ח שיעור שישי: מערכים
Ray 7 דוגמא אלגוריתם 1.קבל דוגמאות 2. פלט f a עבור הדוגמה a המינימלית החיובית ?
1 שמושים ביישומים רבים יש n רשומות, לכל רשומה מפתח: K 1,…..,K n רוצים לסדר את הרשומות כך שהמפתחות לא בסדר יורד (יתכנו כפולים) קריטריונים ליעילות: לא תמיד.
Remember Remember The 5 th of November. תרגול 2 קובץ סדרתי.
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
משטר דינמי – © Dima Elenbogen :14. הגדרת cd ו -pd cd - הזמן שעובר בין הרגע שראשון אותות הכניסה יוצא מתחום לוגי עד אשר אות המוצא יוצא מתחום.
מערכים עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר int grade1, grade2, …, grade20; int grade1, grade2, …, grade20;
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א מודל הלמידה מדוגמאות Learning.
עקרון ההכלה וההדחה.
יחס סדר חלקי.
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.
Eddie Bortnikov/Aran Bergman, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Recitation.
- אמיר רובינשטיין מיונים - Sorting משפט : חסם תחתון על מיון ( המבוסס על השוואות בלבד ) של n מפתחות הינו Ω(nlogn) במקרה הגרוע ובממוצע. ניתן לפעמים.
1 מבוא למדעי המחשב רקורסיה. 2 רקורסיה היא שיטה לפתרון בעיות המבוססת על העיקרון העומד ביסוד אינדוקציה מתמטית: אם ידועה הדרך לפתור בעיה עבור המקרים הבסיסיים.
שיאון שחוריMilOSS-il מוטיבציה  python זה קל ו C זה מהיר. למה לא לשלב?  יש כבר קוד קיים ב C. אנחנו רוצים להשתמש בו, ולבסס מעליו קוד חדש ב python.
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
בעיות נוספות ב-NPC.
ניתוח זמן ריצה (על קצה המזלג)
מערכים של מצביעים הקצאה דינאמית
שיעור עשירי: מיונים, חיפושים, וקצת סיבוכיות חישוב
NG Interpolation: Divided Differences
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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