צביעת גרפים: הגדרה: G=(V,E) גרף בלתי מכוון. צביעת G ב-K צבעים 1<K<|V|. f: V {1,…,k} היא פונקציה כך שלכל (u,v)E מתקיים f(u)f(v). גרף שיש.

Slides:



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

מבוא למדעי המחשב לתעשייה וניהול
©Silberschatz, Korth and Sudarshan4.1Database System Concepts סכימה לדוגמא.
גרף מכוון Directed Graph a b c f g ed h צמתים חוג עצמי קשתות.
מתמטיקה בדידה תרגול 3.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
גרפים ממשקלים גרף ממשקל הוא גרף עם משקל לכל קשת עץ פורש הוא עץ שצמתיו הם כל הצמתים של הגרף וקשתותיו הן קשתות הגרף.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
R. Bar-Yehuda © 1 קומבינטוריקה למדעי - המחשב – הרצאה #14 Graph theory – תורת הגרפים Chapter 1: PATHS IN GRAPHS – 1. מסלולים.
רקורסיות נושאי השיעור מהן רקורסיות פתרון רקורסיות : שיטת ההצבה שיטת איטרציות שיטת המסטר 14 יוני יוני יוני 1514 יוני יוני יוני 1514.
עבודה סמינריונית Prelude to Ukkonen algorithm ON-LINE CONSTRUCTION OF SUFFIX TREES מגישים : עיד מוחמד טיבי פיראס.
אוטומט מחסנית הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 11.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
היום נדבר אל נושא אחד בתורת הגרפים. ובהמשך נשתמש בכלים אלו לפתרון כמה בעיות גאומטריות ובפרט להוכחת Szemeredi Trotter theorem.
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
Robust Characterization of Polynomials 1 Robust Characterization of polynomials “IT DOES NOT MAKE SENCE!” מרצים : אורי גרסטן יניב עזריה Ronitt Rubinfeld.
2 Suffix Tree: Definition Suffix tree T על מחרוזת S שגודלה n, הוא עץ מכוון עם בדיוק n עלים ממוספרים מ -1 עד n. לכל צומת פנימית ( חוץ מהשורש ) יש לפחות.
1 Data Structures, CS, TAU, Splay Tree Splay Tree  מימוש של עץ חיפוש בינארי  מטרה לדאוג ל- Amortized Time  פעולה בודדת יכולה לקחת O(N)  אבל כל רצף.
משפט ההרכבה Composition Theorem תהי C מחלקה של פונקציות בוליניות תהי נגדיר סדרת פונקציות שניתנות לחישוב בזמן פולינומיאלי.
בהסתברות לפחות למצא בעיה במודל PAC עבור בהסתברות ε הפונקציה f טועה מודל ONLINE 1. אחרי כל טעות הפונקציה משתפרת 2. מספר הטעיות קטן.
סמינר במדעי המחשב 3 עודד פרץ משפט הנורמליזציה החזקה.
מסדי נתונים תשס " ג 1 תכנון סכמות – אלגוריתם פירוק לתבניות בצורת BCNF מסדי נתונים.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
משטר סטטי שערים לוגיים Wired Drives – © Dima Elenbogen 2009, Moshe Malka :29.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
תורת הקבוצות חלק ב'. קבוצה בת מניה הגדרה: קבוצה אינסופית 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.
שאלה 1 נתון כביש ישר עם תחנות דלק בנקודות , בנקודת המוצא נתונה מכונית עם תא דלק שמספיק ל-100 ק"מ. מחיר מילוי תא הדלק בתחנה.
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
The Cyclic Multi-peg Tower of Hanoi מעגלי חד-כווני סבוכיות הפתרון בגרסאות עם יותר מ-3 עמודים.
Ray 7 דוגמא אלגוריתם 1.קבל דוגמאות 2. פלט f a עבור הדוגמה a המינימלית החיובית ?
גרפים - Graphs גרף G(V,E) מורכב מקבוצת צמתים V וקבוצת קשתות E.
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
תזכורת : אלגברה ליניארית מסקנה קלט : וקטורים פלט : האם u תלוי ליניארית ב קלט : מערכת של n משואות לינאריות ב -m נעלמים. פלט : פתרון, או שאין כזה. אלגוריתם.
עצים מאוזנים הגדרה: משפחת עצים תקרא מאוזנת אם ,h(T) = O(log n) באשר T הוא עץ במשפחה, n הוא מספר הצמתים ב-T ו-h(T) הוא הגובה של T עצי (Adelson-Velsky,
מערכים עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר int grade1, grade2, …, grade20; int grade1, grade2, …, grade20;
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א מודל הלמידה מדוגמאות Learning.
עקרון ההכלה וההדחה.
יחס סדר חלקי.
מבוא למדעי המחשב תרגול 3 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
תחשיב היחסים (הפרדיקטים)
מבוא למדעי המחשב, סמסטר א ', תשע " א תרגול מס ' 1 נושאים  הכרת הקורס  פסאודו - קוד / אלגוריתם 1.
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.
תרגול 4 21/3/2007 מבני נתונים 07b ליאור שפירא. תזכורת – B-trees  לכל צומת x יש השדות הבאים n[x] מס ' מפתחות ב -x המפתחות עצמם בסדר לא יורד כל צומת פנימי.
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
Data Structures Hanoch Levi and Uri Zwick March 2011 Lecture 3 Dynamic Sets / Dictionaries Binary Search Trees.
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site:
Tirgul 12 Trees 1.
Presentation prepared by Rakefet Menda
מבוא למדעי המחשב סיבוכיות.
SQL בסיסי – הגדרה אינדוקטיבית
תירגול 14: מבני נתונים דינאמיים
חיפוש לוקלי Local Search.
פרוקטוז, C6H12O6 , חד-סוכר מיוחד
תיאוריית תכנון סכמות למסדי נתונים יחסיים חלק 4
בעיות נוספות ב-NPC.
Marina Kogan Sadetsky –
תרגול 11 NP complete.
אלגוריתמי קרוב לבעיית Densest k-Subgraph
Fitness Landscape And Memetic Algorithm
חזרה חלקית על תרגול 12 גרף G=(V,E)
Presentation transcript:

צביעת גרפים: הגדרה: G=(V,E) גרף בלתי מכוון. צביעת G ב-K צבעים 1<K<|V|. f: V {1,…,k} היא פונקציה כך שלכל (u,v)E מתקיים f(u)f(v). גרף שיש לו לו צביעה ב-K צבעים נקרא: K צביע. דרגה של צומת = מספר הקשתות שנוגעות בצומת.

הדרגה המקסימלית של הגרף הנ"ל היא 4. דרגה מקסימלית של G: G = maxvV{deg(V)} דוגמה: הדרגה המקסימלית של הגרף הנ"ל היא 4. תמיד מתקיים: G <|V|-1 (במקרה ויש קדקוד המחובר לכל הקדקודים האחרים).

טענה: כל G כנ"ל הוא G +1 צביע. הוכחה: נראה אלגוריתם לצביעת G: COLOR(G) S V While (s  ) pick up some v of s color v (legally) S S-{v}

ל-G יש צביעה מתאימה אםם האלגוריתם לא נתקע. האלגוריתם נתקע אם בשורה 4 אין צבע פנוי עבור v. אבל אם ל-v יש n שכנים, n < G ולכן G +1-n > 0 כלומר תמיד יש לפחות צבע פנוי אחד עבור v לכן האלגוריתם לא יתקע.

ישנם גרפים עם דרגה מקסימלית גבוהה מאוד אך יכולים לצבוע אותם במעט צבעים. דוגמה: הדרגה המקסימלית של הגרף היא 8 וניתן לצבוע אותו ב-2 צבעים. טענה: גרף הוא 2 צביע אםם אין בו מעגל מאורך אי-זוגי.

הוכחה: נתאר אלגוריתם לצביעת G: בחר צומת כלשהי וצבע באדום. בחר שכן של הצומת וצבע אותו בצבע נגדי. סיים כשכל הצמתים צבועים. (צובעים את הצומת בצבע מסוים ואת כל שכניו בצבע השני ואת השכנים של השכנים בצבע הראשון וכן הלאה). האלגוריתם נתקע אםם יש צומת שיש לו שני שכנים הצבועים בשני צבעים שונים.

זה קורה אםם יש בגרף מסלול סגור (מעגל) שאורכו אי-זוגי. אלגוריתם לבדיקה אם גרף הוא 2 צביע: 2-COLOR(G) BFS(G) For each (u,v)E //של הגרף המקורי if(d(u) = d(v))//מס' השכבה return FALSE return TRUE

סיבוכיות: |V|+|E| = BFS לכן הסיבוכיות הכללית: O(|V|+|E|) הגדרה: G כנ"ל נקרא דו צדדי, אם קיימת חלוקה :V1V2 V= (יחוד של קבוצות זרות), כך שכל קשת של G מחברת צומת מ- V1 עם צומת מ-V2. גרף הוא דו-צדדי אםם הוא 2 צביע. (נוכל להגדיר שכל קדקודי V1 יהיו צבועים בצבע וקדקודי V2 בצבע אחר וזה 2 צביע).

בעיית 3-color: בהינתן גרף G כנ"ל האם הוא 3 צביע? פתרון נאיבי: בדיקת כל הצביעות האפשריות של G ב-3 צבעים. סיבוכיות: O( ) טענה: 3_color  NPC

הוכחה: א) 3_color  NPC בהינתן צביעת G ב-3 צבעים, יש לעבור על כל קשת ולבדוק שהיא מחברת צמתים בצבעים שונים. ב) 3_color  NP_hard sat_cnf <p color קלט ל-3-sat_cnf: נוסחה לוגית במבנה cnf. בנית קלט ל- 3_color : V: שלושה צמתים T,R,F.

