בעיית הכיסוי ב
Transcription
בעיית הכיסוי ב
בעיית הכיסוי בצמתים )(Vertex Cover ! ! ! 2 הגדרה: תת קבוצה U⊆Vשל צמתים בגרף לא מכוון )G(V,E נקראת כיסוי בצמתים אם לכל קשת (u,v)∈E מתקיים u∈Uאו ) v∈Uאו שניהם( גודל הכיסוי :מספר הצמתים בכיסוי )|(|U דוגמה :כיסוי בצמתים בגודל 3 ! ! ! ! 4 ! ! -NPשלמות רדוקציות פולינומיות חישוביות -ד''ר אנה מוס הוכחת -NPשלמות של VC ! חישוביות – הרצאה 13 תחילה נוכיח כי VC∈NP נבנה מ''ט אי דטרמיניסטית פולינומית Mעבור VC המכונה Mעל קלט ) (G,kתנחש kצמתים מתוך צמתי Gותבדוק האם כל קשת ב G-מכוסה ע''י kצמתים שניחשה ,אם כן – המכונה תקבל ,אחרת – תדחה המכונה פולינומית :ניחוש צמתים )| ,O(|Vבדיקת קשתות )|O(|E המכונה מקבלת את VCכי אם קיים כיסוי בגודל kאז קיים במכונה מסלול חישוב מקבל ,אחרת ,אף מסלול ב M-אינו מקבל חישוביות -ד''ר אנה מוס בעיית הכיסוי בצמתים )המשך( ! בעיית הכיסוי בצמתים: ! בהינתן גרף Gומספר טבעי kהאם קיים ב G-כיסוי בצמתים בגודל ? k ! השפה :VC } קיים ב G-כיסוי בצמתים בגודל VC = { (G,k) : k ! 3 טענה :השפה VCהינה -NPשלמה חישוביות -ד''ר אנה מוס הוכחת -NPשלמות של ) VCהמשך( תיאור הרדוקציה ! בהינתן פסוק φבצורה 3-CNFנבנה גרף Gבאופן הבא: ! ! ! 6 לכל משתנה xiשל φנוסיף שני צמתים xiו xi -המחוברים ע''י קשת עבור כל פסוקית Cj=lj1∨lj2∨lj3ב ,φ-נוסיף 3צמתים ],[j,1 ] [j,2ו [j,3] -אשר כולם מחוברים ביניהם בקשת ,וכמו כן ,כל צמת כזה יחובר בקשת לצומת הליטרל המתאים ! ! ! ! חישוביות -ד''ר אנה מוס ! ! ! טענה φ :ספיק אם ורק אם ב G-יש כיסוי בגודל k 8 חישוביות -ד''ר אנה מוס fניתנת לחישוב בזמן פולינומי φספיק אם ורק אם ב G-יש כיסוי בצמתים בגודל k 5 חישוביות -ד''ר אנה מוס דוגמה לבניית הרדוקציה ) φ = ( x1 ∨ x1 ∨ x2 ) ∧ ( x3 ∨ x1 ∨ x2 ) ∧ ( x2 ∨ x3 ∨ x3 הבניה ניתנת לביצוע בזמן פולינומי כי מספר צמתים שיש לבנות הוא )| O(|φומספר קשתות שיש לבנות הוא )O(|φ|2 נוכיח את תקפות הרדוקציה כעת נוכיח כי VCהיא שפה -NPקשה נראה זאת ע''י רדוקציה פולינומית 3-SAT≤pVC צורת הרדוקציה: פסוק 3-CNF )f(φ) = (G,k התכונות הנדרשות מהרדוקציה שנבנה: ! נקבע n) k=n+2mמספר משתנים ו m-מספר פסוקיות( הוכחת נכונות הרדוקציה ! הוכחת -NPשלמות של ) VCהמשך( x3 x3 3,1 3,2 3,3 7 x2 x2 2,1 2,2 2,3 חישוביות -ד''ר אנה מוס x1 x1 1,1 1,2 1,3 k=3+2⋅3 = 9 הוכחת נכונות הרדוקציה )המשך( ! הוכחת נכונות הרדוקציה )המשך( למה Uהוא כיסוי בצמתים ב? G- ! ! ! ! קשתות בין xiל xi -מכוסות ע''י צמת ליטרל שקיבל T מכל משולש לקחנו 2צמתים לכן כל הקשתות בתוך המשולשים מכוסות הקשת בין ] [j,kלליטרל המתאים liמכוסה ע''י ] [j,kאם הליטרל הוא Fאו ע''י liאם הליטרל הוא T כיוון :1 ! ! ! ב φ-יש nמשתנים לכן בהצבה מספקת עבור φבדיוק k ליטרלים מקבלים ערך xi) Tאו xiעבור כל משתנה (xi נבנה כיסוי Uב G-באופן הבא: ! ! חישוביות -ד''ר אנה מוס 10 ! ! ! ! ! 12 חישוביות -ד''ר אנה מוס חישוביות -ד''ר אנה מוס הוכחת נכונות הרדוקציה )המשך( מסקנה :בכיסוי Uבדיוק nצמתי ליטרלים ,אחד עבור כל זוג xi ,xiובדיוק 2mצמתי משולשים 2 ,מכל משולש נבנה הצבה מספקת עבור φכך שאם xi∈Uנקבע ערך של xiל ,T-אחרת ,נקבע ערך של xiלF- למה זה נותן הצבה מספקת ? לכל פסוקית Cjיש צמת אחד שאינו בכיסוי ,נאמר ][j,k לכן הקשת בין ] [j,kלליטרל המתאים ljkמכוסה ע''י צמת לכן הליטרל ljkקיבל ערך Tוהוא מספק את הפסוקית Cj נוסיף ל n U-צמתי הליטרלים שקיבלו ערך T מכל שלישיה ] [j,3] ,[j,2] ,[j,1ניקח ל U-שני צמתים המתאימים לליטרלים שאינם מסופקים 9 הוכחת נכונות הרדוקציה )המשך( ! נתון φ :ספיק צ''ל :ב G-יש כיסוי בגודל k ! כיוון :2 ! ! ! ! ljk 11 נתון :ב G-יש כיסוי בצמתים בגודל k צ''ל φ :ספיק יהי Uכיסוי ב G-בגודל k=n+2m Uחייב להכיל לפחות nצמתי ליטרלים כי אחרת לא ניתן לכסות את הקשתות בין xiלxi - Uחייב להכיל 2צמתים מכל משולש ,סה''כ 2m צמתי משולשים כי אחרת לא ניתן לכסות קשתות בתוך המשולשים חישוביות -ד''ר אנה מוס הקשר בין VCלIS- טענה V\U :הוא כיסוי בצמתים ב G(V,E)-אם ורק אם Uהינה קבוצה בלתי תלויה הוכחה: ! כיוון :1אם V\Uכיסוי אז Uקבוצה בלתי תלויה ! אם V\Uכיסוי אז אין אף קשת ב G-ששני קצותיה אינם בV\U- ! במילים אחרות ,לכל (u,v)∉E ,u,v∈U ! מסקנה U :קבוצה בלתי תלויה חישוביות -ד''ר אנה מוס 14 -NPשלמות של IS ! ! טענה :השפה ISהינה -NPשלמה הוכחה: ! ! ! ! 16 – IS∈NPניתן לראות ע''י מ''ט פולינומית לא דטרמיניסטית אשר מנחשת kצמתים ובודקת אם אין קשת בין אף זוג מתוך הצמתים שניחשה -NP ISקשה ע''י רדוקציה פולינומית VC≤pIS תיאור הרדוקציה :בהינתן ) (G,kנבנה )’ (G,kכאשר k’=|V|−k נכונות הרדוקציה נובעת מהטענה הקודמת חישוביות -ד''ר אנה מוס בעיית הקבוצה הבלתי תלויה )(IS ! ! הגדרה :תת קבוצה של צמתים U⊆Vבגרף לא מכוון ) G(V,Eנקראת קבוצה בלתי תלויה אם לכל u,v∈Uמתקיים (u,v)∉E בעיית הקבוצה הבלתי תלויה ):(Independent Set ! ! בהינתן גרף Gומספר טבעי kהאם קיימת ב G-קבוצה בלתי תלויה בגודל ? k שפת :IS }קיימת ב G-קבוצה בלתי תלויה בגודל IS = {(G,k) :k 13 חישוביות -ד''ר אנה מוס הקשר בין VCל) IS-המשך( ! ! ! ! 15 כיוון :2אם Uקבוצה בלתי תלויה אז V\Uכיסוי אם Uקבוצה בלתי תלויה אז אין אף קשת ששני קצותיה בU- לכן לכל קשת יש קצה שלא ב U-כלומר בV\U- מסקנה V\U :כיסוי חישוביות -ד''ר אנה מוס