1 / 57

Testing The Diameters of Graphs / Michal Parnas and Dana Ron

Testing The Diameters of Graphs / Michal Parnas and Dana Ron. מציגים: גיא וינר נועם זינגר. מה יהיה בהרצאה?. נדבר על בדיקת קוטר של גרפים בעלי דרגה בלתי חסומה. נציג אלגוריתם אקראי שעובד ב- האלגוריתם הוא עם שגיאה חד-כיוונית בהסתברות 2/3 . תוצאות ורעיונות נוספים. הקדמה.

Download Presentation

Testing The Diameters of Graphs / Michal Parnas and Dana Ron

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. Testing The Diameters of Graphs / Michal Parnas and Dana Ron מציגים: גיא וינר נועם זינגר

  2. מה יהיה בהרצאה? • נדבר על בדיקת קוטר של גרפים בעלי דרגה בלתי חסומה. • נציג אלגוריתם אקראי שעובד ב- • האלגוריתם הוא עם שגיאה חד-כיוונית בהסתברות 2/3. • תוצאות ורעיונות נוספים.

  3. הקדמה • ייצוגי שונים לגרף. • מרחק בין גרפים. • הגדרת בעיה – חסימת קוטר ב-D. • צמצום קוטר הגרף.

  4. ייצוג גרף ללא חסם על הדרגה • המודל דומה למודל הפונקציה: כל צומת ממופה לרשימת השכנים שלו. • דרגת כל צומת תהיה d(v). • עבור כל צומת רשימת השכנים היא באורך d(v).ניתן לקבל את השכן ה-i-י עבור 0≤i≤d(v). • זהו מודל פחות מוגבל, אך הוא אינו מגדיר פונקציה מכיוון שאין לו תחום מוגדר.

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

  6. הגדרה: קוטר גרף • המרחק המקסימלי בין שני קדקודים כלשהם בגרף. • מרחק בין שני קדקודים מוגדר כאורך המסלול הקצר ביותר ביניהם. • או

  7. הגדרת הבעיה • האם גרף G הוא בעל קוטר ≤ D? • פתרון טריוויאלי: נבצע BFS על כל הקדקודים. • סיבוכיות ריצה: O(|E||V|). • סיבוכיות דגימה:כל הגרף. • נרצה להשיג פתרון יעיל יותר, אך במחיר הדיוק.

  8. תחום הבעיה • אנו נתבונן בגרפים קשירים בלבד. • ניתן להניח כי הגרף קשיר, או לוודא קשירות באמצעות בדיקת תכונה זו ע"י האלגוריתם שהוצג בסמינר בשבוע שעבר. • תכונת הקשירות משליכה כי מספר הקשתות בגרף הוא לפחות |E|≥|V|-1.

  9. צמצום קוטר של גרף • ניתן לצמצם קוטר של גרף ע"י הוספת קשתות. • הוספת קשת "מקרבת“קדקודים מרוחקים ל-"מרכז" הגרף. • מאידך, מחיקת קשתות, אם לא פוגעת בקשירות הגרף, יכולה רק להגדיל את קוטר הגרף.

  10. +1 D=7 D=4 +6 D=2 צמצום קוטר ע"י הוספת קשתות

  11. תכונות קוטר הגרף • מסקנה אינטואיטיבית: • ככל שבגרף יותר קשתות, קוטרו קטן יותר. • ככל שהגרף בעל דרגה ממוצעת גבוהה יותר, קוטרו קטן יותר. • הערה: מציאת מספר הקשתות המינימאלי להוספה לגרף כדי לצמצם אותו לקוטר D היא NP-קשה.

  12. הצגת הבעיה באופן יותר פורמאלי, עם הגדרות והכול.

  13. מרחק של גרף מתכונה • תהי Psתכונה פרמטרית ב-S של גרף (למשל, קוטר חסום ב-D). • יהי 0 ≤ ε ≤ 1. גרף G בעל עד m קשתות הוא ε-רחוק מתכונה Ps אם מספר הקשתות שיש להוסיף או להוריד מהגרף כדי שיהיה בעל התכונה הנדרשת הוא גדול מ- ε∙m. • אחרת, הגרף הוא ε-קרוב לתכונה.

  14. מרחק הגרף מתכונה תכונה PSקבלה ε-רחוקמתכונה PSדחייה ε-מרחקמתכונה PS

  15. תנאים מקלים: פונקצית גבול • הבעיה:"האם גרף הוא ε-רחוק מתכונה PS", עלולה להיות NP-קשה. • נגדיר β(s) פונקצית גבול. • נדרוש מאלגוריתם הבדיקה: • אם גרף G הוא בעל התכונה Ps, על האלגוריתם לקבל את הגרף בהסתברות לפחות 2/3. • אם גרף G הוא ε-רחוק מהתכונה Pβ(s), על האלגוריתם לדחות את הגרף בהסתברות לפחות 2/3.

  16. מרחק הגרף מתכונה בתנאים מקילים תכונה PSקבלה בהסתברות לפחות 2/3 ε-רחוקמתכונה Pβ(s)דחייה בהסתברות לפחות 2/3 תכונה Pβ(s) ε-מרחקמתכונה Pβ(s)

  17. משפט 3.1 • כל גרף קשיר בעל n קדקודים יכול להיות מוסב לגרף בקוטר D ע"י הוספת לכל היותר קשתות. • משפט זה לא יוכח כאן • N.Alon, A.Gyárfás and M.Ruszinkó. Decreasing the diameter of bounded degree graphs. Appeared in Journal of Graph theory, 1999 • אנו נוכיח תנאי חלש יותר בהמשך.

  18. מסקנה 3.2 • מסקנה: כל גרף קשיר בעל n קדקודים הוא ε-קרוב לקוטר D לכל • לכן נגדיר את התחום המעניין לבעיה כ- • התחום תלוי בדרגה הממוצעת m/n. • ככל ש-ε גדול יותר, הבעיה קלה יותר.

  19. הטענה המרכזית 3.3.1 • קיים אלגוריתם לבדיקת חסם על קוטר גרף עם פונקצית גבול β(D) = 4D + 2, שסיבוכיות הזמן שלו היא O(1/ε3n,m). • בנוסף יש לו שגיאה חד-צדדית, כלומר גרפים עם קוטר עד D מתקבלים תמיד, ואילו גרפים ε-רחוקים מקוטר β(D) מתקבלים בהסברות 2/3.

  20. שגיאה חד צדדית (תזכורת) תכונה PSמקבל תמיד ε-רחוקמתכונה Pβ(s)דחייה בהסתברות לפחות 2/3 תכונה Pβ(s) ε-מרחקמתכונה Pβ(s)

  21. הגדרה:סביבת C לקודקוד • נגדיר סביבה C של קדקוד ככול הקדקודים במרחק עד C ממנו: ΓC(v) = {u | dist(u,v) ≤ C}. • תקרא גם "כדור" שמרכזו v. • ניתן לחשב סביבת C של קודקוד באמצעות הרצת BFS עד מרחק C.

  22. דוגמא: מרכז כדור (C=2) 4 4 1 3 3 1 4 1 3 V 1 3 5 2 dist ≤ 2 2 3 2 out dist > 2 4

  23. הגדרה:הקודקוד הטוב, הרע והמכוער • קודקוד רע הוא קודקוד שסביבת C שלו מכילה פחות מ-k קדקודים. • קודקוד טוב, יכיל בסביבת C שלו לפחות k קדקודים. C=2, k=13

  24. האלגוריתם • נגדיר k=2/εn,m,C=D. • אם k=Ω(n), בדוק את הקוטר ע"י סריקת כל הגרף. אחרת: • בחר S= 4/εn,m=Θ(1/εn,m) קדקודים באקראי. • לכל קדקוד בצע BFS עד שכיסית k קדקודים או שכל הקדקודים בסביבה C כוסו, כדי לבדוק אם הקודקוד הוא טוב או רע. • אם כל הקדקודים ב-S הם טובים, קבל. אחרת, דחה.

  25. סיבוכיות האלגוריתם • סיבוכיות כל BFS: • עד מקסימום k = 2/εn,mקדקודים (פחות עם מגיעים לסביבה C). • כל סריקת BFS במקרה הגרוע O(1/ε2n,m)O(k2)= • מספר החיפושים: O(1/εn,m). • סה"כ: O(1/ε3n,m), כמובטח. • סדר גודל הבדיקה אינו תלוי ב-n או D, אלה ביחס m/n וב- ε.

  26. ההוכחה • נגדיר ונוכיח מספר למות • נראה כיצד ניתן ע"י הוספת קשתות להקטין את קוטר הגרף • הוכחת הטענה המרכזית

  27. למה 4.1 • אם כל קודקוד הוא טוב, כלומר סביבת C של כל קודקוד מכילה לפחות k קדקודים, אזי הגרף ניתן להמרה לגרף בקוטר לכל היותר 4C+2 ע"י הוספת לכל היותר קשתות.

  28. הוכחת למה 4.1 • נתבונן על הסביבה C של קדקוד v ככדור ברדיוס C שמרכזו v. • נגדיר תחום C של כדור כקדקודים במרחק עד C מאיזשהו צומת בכדור, כלומר במרחק עד C2 מהמרכז v. • הגדרה שקולה:כל הקדקודים שסביבת C שלהם אינה זרה לסביבת C של v.

  29. תחום C של כדור C=2

  30. הוכחת למה 4.1 (המשך) • נחלק את הגרף לכדורים באופן הבא: • המרכז הראשון יהיה צומת כלשהו v. • המרכז הבא u יהיה צומת שאינו בתחום של הכדור של v, כך שהכדורים של u ו-v הם זרים. • נמשיך עד שאי-אפשר להוסיף כדורים.

  31. דוגמא לגרף מחולק לכדורים זרים

  32. תכונות מהבניה • נבחין כי אם בכל סביבה C של מרכז (כדור) ישנם לפחות k קדקודים (כי כל הקדקודים טובים), אזי ישנם לא יותר מ- n/k מרכזים. • אף צומת אינו מרוחק יותר מ- C2 ממרכז כלשהו. (אחרת הוא היה מרכז בעצמו)

  33. צמצום קוטר הגרף • נחבר את כל המרכזים למרכז כלשהו. הוספנו n/k - 1 קשתות. • מכאן שהגרף החדש הוא בקוטר 4C+2, כי כל צומת היא במרחק לכל היותר 2C מאיזשהו מרכז. והוא מרוחק לכל היותר 2C+1 מהמרכז המשותף. • מ.ש.ל.

  34. דוגמא לגרף המצומצם קוטר הגרף ירד מ-29 ל-9 בהוספה של 3 קשתות בלבד.

  35. למה 4.2 • עבור כל D≥2 כל גרף קשיר בעל n קדקודים ניתן להמרה לגרף בעל קוטר לכל היותר D ע"י הוספת לכל היותר צלעות. • הערה:משפט 3.1 טוען טענה חזקה יותר

  36. הוכחת למה 4.2 • ההוכחה נובעת ישירות מלמה 4.1 ע"י קביעת ו- • כלומר ניתן להמיר את הגרף לקוטר 4C+2≈D ע"י הוספת לכל היותרקשתות. • הערה:כל קודקוד הוא טוב, כי סביבת C של כל גרף קשיר מכילה לפחות k=C+1 קדקודים. (עבור C<n)

  37. הפסקה הפסקה המזנון פתוח לשירותכם

  38. למה 4.3 • אם סביבת C של לפחות מהקדקודים מכילה לפחות k קדקודים, כלומר קיימים לא יותר מ-n/k קדקודים רעים, אזי הגרף ניתן להמרה לגרף חסום בקוטר 4C+2 ע"י הוספת לכל היותר קשתות.

  39. הוכחת למה 4.3 • בדומה להוכחת למה 4.1, נחלק את הגרף לכדורים זרים, מלבד שנדרוש לבחור מרכזי כדורים ברדיוס C רק קדקודים טובים. • לכל היותר יהיו n/k כדורים, כי כל כדור מכיל לפחות k קדקודים. • נחבר את כל המרכזים למרכז כלשהו. • נחבר את כל הקדקודים הרעים לאותו מרכז.

  40. למשל

  41. הוכחת למה 4.3 (המשך) • קישרנו לכל היותר n/k מרכזי כדורים ולכל היותר n/k קדקודים רעים למרכז כלשהו, כלומר הוספנו לכל היותר 2n/k קשתות. • אף צומת אינו מרוחק יותר מ- C2 ממרכז כלשהו. (אחרת אם היה טוב, הוא היה מרכז בעצמו. ואם היה רע, הוא חובר למרכז) • כעת כל הקדקודים הם במרחק לכל היותר 2C+1 מהקודקוד המרכזי, ולכן קוטר הגרף הוא לכל היותר 4C+2. • מ.ש.ל.

  42. הוכחת נכונות האלגוריתם • באלגוריתם קבענו • C=D • k=2/εn,m • S= 4/εn,m (קבוצת הדגימות הראשונית)

  43. הוכחת נכונות (המשך) • עבור כל גרף בקוטר חסום ב-D: • סביבת D שלו מכילה את כל הגרף ← כל קדקוד הוא טוב ← האלגוריתם יקבל תמיד • נותר להראות שכל גרף שהוא ε רחוק מלהיות בקוטר β(D)=4D+2 , האלגוריתם ידחה בהסתברות 2/3.

  44. הוכחת נכונות (המשך) • לפי למה 4.3, אם לכל היותר מהקדקודים הם רעים, אזי הגרף ניתן להמרה לגרף בקוטר חסום ע"י 4D+2 ע"י הוספה של לכל היותר צלעות. • ← כל גרף שהוא ε רחוק מקוטר 4D+2 חייב להכיל יותר מ- קדקודים רעים.

  45. הוכחת נכונות (המשך) • ← עבור גרף שהוא ε רחוק כנ"ל: • ההסתברות שקודקוד מסוים הוא רע • ההסתברות שקודקוד הוא טוב • ההסתברות שכל S הקדקודים טובים • ההסברות לקיום קודקוד רע מבין S • ומכאן: מ.ש.ל

  46. תוצאות נוספות • נראה (ולא נוכיח) פתרונות יותר הדוקים • נראה חסם תחתון לחסימת קוטר גרף בצלעות

  47. תוצאות נוספות 3.3.2 • קיים אלגוריתם לבדיקה האם גרף חסום בקוטר D עם פונקציה β(D)=2D+2 בעל טעות חד כיוונית אשר סיבוכיות זמן הריצה ומספר השאילתות שלה הוא:

  48. תוצאות נוספות3.3.3 • לכל 2≤ i≤ log(D/2+1) קיים אלגוריתם לבדיקה האם גרף חסום בקוטר D עםבעל טעות דו כיוונית אשר סיבוכיות זמן הריצה ומספר השאילתות שלה הואועובד לכל

  49. שגיאה דו צדדית (תזכורת) תכונה PSקבלה בהסתברות לפחות 2/3 ε-רחוקמתכונה Pβ(s)דחייה בהסתברות לפחות 2/3 תכונה Pβ(s) ε-מרחקמתכונה Pβ(s)

  50. שינוי האלגוריתם • נגדיר • בחר S קדקודים ולכל קדקוד בצע BFS כדי לבדוק האם הוא טוב או רע. • אם לא יותר מ- αS קדקודים ב-S הם רעים, אזי קבל. אחרת, דחה.

More Related