670 likes | 906 Views
Testing The Diameters of Graphs / Michal Parnas and Dana Ron. מציגים: גיא וינר נועם זינגר. מה יהיה בהרצאה?. נדבר על בדיקת קוטר של גרפים בעלי דרגה בלתי חסומה. נציג אלגוריתם אקראי שעובד ב- האלגוריתם הוא עם שגיאה חד-כיוונית בהסתברות 2/3 . תוצאות ורעיונות נוספים. הקדמה.
E N D
Testing The Diameters of Graphs / Michal Parnas and Dana Ron מציגים: גיא וינר נועם זינגר
מה יהיה בהרצאה? • נדבר על בדיקת קוטר של גרפים בעלי דרגה בלתי חסומה. • נציג אלגוריתם אקראי שעובד ב- • האלגוריתם הוא עם שגיאה חד-כיוונית בהסתברות 2/3. • תוצאות ורעיונות נוספים.
הקדמה • ייצוגי שונים לגרף. • מרחק בין גרפים. • הגדרת בעיה – חסימת קוטר ב-D. • צמצום קוטר הגרף.
ייצוג גרף ללא חסם על הדרגה • המודל דומה למודל הפונקציה: כל צומת ממופה לרשימת השכנים שלו. • דרגת כל צומת תהיה d(v). • עבור כל צומת רשימת השכנים היא באורך d(v).ניתן לקבל את השכן ה-i-י עבור 0≤i≤d(v). • זהו מודל פחות מוגבל, אך הוא אינו מגדיר פונקציה מכיוון שאין לו תחום מוגדר.
מרחק בין שני גרפים • במודל החדש אין מבנה קבוע בגודל, כמו מטריצה או פונקציה, שאפשר להגדיר מרחק עליו. • לכן נגדיר מרחק בין שני גרפים כמספר הצלעות שיש להוסיף או להוריד מאחד כדי לעבור לשני. 1 1 2 2 3 קשתות 3 3 4 4
הגדרה: קוטר גרף • המרחק המקסימלי בין שני קדקודים כלשהם בגרף. • מרחק בין שני קדקודים מוגדר כאורך המסלול הקצר ביותר ביניהם. • או
הגדרת הבעיה • האם גרף G הוא בעל קוטר ≤ D? • פתרון טריוויאלי: נבצע BFS על כל הקדקודים. • סיבוכיות ריצה: O(|E||V|). • סיבוכיות דגימה:כל הגרף. • נרצה להשיג פתרון יעיל יותר, אך במחיר הדיוק.
תחום הבעיה • אנו נתבונן בגרפים קשירים בלבד. • ניתן להניח כי הגרף קשיר, או לוודא קשירות באמצעות בדיקת תכונה זו ע"י האלגוריתם שהוצג בסמינר בשבוע שעבר. • תכונת הקשירות משליכה כי מספר הקשתות בגרף הוא לפחות |E|≥|V|-1.
צמצום קוטר של גרף • ניתן לצמצם קוטר של גרף ע"י הוספת קשתות. • הוספת קשת "מקרבת“קדקודים מרוחקים ל-"מרכז" הגרף. • מאידך, מחיקת קשתות, אם לא פוגעת בקשירות הגרף, יכולה רק להגדיל את קוטר הגרף.
+1 D=7 D=4 +6 D=2 צמצום קוטר ע"י הוספת קשתות
תכונות קוטר הגרף • מסקנה אינטואיטיבית: • ככל שבגרף יותר קשתות, קוטרו קטן יותר. • ככל שהגרף בעל דרגה ממוצעת גבוהה יותר, קוטרו קטן יותר. • הערה: מציאת מספר הקשתות המינימאלי להוספה לגרף כדי לצמצם אותו לקוטר D היא NP-קשה.
הצגת הבעיה באופן יותר פורמאלי, עם הגדרות והכול.
מרחק של גרף מתכונה • תהי Psתכונה פרמטרית ב-S של גרף (למשל, קוטר חסום ב-D). • יהי 0 ≤ ε ≤ 1. גרף G בעל עד m קשתות הוא ε-רחוק מתכונה Ps אם מספר הקשתות שיש להוסיף או להוריד מהגרף כדי שיהיה בעל התכונה הנדרשת הוא גדול מ- ε∙m. • אחרת, הגרף הוא ε-קרוב לתכונה.
מרחק הגרף מתכונה תכונה PSקבלה ε-רחוקמתכונה PSדחייה ε-מרחקמתכונה PS
תנאים מקלים: פונקצית גבול • הבעיה:"האם גרף הוא ε-רחוק מתכונה PS", עלולה להיות NP-קשה. • נגדיר β(s) פונקצית גבול. • נדרוש מאלגוריתם הבדיקה: • אם גרף G הוא בעל התכונה Ps, על האלגוריתם לקבל את הגרף בהסתברות לפחות 2/3. • אם גרף G הוא ε-רחוק מהתכונה Pβ(s), על האלגוריתם לדחות את הגרף בהסתברות לפחות 2/3.
מרחק הגרף מתכונה בתנאים מקילים תכונה PSקבלה בהסתברות לפחות 2/3 ε-רחוקמתכונה Pβ(s)דחייה בהסתברות לפחות 2/3 תכונה Pβ(s) ε-מרחקמתכונה Pβ(s)
משפט 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 • אנו נוכיח תנאי חלש יותר בהמשך.
מסקנה 3.2 • מסקנה: כל גרף קשיר בעל n קדקודים הוא ε-קרוב לקוטר D לכל • לכן נגדיר את התחום המעניין לבעיה כ- • התחום תלוי בדרגה הממוצעת m/n. • ככל ש-ε גדול יותר, הבעיה קלה יותר.
הטענה המרכזית 3.3.1 • קיים אלגוריתם לבדיקת חסם על קוטר גרף עם פונקצית גבול β(D) = 4D + 2, שסיבוכיות הזמן שלו היא O(1/ε3n,m). • בנוסף יש לו שגיאה חד-צדדית, כלומר גרפים עם קוטר עד D מתקבלים תמיד, ואילו גרפים ε-רחוקים מקוטר β(D) מתקבלים בהסברות 2/3.
שגיאה חד צדדית (תזכורת) תכונה PSמקבל תמיד ε-רחוקמתכונה Pβ(s)דחייה בהסתברות לפחות 2/3 תכונה Pβ(s) ε-מרחקמתכונה Pβ(s)
הגדרה:סביבת C לקודקוד • נגדיר סביבה C של קדקוד ככול הקדקודים במרחק עד C ממנו: ΓC(v) = {u | dist(u,v) ≤ C}. • תקרא גם "כדור" שמרכזו v. • ניתן לחשב סביבת C של קודקוד באמצעות הרצת BFS עד מרחק C.
דוגמא: מרכז כדור (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
הגדרה:הקודקוד הטוב, הרע והמכוער • קודקוד רע הוא קודקוד שסביבת C שלו מכילה פחות מ-k קדקודים. • קודקוד טוב, יכיל בסביבת C שלו לפחות k קדקודים. C=2, k=13
האלגוריתם • נגדיר k=2/εn,m,C=D. • אם k=Ω(n), בדוק את הקוטר ע"י סריקת כל הגרף. אחרת: • בחר S= 4/εn,m=Θ(1/εn,m) קדקודים באקראי. • לכל קדקוד בצע BFS עד שכיסית k קדקודים או שכל הקדקודים בסביבה C כוסו, כדי לבדוק אם הקודקוד הוא טוב או רע. • אם כל הקדקודים ב-S הם טובים, קבל. אחרת, דחה.
סיבוכיות האלגוריתם • סיבוכיות כל 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 וב- ε.
ההוכחה • נגדיר ונוכיח מספר למות • נראה כיצד ניתן ע"י הוספת קשתות להקטין את קוטר הגרף • הוכחת הטענה המרכזית
למה 4.1 • אם כל קודקוד הוא טוב, כלומר סביבת C של כל קודקוד מכילה לפחות k קדקודים, אזי הגרף ניתן להמרה לגרף בקוטר לכל היותר 4C+2 ע"י הוספת לכל היותר קשתות.
הוכחת למה 4.1 • נתבונן על הסביבה C של קדקוד v ככדור ברדיוס C שמרכזו v. • נגדיר תחום C של כדור כקדקודים במרחק עד C מאיזשהו צומת בכדור, כלומר במרחק עד C2 מהמרכז v. • הגדרה שקולה:כל הקדקודים שסביבת C שלהם אינה זרה לסביבת C של v.
תחום C של כדור C=2
הוכחת למה 4.1 (המשך) • נחלק את הגרף לכדורים באופן הבא: • המרכז הראשון יהיה צומת כלשהו v. • המרכז הבא u יהיה צומת שאינו בתחום של הכדור של v, כך שהכדורים של u ו-v הם זרים. • נמשיך עד שאי-אפשר להוסיף כדורים.
תכונות מהבניה • נבחין כי אם בכל סביבה C של מרכז (כדור) ישנם לפחות k קדקודים (כי כל הקדקודים טובים), אזי ישנם לא יותר מ- n/k מרכזים. • אף צומת אינו מרוחק יותר מ- C2 ממרכז כלשהו. (אחרת הוא היה מרכז בעצמו)
צמצום קוטר הגרף • נחבר את כל המרכזים למרכז כלשהו. הוספנו n/k - 1 קשתות. • מכאן שהגרף החדש הוא בקוטר 4C+2, כי כל צומת היא במרחק לכל היותר 2C מאיזשהו מרכז. והוא מרוחק לכל היותר 2C+1 מהמרכז המשותף. • מ.ש.ל.
דוגמא לגרף המצומצם קוטר הגרף ירד מ-29 ל-9 בהוספה של 3 קשתות בלבד.
למה 4.2 • עבור כל D≥2 כל גרף קשיר בעל n קדקודים ניתן להמרה לגרף בעל קוטר לכל היותר D ע"י הוספת לכל היותר צלעות. • הערה:משפט 3.1 טוען טענה חזקה יותר
הוכחת למה 4.2 • ההוכחה נובעת ישירות מלמה 4.1 ע"י קביעת ו- • כלומר ניתן להמיר את הגרף לקוטר 4C+2≈D ע"י הוספת לכל היותרקשתות. • הערה:כל קודקוד הוא טוב, כי סביבת C של כל גרף קשיר מכילה לפחות k=C+1 קדקודים. (עבור C<n)
הפסקה הפסקה המזנון פתוח לשירותכם
למה 4.3 • אם סביבת C של לפחות מהקדקודים מכילה לפחות k קדקודים, כלומר קיימים לא יותר מ-n/k קדקודים רעים, אזי הגרף ניתן להמרה לגרף חסום בקוטר 4C+2 ע"י הוספת לכל היותר קשתות.
הוכחת למה 4.3 • בדומה להוכחת למה 4.1, נחלק את הגרף לכדורים זרים, מלבד שנדרוש לבחור מרכזי כדורים ברדיוס C רק קדקודים טובים. • לכל היותר יהיו n/k כדורים, כי כל כדור מכיל לפחות k קדקודים. • נחבר את כל המרכזים למרכז כלשהו. • נחבר את כל הקדקודים הרעים לאותו מרכז.
הוכחת למה 4.3 (המשך) • קישרנו לכל היותר n/k מרכזי כדורים ולכל היותר n/k קדקודים רעים למרכז כלשהו, כלומר הוספנו לכל היותר 2n/k קשתות. • אף צומת אינו מרוחק יותר מ- C2 ממרכז כלשהו. (אחרת אם היה טוב, הוא היה מרכז בעצמו. ואם היה רע, הוא חובר למרכז) • כעת כל הקדקודים הם במרחק לכל היותר 2C+1 מהקודקוד המרכזי, ולכן קוטר הגרף הוא לכל היותר 4C+2. • מ.ש.ל.
הוכחת נכונות האלגוריתם • באלגוריתם קבענו • C=D • k=2/εn,m • S= 4/εn,m (קבוצת הדגימות הראשונית)
הוכחת נכונות (המשך) • עבור כל גרף בקוטר חסום ב-D: • סביבת D שלו מכילה את כל הגרף ← כל קדקוד הוא טוב ← האלגוריתם יקבל תמיד • נותר להראות שכל גרף שהוא ε רחוק מלהיות בקוטר β(D)=4D+2 , האלגוריתם ידחה בהסתברות 2/3.
הוכחת נכונות (המשך) • לפי למה 4.3, אם לכל היותר מהקדקודים הם רעים, אזי הגרף ניתן להמרה לגרף בקוטר חסום ע"י 4D+2 ע"י הוספה של לכל היותר צלעות. • ← כל גרף שהוא ε רחוק מקוטר 4D+2 חייב להכיל יותר מ- קדקודים רעים.
הוכחת נכונות (המשך) • ← עבור גרף שהוא ε רחוק כנ"ל: • ההסתברות שקודקוד מסוים הוא רע • ההסתברות שקודקוד הוא טוב • ההסתברות שכל S הקדקודים טובים • ההסברות לקיום קודקוד רע מבין S • ומכאן: מ.ש.ל
תוצאות נוספות • נראה (ולא נוכיח) פתרונות יותר הדוקים • נראה חסם תחתון לחסימת קוטר גרף בצלעות
תוצאות נוספות 3.3.2 • קיים אלגוריתם לבדיקה האם גרף חסום בקוטר D עם פונקציה β(D)=2D+2 בעל טעות חד כיוונית אשר סיבוכיות זמן הריצה ומספר השאילתות שלה הוא:
תוצאות נוספות3.3.3 • לכל 2≤ i≤ log(D/2+1) קיים אלגוריתם לבדיקה האם גרף חסום בקוטר D עםבעל טעות דו כיוונית אשר סיבוכיות זמן הריצה ומספר השאילתות שלה הואועובד לכל
שגיאה דו צדדית (תזכורת) תכונה PSקבלה בהסתברות לפחות 2/3 ε-רחוקמתכונה Pβ(s)דחייה בהסתברות לפחות 2/3 תכונה Pβ(s) ε-מרחקמתכונה Pβ(s)
שינוי האלגוריתם • נגדיר • בחר S קדקודים ולכל קדקוד בצע BFS כדי לבדוק האם הוא טוב או רע. • אם לא יותר מ- αS קדקודים ב-S הם רעים, אזי קבל. אחרת, דחה.