1 / 40

Parameterized Approximability of the Disjoint Cycle Problem

Parameterized Approximability of the Disjoint Cycle Problem. Martin Grohe and Magdalena Grüber מציגה: אסנת אורדן. בעיית המעגלים הזרים בצמתים. הגדרת הבעיה: בהנתן גרף מכוון G=(V,E) מצא את משפחת המעגלים המקסימלית, כך שהמעגלים זרים בצמתים.

admon
Download Presentation

Parameterized Approximability of the Disjoint Cycle Problem

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. Parameterized Approximability of the Disjoint Cycle Problem Martin Grohe and Magdalena Grüber מציגה:אסנת אורדן

  2. בעיית המעגלים הזרים בצמתים הגדרת הבעיה:בהנתן גרף מכוון G=(V,E) מצא את משפחת המעגלים המקסימלית, כך שהמעגלים זרים בצמתים. הגדרת הבעיה הפרמטרית:בגרסה הפרמטרית נתון גם שלםk>0 , ומחפשים משפחה של לפחותk מעגלים זרים בצמתים בגרף. • בעיה זו היא NP-complete וכן W[1]-קשה, וככל הידוע אין לה אלגוריתם FPT

  3. בעיית המעגלים הזרים בצמתים • המאמר מציג אלגוריתם קירוב FPT המוצא k/ρ(k)מעגלים זרים בצמתים בגרף אם קיימים בו לפחות k מעגלים כאלה, אחרת מודיע על כישלון. • ρ היא פונקציה ניתנת לחישוב כך ש- k/ρ(k) היא פונקציה עולה ולא חסומה.

  4. הבעיה הדואלית - Feedback Vertex Set • בעיית התכנות הלינארי הדואלית לבעיית המעגלים הזרים בצמתים היא Feedback Vertex Set: בהנתן גרף מכוון G=(V,E) מצא קבוצה מינימלית של צמתים שהסרתה מהגרף תהפוך אותו לחסר מעגלים. • (G) - גודל קבוצת ה-FVS המינימלית • (G) - גודל קבוצת המעגלים הזרים בצמתים המקסימלית. • ברור כי (G) ≤ (G) • כל צומת שהוסר מהגרף יכול לסגור לכל היותר מעגל אחד בגרף, כי המעגלים זרים בצמתים.

  5. הבעיה הדואלית - Feedback Vertex Set • בעיית התכנות הלינארי המתאימה ל-FVS: Minimize subject to for every cycle C in G, for every vertex vV • הפתרון המינימלי השבור לבעיה זו מסומן ע'י *(G). • נוסחת התכנות הלינארי של בעיית המעגלים הזרים בצמתים נותנת את הבעיה הדואלית לזו של FVS, והפתרון השבור שלה מסומן*(G). • מכיוון שהפתרונות האופטימליים השבורים חופפים, מתקבל:(G) ≤*(G) =*(G) ≤(G)

  6. משפט 2 • לכל גרף מכוון G מתקיים: (G)=O(*(G)∙log(*(G))∙log log(*(G))) • קיים אלגוריתם בעל זמן ריצה פולינומי המוצא FVS בגרף מכוון G בגודל לכל היותר (G)=O(*(G)∙log(*(G))∙log log(*(G)))

  7. משפט 3 • קיימת פונקציה עולה ממש וניתנת לחישוב f כך שלכל גרף מכוון G מתקיים (G)≤ f((G)) • הפונקציה f גדלה במהירות – אקספוננט איטרטיבי, שמספר האיטרציות הוא בעצמו אקספוננט איטרטיבי.

  8. הגדרות קישורLבגרף מכוון G=(V,E)הוא אוסף מסלולים זרים בצמתים. • בהנתן קבוצות צמתים A,BVנאמר ש-Lמקשר בין A ל-B אם כל מסלול ב-Lמתחיל בצומת ב-Aומסתיים בצומת ב-B. • גודל הקישור הוא מספר המסלולים הזרים בצמתים. הפרדה (X,Y) בגרף מכוון G=(V,E)היא חלוקה של צמתי הגרף לשתי קבוצות X,YV כך ש-XY=V, ולא קיימת קשת היוצאת מ-X\Y ל-X\Y. • גודל ההפרדה הוא |XY| • הקבוצה XY מפרידה בין שתי תתי קבוצות A=X\Y, B=Y\X, שכן החסרתה מהגרף מסירה כל מסלול בין צמתי A לצמתי B.

  9. משפט מנגר (Menger) • בהנתן גרף מכוון G=(V,E), קבוצות צמתיםA,BV, ושלםk≥1, קיים קישורבגודלkמ-Aל-Bאם ורק אם לא קיימת הפרדה (X,Y)של Gבגודל קטן מ-kכך ש-AX, BY. • בניסוח אחר – גודל הקישור המקסימלי בין A ל-B שווה לגודל ההפרדה המינימלית בינהן. • לכן גודל קישור הוא חסם תחתון על גודל כל הפרדה. • קיים אלגוריתם בעל זמן ריצה פולינומי, שבהנתן גרף מכוון G, שלם חיובי kושתי תתי קבוצות A,BVכל אחת בגודל לפחות k, מוצא kמסלולים זרים בצמתים מ-Aל-Bאו הפרדה(X,Y) מסדר קטן מ-kכך ש-AX, BY.

  10. המשפט המרכזי • קיים אלגוריתם קירוב FPT לבעיית מקסימום המעגלים הזרים בצמתים בגרף מכוון עם זמן ריצה פולינומי. • נראה אלגוריתם המחשב לפחות τ*(G)/ρ(τ*(G)) מעגלים זרים בצמתים בהינתן גרף G ופונקציה ניתנת לחישוב ρ:N→Nכך ש- x/ρ(x) פונקציה עולה ולא חסומה. זמן הריצה של האלגוריתם חסום על ידיg(τ*(G))∙|G|O(1) עבור פונקציה g ניתנת לחישוב.

  11. למת הפיצול יהי Gגרף מכוון, Tfeedback vertex set של G ו-m≤|T|/2. אזי לפחות אחד מהבאיםמתקיים: • לכל תתי הקבוצות הזרות בצמתים A,BT כך ש-|A|=|B|=m קיים קישור מ-A ל-B שאין לו צמתים ב- T\(AB) • קיים T’ FVS של Gכך ש- |T’|<|T| • קיימים שני תתי גרף של Gזרים בצמתים G1,G2, מעגלים C1 ב-G1, C2 ב- G2, ו-FVST1 ב-G1 ו- T2ב- G2כך שמתקיים: • |T1|= |T2|=m • לכל FVST1’של G1 , T2’שלG2: הקבוצה T1’  T2’(V\(V(G1)V(G2))היא FVS שלGבגודל לכלהיותר T1’|+ | T2’|+|T|-(m+1)|

  12. למת הפיצול - אלגוריתם • קיים אלגוריתם שבהינתן G, T ו-m מזהה כי 1 מתקיים, או מחשב T’ לפי 2 אומחשב ,C1,G1T1, G2, C2, T2לפי 3. • זמן הריצה של האלגוריתם הוא ∙|G|O(1)3|T|

  13. למת הפיצול - הוכחה • נניח ש-)1( לא מתקיים. אז קיימים A,BT כך ש-|A|=|B|=m ולא קיים קישור מ-A ל-B שאינו מכיל צמתים ב- Z=T\(AB). • כלומר, כל מסלול מ-A ל-B עובר ב-Z. • לפי משפט מנגר קיימת הפרדה (X,Y)של Gכך ש: • AX, BY • Z (XY) • W=(XY)\Z • |W|<m

  14. למת הפיצול - הוכחה • יהיו G1=G\Y, G2=G\X • נסמן D1=A(XY), D2=B(XY) • מתקיים כי |D1|=|D2|<|T|: • |A|=|B|=m≤|T|/2 • XY=WZ • |Z|=|T\(AB)|=|T|-2m • |W|<m • בסה'כ |D1|=|A|+|W|+|Z| ≤ m+m-1+|T|-2m = |T|-1 • יתכן כי D1או D2הם FVS עבור G. במקרה זה הצלחנו למצוא FVS קטן יותר ל-G, ואז מתקיים )2(.

  15. למת הפיצול - הוכחה • אחרת – קיימים מעגלים C1,C2כך ש-V(C1)D2=ו- V(C2)D1=. • שכן D1ו-D2אינם FVS, ולכן קיימים מעגלים שכל צומתיהם אינם ב- D1או ב-D2. • Ci Giעבור i=1,2: • נוכיח עבור C1(ההוכחה עבור C2שקולה) • T הוא FVS => T V(C1)=> A V(C1) • כיBו-Zמוכלים ב-D2ו- V(C1)D2=

  16. למת הפיצול - הוכחה • מכיוון ש-(X,Y)היא הפרדה, ו-XYV(C1)=, אזי V(C1)לא פוגשים אתY, ולכן C1מוכל ב-G1. • אחרת C1 הוא מסלול מ-X ל-Y שלא דרך הקבוצה המפרידה. • A ו-B הן FVS עבור G1ו- G2בהתאמה, שכן כל מעגל ב-G חייב לעבור דרך T, ו- TV(G1)=A, TV(G2)=B.

  17. למת הפיצול - הוכחה • אם נבחר T1=A, T2=B, תנאי )3( מתקיימים: • |T1|=|A|=|T2|=|B|=m • לכל FVST1’של G1 , T2’שלG2: • הקבוצה T1’  T2’(V\(V(G1)V(G2))היא FVS שלG: T1’ פוגש את כל מעגלי G1,T2’פוגש את כל מעגלי G2, ו-(V\(V(G1)V(G2))הם יתרת הצמתים ולכן כל מעגל בקבוצת צמתים זו יוסר. • גודל הקבוצה הוא לכלהיותר T1’|+ | T2’|+|T|-(m+1)|: |Z|=|T|-2m, |W|<m => |W|≤m-1 => |W|+|Z|בגודל לכל היותר |T|-2m+m-1=|T|-(m+1)

  18. למת הפיצול – הוכחת האלגוריתם • נמצא את כל חלוקות T ל-A,B,Z – בזמן חסום ע'י 3|T| • באמצעות האלגוריתם של משפט מנגר נמצא הפרדה (X,Y) לפי התנאים בלמה, אם קיימת כזו, בזמן פולינומי. • בהנתן A,B,X,Y ניתן לבדוק בזמן פולינומי אם הקבוצות D1, D2 הן FVS, ולמצוא מעגלים C1, C2אם לא. • בסה'כ זמן הריצה ∙|G|O(1)3|T|

  19. הגדרה – μ(G) • נגדיר את κ=κ(G)בהנתן גרף G כשלם המקסימלי המקיים: • λ(G)=(κ(G)-1)2+1 • μ(G)=(κ(G)+1) ∙λ(G)

  20. למת הקישור • קיימת פונקציה ניתנת לחישוב, עולה ולא חסומה φ כך שמתקיים: • יהי G גרף מכוון, m≤µ(G), ויהי TFVS של G כך שלכל A,BT בגודל |A|=|B|=m קיים קישור מ-A ל-B ללא צמתים ב-T\(AB). • אזי קיימת משפחה של לפחות φ(m)מעגלים זרים בצמתים ב-G. • קיים אלגוריתם שמחשב משפחה כזו בזמןg(|T|)∙|G|O(1) עבור פונקציה ניתנת לחישוב g.

  21. האלגוריתם המרכזי • קיימת פונקציה ניתנת לחישוב, עולה ולא חסומה , פונקציה ניתנת לחישוב g, ואלגוריתםAכך שמתקיים: • בהנתן גרף מכוון G, האלגוריתם A מחשב משפחה של לפחות (*(G))מעגלים זרים בצמתים ב-G, בזמןg(*(G))∙|G|O(1)

  22. הגדרות • נסמןmi=µ(G)/4iעבורi>0. • נסמןi* - השלם המינימלי המקיים mi*≤4 • φהיא הפונקציה מלמת הקישור • נגדיר את הפונקציה  כך: (0)=(1)=min{φ(1),i*} (k)=min{(k/4)+1, φ(k),i*} • פונקציה ניתנת לחישוב, עולה ולא חסומה

  23. הגדרות • לפי הגדרת µ(G) קיימת פונקציה ניתנת לחישוב, עולה ולא חסומה  המקיימת (*(G))= µ(G)לכל גרף מכווןG. נגדיר את להיות (x)=((x)).

  24. האלגוריתם A • בהנתן גרף מכוון G – A מחשב FVST בגודל O(*(G)∙log(*(G))∙log log(*(G)))לפי משפט 2. • A בונה עץ בינארי B שצמתיו מסומנים ע'י זוגות(G’,T’), כאשרG’ הוא גרף ו-T’הוא FVS שלו. • קשתות העץ B מתויגות ע'י מעגלים ב-G. • בכל שלב האלגוריתם A מחשב עלה של העץ, ועוצר או משנה את העץ וממשיך עם צומת אחר. • אם A הוא אלגוריתם רקורסיבי – B מתאר את מחסנית הרקורסיה.

  25. בניית העץ B • באתחול – B מכיל רק שורש עבור (G,T). • חישוב צומת b המסומן(Gb,Tb) בעומקi: • אם i≥i* האלגוריתם עוצר ומדווח על המעגלים שמתייגים את הקשתות במסלול מהשורש ל-b. mi≤4 וקטן מידי להמשך האלגוריתם • אחרת נקרא האלגוריתם מלמת הפיצול עם קלט Gb,Tb ו- mi. בהמשך נראה כי 2mi ≤ |Tb|. • בהתאם לתוצאת למת הפיצול – נבחר הצעד הבא:

  26. צעד הבניה של B- צעד קישור • אם לכל A,BTb בגודל |A|=|B|=mi קיים קישור מ-A ל-B ללא צמתים ב-Tb\(AB) – האלגוריתם מלמת הקישור נקרא עבור הקלט (Gb,Tb). • הוא מחזיר משפחה C של φ(mi)מעגלים זרים בצמתים ב-Gb. האלגוריתם A עוצר ומוציא כפלט את מעגלי Cוהמעגלים המתייגים את הקשתות במסלול מהשורש ל-b ב-B.

  27. צעד הבניה של B- צעד פיצול • אם האלגוריתם של למת הפיצול מחזיר שני תתי גרפים זרים G1,G2, מעגלים C1 G1, C2  G2 ו-FVST1 ב-G1 ו- T2ב- G2– • האלגוריתם A יוצר שני בנים חדשים ל-b – b1,b2 • לכל צומת i=1,2 הבן bi מתוייג (Gi,Ti) והקשת מ-b ל-bi מתוייגת ע'י מעגל C2-i, כך שהמעגל זר בצמתים לתת הגרף בצומת bi. • הטיפול בצומת b הסתיים, והאלגוריתם A ממשיך עם הבן b1.

  28. צעד הבניה של B- צעד כיווץ • אם האלגוריתם של למת הפיצול מחזיר FVSTb’ של Gbהמקיים |Tb’|<| Tb| - האלגוריתם A מתייג מחדש את העלה b ע'י (Gb,Tb’) ומבצע את הפונקציה S עבור העלה b: • הקלט ל-S – עלה b1=(G1,T1) • אםb1הוא השורש – S מחזירה אתb1 • אחרת ל- b1יש אב b’=(G’,T’)ואח b2=(G2,T2)

  29. צעד הבניה של B- צעד כיווץ • יהי T’’=T1 T2(V(G’)\(V(G1)V(G2)) . • S מבדילה בין 3 מקרים: • |T’’|<|T’| - Sמוחקת את b1 ו-b2, מתייגת את b’ ע'י (G’,T’’)ומחזירה את b’. • |T’’|≥|T’|וגם |T2|≥|T1| - S מחזירה את b2. • אחרת (|T’’|≥|T’|וגם |T2|>|T1|) - S מחזירה אתb1. • כלומר - S ממשיכה עם הבן שיש לו T גדול יותר אם ה-FVS לא צומצם. • A ממשיך עם העלה שמוחזר ע'י S.

  30. הוכחת האלגוריתם • הצומת בו מטפל האלגוריתם בכל שלב הוא עלה. • בכל שלב בו מטופל צומת b, האח של כל צומת במסלול מהשורש ל-b הוא עלה (העץ לא מפותח). • מלמת הפיצול נובע:

  31. הוכחת האלגוריתם • בהנתן צומת b=(Gb,Tb) בעץ – המעגלים המתייגים את הקשתות במסלול מהשורש ל-b זרים בצמתים זה מזה ומהגרף Gb. • בהנתן צומת b=(Gb,Tb) בעץ – Tb הוא FVS של Gb. • יהי b1=(G1,T1) צומת בעומק i+1 עבור i≥0, עם אב b’=(G’,T’)ואחb2=(G2,T2). אזי G1ו- G2הם תתי גרף זרים בצמתים של G’, לכל FVST1’של G1 , T2’ שלG2הקבוצה T1’  T2’(V(G’)\(V(G1)V(G2))היא FVS שלG בגודל לכל היותר T1’|+ | T2’|+|T’|-(mi+1)|.

  32. הוכחת האלגוריתם כמו כן מתקיים mi<|T1|+|T2|≤2mi. • חסם עליון – כי כל T נוצר מצעד פיצול שבו |T1|=|T2|=mi, ויתכן כי לאחריו היה צעד צמצום, אך לכל היותר סכומם 2mi. • חסם תחתון – ברגע שמתקיים |T1|+|T2|≤mi עבור הבנים b1,b2, הפונקציה S מוחקת את הבנים, שכן: T’’=T1 T2(V(G’)\(V(G1)V(G2))וגודלו |T’’| ≤ |T1|+|T2|+|T’|-(mi+1) ≤ mi+|T’|-(mi+1)=|T’|-1 < |T’|

  33. הוכחת האלגוריתם • אם במהלך ריצת האלגוריתם עלה b1=(G1,T1)מטופל, ויש לו אח b2=(G2,T2), אזי|T1|≥|T2|. • כי S תמיד מחזירה את הבן עם T הכי גדול. • מ-3 ו-4 נובע: אם במהלך ריצת האלגוריתם עלה b1=(G1,T1)בעומק i+1 עבור i≥0 מטופל, אזי mi/2 ≤|T1|. • כי 2|T1| ≥ |T1|+|T2|>mi • השורש מתויג (G,T0)עבור FVS כלשהו T0 בגודל 2m0≤|T0|=O(*(G)∙log(*(G))∙log log(*(G))) • כי 2m0= 2µ(G)≤*(G)≤ (G)מהגדרת µ(G) • במהלך ריצת האלגוריתם, כשצומת b=(Gb,Tb) בעומקiמטופל מתקיים: 2mi≤|Tb| • כיmi+1≤mi/4לכן: |Tb| ≥ mi-1/2 ≥ 4mi/2 = 2mi

  34. הוכחת האלגוריתם • כשהאלגוריתם עוצר – הפלט שלו הוא קבוצת מעגלים זרים בצמתים. • גודל הקבוצה הוא i* אם האלגוריתם עוצר בעלה בעומק i*, או i+φ(mi)אם האלגוריתם עוצר בעלה בעומק i<i*בצעד קישור. • מכיוון ש- (µ(G))=(m0) ≤ min(i*,i+ φ(mi))עבור0≤i≤i*וכן(*(G))= µ(G) – קבוצת מעגלים זו גדולה מספיק.

  35. הוכחת זמן הריצה • נמצא חסם עליון למספר צעדי הכיווץ N במהלך בניית העץ: • בשורש העץ יכולים להתבצע לכל היותר |T|-*(G)צעדי כיווץ לפני שנגיע ל-FVS המינימלי של G. • אם בכל צעד נצמצם בצומת אחד בלבד. • לכל צומת b’ בעומק i≥1 – בבנים של b’ יכולים להתבצע לכל היותר mi≤µ(G)צעדי כיווץ לפני שה-FVS שלb’מכווץ והבנים שלו נמחקים ע'י S. • ראינו כי T’’=T1 T2(V\(V(G1)V(G2))הוא FVS בגודל לכל היותרT1|+ | T2|+|T|-(mi+1)|, וכן|T1|+|T2|≤2mi. לכן לאחר mi צעדי כיווץ של צומת אחד –|T1|+|T2|≤miו-|T’’|<|T|ואזb’ מתוייג מחדש ע'י (G’,T’’).

  36. הוכחת זמן הריצה • לכל i עבור 1≤i≤i*: העץ B מכיל לכל היותר שני צמתים בעומק i ו-mi≤m0=µ(G), ולכן מתבצעים לכל היותר (|T|-*(G))∙µ(G)i*צעדי כיווץ בסך הכל. • מהגדרת µ(G)ו-i*, ומכיוון ש-|T|=O(*(G)∙log(*(G))∙log log(*(G)))ניתן לחסום מלמעלה את המספר N ע'י פונקציה של *(G). • מכאן שאפשר לבצע את האלגוריתם ע'י שימוש בלמת הפיצול לכל היותר 2i*∙(N+1) פעמים, ובלמת הקישור לכל היותר פעם אחת. • בסה'כ זמן הריצה חסום ע'י g(*(G))∙|G|O(1) עבור פונקציה ניתנת לחישוב g.

  37. הגדרה – Well-behaved problem • עבור בעיית NP-maximizationO נסמן ב-opt(x) את הערך של הפתרון האופטימלי. • בעיית NP-maximizationOהיא well-behaved עבור קירוב פרמטרי אם קיים קבוע c≥0 כך שמתקיים: • בהנתן מקרה (instance) שלOx ניתן לבנות מקרה אחר ל-Ox’ בזמן פולינומי ב-|x| כך ש-|x’|<|x|, ו-opt(x)≥opt(x’)≥opt(x)-c • לכל מקרה x מתקיים כי פתרון תקף ל-x’ הוא גם פתרון תקף ל-x.

  38. Well-behaved problem • בעיית המעגלים הזרים בצמתים היא well-behaved: • בהנתן גרף G ניתן למחוק צומת w ולקבל גרף G’=G\{w} כך ש- (G) ≥ (G’) ≥ (G)-1, וכל משפחה של מעגלים זרים בצמתים ב-G’היא גם משפחת מעגלים זרים בצמתים ב-G.

  39. טענה 7 • תהי O בעיית NP-maximization מעל אלף-בית  שהיאwell-behaved עבור קירוב פרמטרי, ותהי ρ:N→Nפונקציה ניתנת לחישובכך ש- x/ρ(x) פונקציה עולה ולא חסומה. • אם קיימת פונקציה ניתנת לחישוב g ואלגוריתם B שבהנתן קלט x* מחשבת פתרון y עבור x בערך k≥opt(x)/ρ(opt(x)) בזמן g(opt(x))∙|x|O(1), אז ל-O קיים אלגוריתם קירוב FPT עם יחס קירוב ρ.

  40. קירוב FPT לבעיית המעגלים הזרים בצמתים • ראינו שבעיית מקסימום מעגלים זרים בצמתים היא well-behaved, וראינו אלגוריתם המוצא פתרון מקורב עבור *(G). • מכיוון ש- (G) ≤ *(G)– יחס הקירוב שמצא האלגוריתם הוא טוב לפחות כמו יחס הקירוב עבור האופטימום (G). • לפי טענה 7 - לבעיה זו קיים אלגוריתם קירוב FPT, ומכאן הוכחת המשפט המרכזי.

More Related