לכל משתנה יש 2 צמתים(למשתנה ולשלילתו). לכל פסוקית יתווספו 5 משתנים. E: T,R,F מחוברים בקליק. כל משתנה ושלילתו ו-R מחוברים בקליק. לכל פסוקית יותאם המבנה(X Y Z) x y T z

הערה: x,y,z חייבים להיות צבועים רק ב-T או ב-F מאחר וכל משתנה ושלילתו מחובר בקליק ל-R. דוגמה:

הסבר: תנאי 1 מטרתו לצבוע ב-3 צבעים. תנאי 2 אומר שכל משתנה ושלילתו צבועים בצבעים שונים. תנאי 3 מבטיח שלפחות אחד מהמשתנים בכל פסוקית יהיה צבוע ב-T. טענה: ל-G יש צביעה ב-3 צבעים הנוסחה הלוגית בעלת סיפוק.

הוכחה: ל-G יש צביעה ב-3 צבעים T,R,F צבועים בצבעים שונים(1) וגם כל משתנה ושלילתו צבועים ב-T וב-F(2) וגם בכל פסוקית יש משתנה אחד צבוע ב-T(ג) בכל פסוקית יש משתנה אחד לפחות עם ערך T כל פסוקית ניתנת לסיפוק הנוסחה ניתנת לסיפוק. יש פתרון ל-3_sat_cnf יש פתרון ל-3_color. 3_sat_cnfNP_hard 3_color  NP_hard.

