רדוקציות משמרות פער Gap

Download Report

Transcript רדוקציות משמרות פער Gap

‫רדוקציות משמרות פער‬
Gap-Preserving Reductions
‫רדוקציות משמרות פער‬
‫‪Gap-Preserving Reductions‬‬
‫רדוקציה ‪ f‬משמרת פער מבעיית ‪ gap-A‬לבעיית ‪ gap-B‬צריכה לקיים‪:‬‬
‫• שלמות – אם ‪ x‬בהכרח מתקבל ב‪ gap-A-‬אז )‪ f(x‬בהכרח מתקבל ב‪gap-B-‬‬
‫• נאותות – אם ‪ x‬בהכרח נדחה ב‪ gap-A-‬אז )‪ f(x‬בהכרח נדחה ב‪gap-B-‬‬
‫‪gap-A:‬‬
‫‪gap-B:‬‬
‫?‬
‫‪gap-B‬‬
‫דוחה‬
‫תחום‬
‫אפור‪...‬‬
‫‪gap-B‬‬
‫מקבלת‬
‫‪gap-A‬‬
‫דוחה‬
‫תחום‬
‫אפור‪...‬‬
‫‪gap-A‬‬
‫מקבלת‬
‫רדוקציות משמרות פער‬
‫‪Gap-Preserving Reductions‬‬
‫‪3SAT:‬‬
‫מבט נוסף‪:‬‬
‫רוצים להראות שבעיית פער ‪ B‬היא ‪-NP‬קשה‬
‫ידוע שבעיית פער ‪ A‬היא ‪-NP‬קשה‪...‬‬
‫‪gap-A:‬‬
‫‪gap-A‬‬
‫דוחה ‪gap-A‬‬
‫תחום מקבלת‬
‫במקרה כזה נרצה להראות רדוקציה‬
‫משמרת פער ‪gap-A ≤ gap-B‬‬
‫אפור‪...‬‬
‫‪gap-B:‬‬
‫הערה‪ :‬יש כמובן רדוקציות‬
‫משמרות פער בין בעיות שהן‬
‫לא ‪-NP‬קשות‬
‫?‬
‫‪gap-B‬‬
‫דוחה ‪gap-B‬‬
‫תחום מקבלת‬
‫אפור‪...‬‬
‫עצי שטיינר‬
‫‪Steiner Trees‬‬
‫בעיית עץ שטיינר‪:‬‬
‫קלט –‬
‫‪ .1‬גרף )‪G=(V,E‬‬
‫‪ .2‬קבוצת "טרמינלים" ‪:S‬‬
‫ת"ק של ‪V‬‬
‫פלט –‬
‫עץ מינימלי ‪ T‬שפורש את ‪S‬‬
‫‪S1‬‬
‫‪S2‬‬
‫‪S4‬‬
‫‪S3‬‬
‫עצי שטיינר טרמינליים‬
‫‪Terminal Steiner Trees‬‬
‫בעיית עץ שטיינר טרמינלי‪:‬‬
‫קלט –‬
‫‪ .1‬גרף )‪G=(V,E‬‬
‫‪ .2‬קבוצת "טרמינלים" ‪:S‬‬
‫ת"ק של ‪V‬‬
‫פלט –‬
‫עץ מינימלי ‪ T‬שפורש את ‪S‬‬
‫כך שדרגת כל הטרמינלים היא ‪1‬‬
‫‪S1‬‬
‫‪S2‬‬
‫‪S4‬‬
‫‪S3‬‬
‫‪gap-SC ≤P gap-TSMT‬‬
‫רדוקציה מכיסוי בקבוצות לעץ ש"ט‪:‬‬
‫‪ .1‬צמת לכל איבר ‪xi‬‬
‫‪ .2‬צמת לכל קבוצה ‪sj‬‬
‫‪ .3‬קשת )‪ (xi,sj‬לכל ‪xi ϵ sj‬‬
‫‪ .4‬מה יהיו הטרמינלים?‬
‫כל ה‪-xi-‬ים‪...‬‬
‫‪ .5‬צמת עזר ‪ C‬שיחבר את כל ה‪– sj -‬ים‬
‫‪ .6‬טרמינל עזר ‪ T‬שיכפה חיבור ל‪C-‬‬
‫‪xn‬‬
‫‪x2‬‬
‫‪x1‬‬
‫‪sm‬‬
‫‪s2‬‬
‫‪s1‬‬
‫‪C‬‬
‫‪T‬‬
‫‪gap-SC ≤P gap-TSMT‬‬
‫ניתוח‪:‬‬
‫שלמות – אם קיים כיסוי ‪ C‬ע"י ‪ k‬קבוצות‪,‬‬
‫נקבל עץ שטיינר טרמינלי עם‪:‬‬
‫‪ n‬קשתות )‪ (xi,sj‬לכל ‪xi ϵ sj‬‬
‫‪ k‬קשתות )‪ (C,sj‬לכל ‪sj ϵ C‬‬
‫‪ 1‬קשת )‪(C,T‬‬
‫סה"כ – ‪n+k+1‬‬
‫‪xn‬‬
‫‪x2‬‬
‫‪x1‬‬
‫‪sm‬‬
‫‪s2‬‬
‫‪s1‬‬
‫‪C‬‬
‫‪T‬‬
‫‪gap-SC ≤P gap-TSMT‬‬
‫ניתוח‪:‬‬
‫נאותות– אם קיים עץ ש"ט עם‪:‬‬
‫‪ n‬קשתות )‪(xi,sj‬‬
‫‪ αk‬קשתות )‪(C,sj‬‬
‫‪ 1‬קשת )‪(C,T‬‬
‫(סה"כ – ‪)n+αk+1‬‬
‫נוכל לקבל ‪-αk‬כיסוי ע"י כל ה‪-sj-‬ים‬
‫שמחוברים ל‪C-‬‬
‫‪xn‬‬
‫‪x2‬‬
‫‪x1‬‬
‫‪sm‬‬
‫‪s2‬‬
‫‪s1‬‬
‫‪C‬‬
‫‪T‬‬
‫‪gap-SC ≤P gap-TSMT‬‬
‫ניתוח‪:‬‬
‫הראינו‪:‬‬
‫]‪gap-SC[k, αk] ≤P gap-TSMT[n+k+1, n+αk+1‬‬
‫‪x2‬‬
‫‪xn‬‬
‫‪x1‬‬
‫האם אפשר לשפר?‬
‫‪sm‬‬
‫היינו רוצים‪:‬‬
‫עבור אותו פער בכיסוי בקבוצות לקבל תוצאת‬
‫קושי לפער יותר גדול בעץ ש"ט‬
‫‪s2‬‬
‫‪C‬‬
‫‪T‬‬
‫‪s1‬‬
gap-SC ≤P gap-TSMT
x1
x2
xn
:‫מטרה‬
gap-SC[k, αk] ≤P gap-TSMT[k, αk]
sm
:‫אמצעי‬
...‫גרף ממושקל‬
w(xi,sj) = 0
s1
s2
w(C,sj) = 1
C
w(C,T) = 0
T
‫ לכל הקשתות שתמיד‬0 ‫רעיון – משקל‬
‫מחוברות‬
gap-c-3SAT ≤ gap-c-CLIQUE
:compressed-CLIQUE ‫בעיית‬
(<M>,1n,k) – ‫קלט‬
•
•
:compressed-3SAT ‫בעיית‬
(<M>,1n) – ‫קלט‬
•
•
• GnM = (VnM, EnM)
• VnM = {0,1}n
• EnM = {(x,y) ϵ VnM X VnM| M accepts (x,y)}
•
•
•
•
φnM is a 3CNF on variables:
XnM = {x{0,1}n}
ci = (xα OR xβ OR xγ) ϵ φnM iff M accepts (xα,xβ,xγ, 000 )
cj = (xα’ OR ¬xβ’ OR ¬xγ’) ϵ φnM iff M accepts (xα’,xβ’,xγ’, 011 )
gap-c-3SAT[7/8+ε,1] ≤ gap-c-CLIQUE[(7/8+ε)m,m]
:c-CLIQUE-‫ ל‬c-3SAT-‫רדוקציה משמרת פער מ‬
ci = (xα OR xβ OR xγ)
AND
cj = (xα OR ¬xβ OR xδ)
…
xα
xα
xβ
¬xβ
xγ
ci
xδ
cj
‫]‪gap-c-3SAT[7/8+ε,1] ≤ gap-c-CLIQUE[(7/8+ε)m,m‬‬
‫רדוקציה משמרת פער מ‪ c-3SAT-‬ל‪ - c-CLIQUE-‬הערות‪:‬‬
‫‪.1‬‬
‫הקידוד של כל צומת בגרף החדש‬
‫הוא באורך )‪3(n+1)+2 ϵ O(n‬‬
‫‪ci‬‬
‫‪xγ‬‬
‫‪xβ‬‬
‫‪cj‬‬
‫‪xδ‬‬
‫‪¬xβ‬‬
‫‪ .2‬כדי להכריע האם לקבל את קשת )‪ (u,v‬המכונה החדשה ’‪ M‬צריכה‪:‬‬
‫‪ .1‬חוקיות‪ :‬לוודא ש‪ 2-‬הביטים האחרונים של ‪ u,v‬נותנים מס' חוקי ב‪[1,3]-‬‬
‫‪ .2‬שייכות ל‪ :CNF-‬לוודא ש‪ M-‬מקבלת את ‪ Cu‬ואת ‪Cv‬‬
‫‪ .3‬פסוקיות שונות‪ :‬לוודא ש‪Cu ≠ Cv -‬‬
‫‪ .4‬ללא סתירה‪ :‬לוודא ש‪xu ≠ ¬xv -‬‬
‫סה"כ זמן ריצה‪TM’ ϵ O(TM+n) :‬‬
‫‪xα‬‬
‫‪xα‬‬
‫]‪gap-c-3SAT[7/8+ε,1] ≤ gap-c-CLIQUE[(7/8+ε)m,m‬‬
‫רדוקציה משמרת פער מ‪ c-3SAT-‬ל‪ - c-CLIQUE-‬נכונות‪:‬‬
‫שלמות – אם קיימת השמה שמספקת את כל ‪ m‬הפסוקיות‬
‫ב‪ φnM -‬אז קיימת קליקה בגודל ‪ m‬בגרף ‪( GnM‬צמת מכל‬
‫שלישיה שמתאים לליטרל שמספק את הפסוקית)‬
‫‪ci‬‬
‫‪cj‬‬
‫‪xγ‬‬
‫‪xδ‬‬
‫‪xβ‬‬
‫‪¬xβ‬‬
‫‪xα‬‬
‫‪xα‬‬
‫]‪gap-c-3SAT[7/8+ε,1] ≤ gap-c-CLIQUE[(7/8+ε)m,m‬‬
‫רדוקציה משמרת פער מ‪ c-3SAT-‬ל‪ - c-CLIQUE-‬נכונות‪:‬‬
‫‪ci‬‬
‫‪xγ‬‬
‫‪xβ‬‬
‫‪xα‬‬
‫נאותות – אם קיימת קליקה בגודל )‪ k ( = (7/8+ε)m‬בגרף ‪GnM‬‬
‫נתבונן בהשמה שמספקת את כל הליטרלים שמתאימים‬
‫לצמתים בקליקה‪:‬‬
‫ההשמה ללא סתירה כי כל הצמתים בקליקה שכנים‪.‬‬
‫ההשמה מספקת לפחות ‪ k‬מהפסוקיות ב‪.φnM-‬‬
‫‪cj‬‬
‫‪xδ‬‬
‫‪¬xβ‬‬
‫‪xα‬‬
‫]‪gap-c-3SAT[7/8+ε,1] ≤ gap-c-CLIQUE[(7/8+ε)m,m‬‬
‫רדוקציה משמרת פער מ‪ c-3SAT-‬ל‪ - c-CLIQUE-‬סיבוכיות‪:‬‬
‫‪ci‬‬
‫‪xγ‬‬
‫‪xβ‬‬
‫‪xα‬‬
‫צ"ל‪ :‬לכל היותר זמן אקפוננציאלי (באורך הקלט)‬
‫קבלנו‪ :‬זמן ליניארי‬
‫‪cj‬‬
‫‪xδ‬‬
‫‪¬xβ‬‬
‫‪xα‬‬