בעיית הכיסוי בצמתים )(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 :כיסוי
חישוביות -ד''ר אנה מוס
© Copyright 2025