400 likes | 589 Views
Parameterized Approximability of the Disjoint Cycle Problem. Martin Grohe and Magdalena Grüber מציגה: אסנת אורדן. בעיית המעגלים הזרים בצמתים. הגדרת הבעיה: בהנתן גרף מכוון G=(V,E) מצא את משפחת המעגלים המקסימלית, כך שהמעגלים זרים בצמתים.
E N D
Parameterized Approximability of the Disjoint Cycle Problem Martin Grohe and Magdalena Grüber מציגה:אסנת אורדן
בעיית המעגלים הזרים בצמתים הגדרת הבעיה:בהנתן גרף מכוון G=(V,E) מצא את משפחת המעגלים המקסימלית, כך שהמעגלים זרים בצמתים. הגדרת הבעיה הפרמטרית:בגרסה הפרמטרית נתון גם שלםk>0 , ומחפשים משפחה של לפחותk מעגלים זרים בצמתים בגרף. • בעיה זו היא NP-complete וכן W[1]-קשה, וככל הידוע אין לה אלגוריתם FPT
בעיית המעגלים הזרים בצמתים • המאמר מציג אלגוריתם קירוב FPT המוצא k/ρ(k)מעגלים זרים בצמתים בגרף אם קיימים בו לפחות k מעגלים כאלה, אחרת מודיע על כישלון. • ρ היא פונקציה ניתנת לחישוב כך ש- k/ρ(k) היא פונקציה עולה ולא חסומה.
הבעיה הדואלית - Feedback Vertex Set • בעיית התכנות הלינארי הדואלית לבעיית המעגלים הזרים בצמתים היא Feedback Vertex Set: בהנתן גרף מכוון G=(V,E) מצא קבוצה מינימלית של צמתים שהסרתה מהגרף תהפוך אותו לחסר מעגלים. • (G) - גודל קבוצת ה-FVS המינימלית • (G) - גודל קבוצת המעגלים הזרים בצמתים המקסימלית. • ברור כי (G) ≤ (G) • כל צומת שהוסר מהגרף יכול לסגור לכל היותר מעגל אחד בגרף, כי המעגלים זרים בצמתים.
הבעיה הדואלית - Feedback Vertex Set • בעיית התכנות הלינארי המתאימה ל-FVS: Minimize subject to for every cycle C in G, for every vertex vV • הפתרון המינימלי השבור לבעיה זו מסומן ע'י *(G). • נוסחת התכנות הלינארי של בעיית המעגלים הזרים בצמתים נותנת את הבעיה הדואלית לזו של FVS, והפתרון השבור שלה מסומן*(G). • מכיוון שהפתרונות האופטימליים השבורים חופפים, מתקבל:(G) ≤*(G) =*(G) ≤(G)
משפט 2 • לכל גרף מכוון G מתקיים: (G)=O(*(G)∙log(*(G))∙log log(*(G))) • קיים אלגוריתם בעל זמן ריצה פולינומי המוצא FVS בגרף מכוון G בגודל לכל היותר (G)=O(*(G)∙log(*(G))∙log log(*(G)))
משפט 3 • קיימת פונקציה עולה ממש וניתנת לחישוב f כך שלכל גרף מכוון G מתקיים (G)≤ f((G)) • הפונקציה f גדלה במהירות – אקספוננט איטרטיבי, שמספר האיטרציות הוא בעצמו אקספוננט איטרטיבי.
הגדרות קישורLבגרף מכוון G=(V,E)הוא אוסף מסלולים זרים בצמתים. • בהנתן קבוצות צמתים A,BVנאמר ש-Lמקשר בין A ל-B אם כל מסלול ב-Lמתחיל בצומת ב-Aומסתיים בצומת ב-B. • גודל הקישור הוא מספר המסלולים הזרים בצמתים. הפרדה (X,Y) בגרף מכוון G=(V,E)היא חלוקה של צמתי הגרף לשתי קבוצות X,YV כך ש-XY=V, ולא קיימת קשת היוצאת מ-X\Y ל-X\Y. • גודל ההפרדה הוא |XY| • הקבוצה XY מפרידה בין שתי תתי קבוצות A=X\Y, B=Y\X, שכן החסרתה מהגרף מסירה כל מסלול בין צמתי A לצמתי B.
משפט מנגר (Menger) • בהנתן גרף מכוון G=(V,E), קבוצות צמתיםA,BV, ושלםk≥1, קיים קישורבגודלkמ-Aל-Bאם ורק אם לא קיימת הפרדה (X,Y)של Gבגודל קטן מ-kכך ש-AX, BY. • בניסוח אחר – גודל הקישור המקסימלי בין A ל-B שווה לגודל ההפרדה המינימלית בינהן. • לכן גודל קישור הוא חסם תחתון על גודל כל הפרדה. • קיים אלגוריתם בעל זמן ריצה פולינומי, שבהנתן גרף מכוון G, שלם חיובי kושתי תתי קבוצות A,BVכל אחת בגודל לפחות k, מוצא kמסלולים זרים בצמתים מ-Aל-Bאו הפרדה(X,Y) מסדר קטן מ-kכך ש-AX, BY.
המשפט המרכזי • קיים אלגוריתם קירוב FPT לבעיית מקסימום המעגלים הזרים בצמתים בגרף מכוון עם זמן ריצה פולינומי. • נראה אלגוריתם המחשב לפחות τ*(G)/ρ(τ*(G)) מעגלים זרים בצמתים בהינתן גרף G ופונקציה ניתנת לחישוב ρ:N→Nכך ש- x/ρ(x) פונקציה עולה ולא חסומה. זמן הריצה של האלגוריתם חסום על ידיg(τ*(G))∙|G|O(1) עבור פונקציה g ניתנת לחישוב.
למת הפיצול יהי Gגרף מכוון, Tfeedback vertex set של G ו-m≤|T|/2. אזי לפחות אחד מהבאיםמתקיים: • לכל תתי הקבוצות הזרות בצמתים A,BT כך ש-|A|=|B|=m קיים קישור מ-A ל-B שאין לו צמתים ב- T\(AB) • קיים 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)|
למת הפיצול - אלגוריתם • קיים אלגוריתם שבהינתן G, T ו-m מזהה כי 1 מתקיים, או מחשב T’ לפי 2 אומחשב ,C1,G1T1, G2, C2, T2לפי 3. • זמן הריצה של האלגוריתם הוא ∙|G|O(1)3|T|
למת הפיצול - הוכחה • נניח ש-)1( לא מתקיים. אז קיימים A,BT כך ש-|A|=|B|=m ולא קיים קישור מ-A ל-B שאינו מכיל צמתים ב- Z=T\(AB). • כלומר, כל מסלול מ-A ל-B עובר ב-Z. • לפי משפט מנגר קיימת הפרדה (X,Y)של Gכך ש: • AX, BY • Z (XY) • W=(XY)\Z • |W|<m
למת הפיצול - הוכחה • יהיו G1=G\Y, G2=G\X • נסמן D1=A(XY), D2=B(XY) • מתקיים כי |D1|=|D2|<|T|: • |A|=|B|=m≤|T|/2 • XY=WZ • |Z|=|T\(AB)|=|T|-2m • |W|<m • בסה'כ |D1|=|A|+|W|+|Z| ≤ m+m-1+|T|-2m = |T|-1 • יתכן כי D1או D2הם FVS עבור G. במקרה זה הצלחנו למצוא FVS קטן יותר ל-G, ואז מתקיים )2(.
למת הפיצול - הוכחה • אחרת – קיימים מעגלים 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=
למת הפיצול - הוכחה • מכיוון ש-(X,Y)היא הפרדה, ו-XYV(C1)=, אזי V(C1)לא פוגשים אתY, ולכן C1מוכל ב-G1. • אחרת C1 הוא מסלול מ-X ל-Y שלא דרך הקבוצה המפרידה. • A ו-B הן FVS עבור G1ו- G2בהתאמה, שכן כל מעגל ב-G חייב לעבור דרך T, ו- TV(G1)=A, TV(G2)=B.
למת הפיצול - הוכחה • אם נבחר 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)
למת הפיצול – הוכחת האלגוריתם • נמצא את כל חלוקות T ל-A,B,Z – בזמן חסום ע'י 3|T| • באמצעות האלגוריתם של משפט מנגר נמצא הפרדה (X,Y) לפי התנאים בלמה, אם קיימת כזו, בזמן פולינומי. • בהנתן A,B,X,Y ניתן לבדוק בזמן פולינומי אם הקבוצות D1, D2 הן FVS, ולמצוא מעגלים C1, C2אם לא. • בסה'כ זמן הריצה ∙|G|O(1)3|T|
הגדרה – μ(G) • נגדיר את κ=κ(G)בהנתן גרף G כשלם המקסימלי המקיים: • λ(G)=(κ(G)-1)2+1 • μ(G)=(κ(G)+1) ∙λ(G)
למת הקישור • קיימת פונקציה ניתנת לחישוב, עולה ולא חסומה φ כך שמתקיים: • יהי G גרף מכוון, m≤µ(G), ויהי TFVS של G כך שלכל A,BT בגודל |A|=|B|=m קיים קישור מ-A ל-B ללא צמתים ב-T\(AB). • אזי קיימת משפחה של לפחות φ(m)מעגלים זרים בצמתים ב-G. • קיים אלגוריתם שמחשב משפחה כזו בזמןg(|T|)∙|G|O(1) עבור פונקציה ניתנת לחישוב g.
האלגוריתם המרכזי • קיימת פונקציה ניתנת לחישוב, עולה ולא חסומה , פונקציה ניתנת לחישוב g, ואלגוריתםAכך שמתקיים: • בהנתן גרף מכוון G, האלגוריתם A מחשב משפחה של לפחות (*(G))מעגלים זרים בצמתים ב-G, בזמןg(*(G))∙|G|O(1)
הגדרות • נסמןmi=µ(G)/4iעבורi>0. • נסמןi* - השלם המינימלי המקיים mi*≤4 • φהיא הפונקציה מלמת הקישור • נגדיר את הפונקציה כך: (0)=(1)=min{φ(1),i*} (k)=min{(k/4)+1, φ(k),i*} • פונקציה ניתנת לחישוב, עולה ולא חסומה
הגדרות • לפי הגדרת µ(G) קיימת פונקציה ניתנת לחישוב, עולה ולא חסומה המקיימת (*(G))= µ(G)לכל גרף מכווןG. נגדיר את להיות (x)=((x)).
האלגוריתם A • בהנתן גרף מכוון G – A מחשב FVST בגודל O(*(G)∙log(*(G))∙log log(*(G)))לפי משפט 2. • A בונה עץ בינארי B שצמתיו מסומנים ע'י זוגות(G’,T’), כאשרG’ הוא גרף ו-T’הוא FVS שלו. • קשתות העץ B מתויגות ע'י מעגלים ב-G. • בכל שלב האלגוריתם A מחשב עלה של העץ, ועוצר או משנה את העץ וממשיך עם צומת אחר. • אם A הוא אלגוריתם רקורסיבי – B מתאר את מחסנית הרקורסיה.
בניית העץ B • באתחול – B מכיל רק שורש עבור (G,T). • חישוב צומת b המסומן(Gb,Tb) בעומקi: • אם i≥i* האלגוריתם עוצר ומדווח על המעגלים שמתייגים את הקשתות במסלול מהשורש ל-b. mi≤4 וקטן מידי להמשך האלגוריתם • אחרת נקרא האלגוריתם מלמת הפיצול עם קלט Gb,Tb ו- mi. בהמשך נראה כי 2mi ≤ |Tb|. • בהתאם לתוצאת למת הפיצול – נבחר הצעד הבא:
צעד הבניה של B- צעד קישור • אם לכל A,BTb בגודל |A|=|B|=mi קיים קישור מ-A ל-B ללא צמתים ב-Tb\(AB) – האלגוריתם מלמת הקישור נקרא עבור הקלט (Gb,Tb). • הוא מחזיר משפחה C של φ(mi)מעגלים זרים בצמתים ב-Gb. האלגוריתם A עוצר ומוציא כפלט את מעגלי Cוהמעגלים המתייגים את הקשתות במסלול מהשורש ל-b ב-B.
צעד הבניה של 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.
צעד הבניה של 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)
צעד הבניה של 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.
הוכחת האלגוריתם • הצומת בו מטפל האלגוריתם בכל שלב הוא עלה. • בכל שלב בו מטופל צומת b, האח של כל צומת במסלול מהשורש ל-b הוא עלה (העץ לא מפותח). • מלמת הפיצול נובע:
הוכחת האלגוריתם • בהנתן צומת 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)|.
הוכחת האלגוריתם כמו כן מתקיים 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’|
הוכחת האלגוריתם • אם במהלך ריצת האלגוריתם עלה 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
הוכחת האלגוריתם • כשהאלגוריתם עוצר – הפלט שלו הוא קבוצת מעגלים זרים בצמתים. • גודל הקבוצה הוא i* אם האלגוריתם עוצר בעלה בעומק i*, או i+φ(mi)אם האלגוריתם עוצר בעלה בעומק i<i*בצעד קישור. • מכיוון ש- (µ(G))=(m0) ≤ min(i*,i+ φ(mi))עבור0≤i≤i*וכן(*(G))= µ(G) – קבוצת מעגלים זו גדולה מספיק.
הוכחת זמן הריצה • נמצא חסם עליון למספר צעדי הכיווץ 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’’).
הוכחת זמן הריצה • לכל 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.
הגדרה – 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.
Well-behaved problem • בעיית המעגלים הזרים בצמתים היא well-behaved: • בהנתן גרף G ניתן למחוק צומת w ולקבל גרף G’=G\{w} כך ש- (G) ≥ (G’) ≥ (G)-1, וכל משפחה של מעגלים זרים בצמתים ב-G’היא גם משפחת מעגלים זרים בצמתים ב-G.
טענה 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 עם יחס קירוב ρ.
קירוב FPT לבעיית המעגלים הזרים בצמתים • ראינו שבעיית מקסימום מעגלים זרים בצמתים היא well-behaved, וראינו אלגוריתם המוצא פתרון מקורב עבור *(G). • מכיוון ש- (G) ≤ *(G)– יחס הקירוב שמצא האלגוריתם הוא טוב לפחות כמו יחס הקירוב עבור האופטימום (G). • לפי טענה 7 - לבעיה זו קיים אלגוריתם קירוב FPT, ומכאן הוכחת המשפט המרכזי.