אלגוריתמי קרוב אלגוריתמי קרוב- אלגוריתמים שיפתרו לנו בעיות עם סיבוכיות גבוהה בזמן פולינומיאלי. אלגוריתמים אלו לא יתנו את הפתרון האופטימלי אלא יש חסם מסוים על על הקרוב לפתרון(האופטימלי). נגדיר יחס קרוב: נסמן פתרון אופטימלי. C פתרון אלגוריתם קרוב.

בבעיית מקסימיזציה( : (0<C< מגדיר פי כמה גדולה העלות של הפתרון האופטימלי מעלותו של הפתרון המקורב. בבעיית מינימיזציה( : (0< < C מגדיר פי כמה גדולה עלותו של הפתרון המקורב מעלותו של פתרון אופטימלי.

לעיתים נוח יותר להשתמש במדד של השגיאה היחסית: נראה 2 דוגמאות לאלגוריתמי קרוב: VC TSP

אלגוריתם קרוב ל-VC: APPROX-VERTEX-COVER(G) C  E’ E[G] While E’   do let(u,v) be an arbitrary edge of E’ C C{u,v} remove from E’ every edge incident on either u or v Return C

אלגוריתם הקרוב יבחר את 1,2,3,4 (סה"כ 4 קדקודים). דוגמה: 4 2 1 6 5 3 אלגוריתם הקרוב יבחר את 1,2,3,4 (סה"כ 4 קדקודים). אלגוריתם אופטימלי: 2,3,4(סה"כ 3 קדקודים). בדוגמה ספציפית זו יחס הקרוב הוא:

משפט: האלגוריתם(approx vc) מבטיח לנו יחס קרוב של לכל היותר 2. (בעל חסם יחס 2). הוכחה: קבוצת הקדקודים המוחזרת ע"י האלגוריתם מהווה כיסוי מאחר והאלגוריתם מריץ לולאה עד אשר קבוצת הקשתות ריקה.

נשאר להוכיח כי החסם על מספר הקדקודים שהאלגוריתם מחזיר הוא פי 2 לכל היותר ממה שמחזיר האלגוריתם האופטימלי. נסמן ב-A את קבוצת הקשתות שנבחרו בשורה 4 של האלגוריתם. A אינה מכילה אף זוג קשתות שיש להן קדקודים משותפים שכן ברגע שנבחרה קשת בשורה 4, כל הקשתות האחרות הקשורות לקדקודי הקצה של קשת זו נמחקו מ-E’(בשורה 6).

כל ביצוע של שורה 5 מוסיף ל-A 2 קדקודים חדשים כל ביצוע של שורה 5 מוסיף ל-A 2 קדקודים חדשים. אולם כדי לכסות את הקשתות ב-A, כל כיסוי קדקודים ובפרט הכיסוי האופטימלי חייב לכלול לפחות קדקוד קצה אחד של כל קשת ב-A. מאחר ש-A אינה מכילה אף זוג קשתות שיש להן קדקודי קצה משותפים, אף קדקוד בכיסוי אינו קשור ליותר מקשת אחת ב-A. לכן