תזכורת : אלגברה ליניארית מסקנה קלט : וקטורים פלט : האם u תלוי ליניארית ב קלט : מערכת של n משואות לינאריות ב -m נעלמים. פלט : פתרון, או שאין כזה. אלגוריתם.

Slides:



Advertisements
Similar presentations
Completeness and Expressiveness. תזכורת למערכת ההוכחה של לוגיקה מסדר ראשון : אקסיומות 1. ) ) (( 2. )) ) (( )) ( ) ((( 3. ))) F( F( ( 4. ) v) ( ) v ((
Advertisements

1 Trees CLRS: chapter A hierarchical combinatorial structure הגדרה רקורסיבית: 1. צומת בודד. זהו גם שורש העץ. 2. אם n הוא צומת ו T 1 ….T K הינם עצים,
גרף מכוון Directed Graph a b c f g ed h צמתים חוג עצמי קשתות.
מיון (Sorting) קלט : מערך בן n מספרים. פלט : מערך ובו המספרים אותם מאוחסנים בסדר עולה
קורס אלגוריתמים ספר הקורס: מרצה: נעם ניסן מתרגלים:
מכונת מצבים תרגול מס' 4 Moshe Malka.
Recitation #9. Q1 גרף מכוון מורכב מקבוצה של צמתים (nodes) ומקשתות מכוונות (arcs) המחברות ביניהם. כל קשת מכוונת יוצאת מצומת אחד ונכנסת לצומת אחר. ( בגרפים.
מתמטיקה בדידה תרגול 3.
גרפים ממשקלים גרף ממשקל הוא גרף עם משקל לכל קשת עץ פורש הוא עץ שצמתיו הם כל הצמתים של הגרף וקשתותיו הן קשתות הגרף.
מסדי נתונים תשס " ג 1 תכנון סכמות (Design Theory) מסדי נתונים.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
R. Bar-Yehuda © 1 קומבינטוריקה למדעי - המחשב – הרצאה #14 Graph theory – תורת הגרפים Chapter 1: PATHS IN GRAPHS – 1. מסלולים.
עבודה סמינריונית Prelude to Ukkonen algorithm ON-LINE CONSTRUCTION OF SUFFIX TREES מגישים : עיד מוחמד טיבי פיראס.
אוטומט מחסנית הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 11.
Tutorial #7 Preventing combinatorial loops – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
היום נדבר אל נושא אחד בתורת הגרפים. ובהמשך נשתמש בכלים אלו לפתרון כמה בעיות גאומטריות ובפרט להוכחת Szemeredi Trotter theorem.
1 Trees CLRS: chapter A hierarchical combinatorial structure הגדרה רקורסיבית: 1. צומת בודד. זהו גם שורש העץ. 2. אם n הוא צומת ו T 1 ….T K הינם עצים,
2 Suffix Tree: Definition Suffix tree T על מחרוזת S שגודלה n, הוא עץ מכוון עם בדיוק n עלים ממוספרים מ -1 עד n. לכל צומת פנימית ( חוץ מהשורש ) יש לפחות.
משפט ההרכבה Composition Theorem תהי C מחלקה של פונקציות בוליניות תהי נגדיר סדרת פונקציות שניתנות לחישוב בזמן פולינומיאלי.
בהסתברות לפחות למצא בעיה במודל PAC עבור בהסתברות ε הפונקציה f טועה מודל ONLINE 1. אחרי כל טעות הפונקציה משתפרת 2. מספר הטעיות קטן.
מסדי נתונים תשס " ג 1 תכנון סכמות – אלגוריתם פירוק לתבניות בצורת BCNF מסדי נתונים.
עיבוד תמונות ואותות במחשב אלכסנדר ברנגולץ דואר אלקטרוני : שיטות קידוד שיטות קידוד אורך מלת קוד ואנטרופיה אורך מלת קוד ואנטרופיה קידוד.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
תורת הקבוצות חלק ב'. קבוצה בת מניה הגדרה: קבוצה אינסופית X היא ניתנת למניה אם יש התאמה חד-חד ערכית בין X לבין .
תזכורת: גרפים גרף (G=(V,E V|=n, |E|=m| מכוון \ לא מכוון דרגה של קדקד
ערמות ; מבני נתונים 09 מבוסס על מצגות של ליאור שפירא, חיים קפלן, דני פלדמן וחברים.
תחשיב הפסוקים חלק ג'. צורות נורמליות א. DF – Disjunctive Form – סכום של מכפלות. דוגמא: (P  ~Q  R)  (R  P)  (R  ~Q  ~P) הגדרה: נוסחה השקולה לנוסחה.
מודל ONLINE לומדמורה 1. כל ניתן לחישוב בזמן פולינומיאלי 2. אחרי מספר פולינומיאלי של טעיות ( ) הלומד לא טועה ז"א שווה ל- Littlestone 1988.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
Tutorial #7 Preventing combinatorial loops – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT.
שאלה 1 נתון כביש ישר עם תחנות דלק בנקודות , בנקודת המוצא נתונה מכונית עם תא דלק שמספיק ל-100 ק"מ. מחיר מילוי תא הדלק בתחנה.
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
Ray 7 דוגמא אלגוריתם 1.קבל דוגמאות 2. פלט f a עבור הדוגמה a המינימלית החיובית ?
תחשיב הפסוקים חלק ד'. תורת ההיסק של תחשיב הפסוקים.
גרפים - Graphs גרף G(V,E) מורכב מקבוצת צמתים V וקבוצת קשתות E.
R. Bar-Yehuda © 1 קומבינטוריקה למדעי - המחשב – הרצאה #16 EULER GRAPHS גרפים אויילרים מבוסס על הספר : S. Even, "Graph Algorithms",
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
עצים מאוזנים הגדרה: משפחת עצים תקרא מאוזנת אם ,h(T) = O(log n) באשר T הוא עץ במשפחה, n הוא מספר הצמתים ב-T ו-h(T) הוא הגובה של T עצי (Adelson-Velsky,
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א מודל הלמידה מדוגמאות Learning.
עקרון ההכלה וההדחה.
יחס סדר חלקי.
– © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT Tutorial #7 Preventing combinatorial loops.
מבוא למדעי המחשב תרגול 3 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
תחשיב היחסים (הפרדיקטים)
מבוא למדעי המחשב, סמסטר א ', תשע " א תרגול מס ' 1 נושאים  הכרת הקורס  פסאודו - קוד / אלגוריתם 1.
מיון (Sorting) קלט : מערך בן n מספרים. פלט : מערך ובו המספרים אותם מאוחסנים בסדר עולה
Data Structures, CS, TAU, RB-Tree 1 עץ אדום-שחור - עץ חיפוש בינארי - בכל צומת ביט אינפורמציה נוסף - צבע « עץ “ כמעט מאוזן ” « (O(log n במקרה גרוע ביותר.
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א.
עצים בינאריים - תזכורת דרגת צומת שורש עלה צומת פנימי מרחק בין 2 צמתים
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
Lecture 13 Maximal Accurate Forests From Distance Matrix.
(C) סיון טל גילוי מידע וזיהוי תבניות תרגול מס. 9 גילוי מידע וזיהוי תבניות תרגול מס. 9 דחיסת נתונים מהו קידוד תכונות של קידודים אי - שוויון קרפט.
1 Formal Specifications for Complex Systems (236368) Tutorial #3 Z introduction and notation (contd.); Birthday book example (Chapter 1 in the book)
R. Bar-Yehuda © 1 Graph theory – תורת הגרפים 4. ORDERED TREES 4.1 UNIQUELY DECIPHERABLE CODES מבוסס על הספר : S. Even,
1 Space Complexity Non-Deterministic Space אליעזר מדבד
- אמיר רובינשטיין מיונים - Sorting משפט : חסם תחתון על מיון ( המבוסס על השוואות בלבד ) של n מפתחות הינו Ω(nlogn) במקרה הגרוע ובממוצע. ניתן לפעמים.
Data Structures Hanoch Levi and Uri Zwick March 2011 Lecture 3 Dynamic Sets / Dictionaries Binary Search Trees.
. Sequence Alignment Tutorial #3 © Ydo Wexler & Dan Geiger.
מבוא למדעי המחשב סיבוכיות.
SQL בסיסי – הגדרה אינדוקטיבית
תירגול 14: מבני נתונים דינאמיים
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
תרגול מס' 7: Memoization Quicksort תרגילים מתקדמים ברקורסיה
תיאוריית תכנון סכמות למסדי נתונים יחסיים חלק 4
בעיות נוספות ב-NPC.
Marina Kogan Sadetsky –
תרגול 11 NP complete.
חזרה חלקית על תרגול 12 גרף G=(V,E)
Presentation transcript:

תזכורת : אלגברה ליניארית מסקנה קלט : וקטורים פלט : האם u תלוי ליניארית ב קלט : מערכת של n משואות לינאריות ב -m נעלמים. פלט : פתרון, או שאין כזה. אלגוריתם : אלגברה I

קבוצה בלתי - תלויה כבדה ביותר דוגמה : (1,3) 15 (1,4) 10 (2,6) 20 (2,5) 5 פלט : (2,6) & (1,4) w(S)= 30 קלט : אוסף וקטורים עם משקולות חיוביים פלט : תת - קבוצה S בלתי תלויה ליניארית של הוקטורים שמשקלה גדול ביותר

אלגוריתם חמדני משפט : בסוף ריצת האלגוריתם S מכילה קבוצה בלתי תלויה בעלת משקל מקסימאלי. הוכחה : אח ” כ א. מיין את הוקטורים לפי סדר יורד של משקלם. כלומר כעת : ב. S = {} for i = 1…n if v i independent from S S = S + {v i }

תזכורת : גרפים גרף (G=(V,E V|=n, |E|=m| מכוון \ לא מכוון דרגה של קדקד רכיבי קשירות

מטריצת שכנויות A B C D E A B C D E A B C D E

רשימות שכנות A B C D E

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

עץ פורש מקסימאלי הגדרה : עץ פורש של G הינו תת - קבוצה T של צלעות G שמקיימת : ( 1) T עץ,(2) T פורשת את כל קדקדי G. הגדרה : משקל העץ הינו סכום המשקולות של הצלעות בו. קלט : גרף קשיר לא מכוון G עם משקולות w על הצלעות. פלט : עץ פורש שמשקלו מקסימאלי.

אלגוריתם חמדני משפט : בסוף הריצה T הינו עץ פורש מקסימאלי. הוכחה : אח ” כ מיין את הצלעות לפי סדר יורד של משקלן. T = {} for all (u,v) in E ( לפי הסדר ) if (v- ל u- מ T- אין מסלול ב ) T = T + (u,v)

מימוש יעיל עם מיזוג - חיפוש מיזוג - חיפוש אתחול כל קדקד קבוצת יחידה find(v) מחזיר את “ נציג ” קבוצת v union(u,v) מאחד את קבוצות u ו -v מיין את הצלעות לפי סדר יורד של משקלן. T = {} for all (u,v) in E ( לפי הסדר ) if (find(u) != find(v)) T = T + (u,v) union(u,v)

מימוש מיזוג - חיפוש union(u,v): u = find(u) v = find(v) if u.count > v.count v.father = u u.count += v.count else u.father = v v.count += u.count : אתחול for all v v.father = null v.count = 1 find(v): if v.father = null return(v) return find(v.father)

ניתוח מיזוג - חיפוש שכלול : find(v): if v.father = null return v v.father=find(v.father) return v.father למה : אם בקבוצת v יש k קדקדים אזי אורך השרשרת מ - v לנציג שלו הינו לכל היותר (log(k מסקנה : זמן לכל פעולת union/find הינו (O(log n

מטרואידים משפט : לכל אוסף וקטורים X, אם I הוא אוסף תתי - הקבוצות הבת ” ל של X אזי (X,I) מטרואיד. משפט : לכל גרף לא מכוון (V,E) אם I הוא אוסף תתי - הקבוצות של E שאינן מכילות מעגל אז (E,I) מטרואיד. הגדרה : (X,I) נקרא מטרואיד אם : I הינו אוסף של תתי - קבוצות של X -- שנקראות הקבוצות הבלתי תלויות. אם S  I ו -T  S אזי T  I אם S,T  I ו -|T|>|S| אזי קיים t  T כך ש - (S  {t})  I

קבוצה בלתי - תלויה כבדה ביותר אלגוריתם : מיין את אברי X לפי סדר יורד של משקלם. S = {} for i = 1…n if (S + {v i })  I S = S + {v i } משפט : בסוף ריצת האלגוריתם S מכילה קבוצה בלתי תלויה בעלת משקל מקסימאלי. קלט : מטרואיד (X,I) כאשר X={1…m} עם משקולות חיוביים על אברי X: פלט : תת - קבוצה S  I בלתי תלויה שמשקלה גדול ביותר

תזכורת : תור קדימויות מימוש : ערימה זמן לכל פעולה : O(log n) enque(x,p) מכניס את x לתור עם עדיפות p deque() מוציא את האבר בעל העדיפות הגדולה ביותר מהתור

קוד חסר - רישא דוגמאות : קוד ג קוד ב קוד א A B C D בקוד ג : = ACBB... הגדרה : קוד עבור N אותיות הינו סדרת N מחרוזות בינאריות שונות זו מזו. הגדרה : הקוד נקרא חסר - רישא אם אין בו 2 מחרוזות שאחת רישא של השניה.

קוד הופמן דוגמה : A B C D קלט : שכיחויות של N אותיות f 1 …f N פלט : קוד חסר רישא שאורכו הממוצע ( לפי השכיחויות ) קטן ביותר. כלומר אם l i הינו אורך המחרוזות ה -i: AB C D

אלגוריתם חמדני משפט : אלגוריתם זה מייצר קוד אופטימאלי. הוכחה באינדוקציה Priority Que Q = {node(f 1 )…node(f N )} Repeat n-1 times x = Q.deque() y = Q.deque() z = new node(x,y) f z =f x +f y Q.enque(z) Return Q.deque()

הוכחה למה 2 : יהי T קוד אופטימאלי למקרה שבמקום x ו y יש אות אחת z עם f z =f x +f y אזי T+x+y הינו קוד אופטימאלי ( לבעיה המקורית ) מבין אלו שבהם x ו y אחים. למה 1 : יהיו x ו y שתי האותיות בעלות משקל מינימאלי אזי יש קוד אופטימאלי בו x ו y “ אחים ”.