Transcript 2SAT is NL
2SAT is NL-Complete
2SAT ∈ NL
• הבחנה :כל פסוקית ) (a ∨ bשקולה לפסוקיות גרירה
)(¬a→b), (¬b→a
¬b
• נגדיר גרף גרירות:
– צמת לכל ליטרל
– 2קשתות לכל פסוקית:
)(a ∨ b
)(¬a→b), (¬b→a
a
c
¬c
¬a
b
2SAT ∈ NL
– צמת לכל ליטרל
– 2קשתות לכל פסוקית(¬a→b), (¬b→a) :
• הבחנה :1קשת מ a-ל ⇔ b-קשת מ ¬b-ל¬a-
ולכן ,מסלול מ a-ל ⇔ b-מסלול מ ¬b-ל¬a-
¬b
• הבחנה :2אם קיים מסלול מ a-לb-
אז aגורר את b
a
c
¬c
¬a
b
¬b
2SAT ∈ NL
a
c
¬c
• משפט ϕ :לא ספיקה אמ"ם
קיים xכך שיש מסלול מ x-ל ¬x-ומ ¬x-לx-
¬a
• הוכחה בנפנוף ידיים:
– אם קיים מסלול מ x-ל ¬x-ומ ¬x-ל ,x-אז xגורר את ¬x
ולהיפך – סתירה!
– אם קיים מסלול רק מ x-ל ¬x-נציב x=F
(ולהיפך אם קיים מסלול מ ¬x-ל)x-
– נציב Tלכל הליטרלים ש ¬x-גורר
b
¬b
2SAT ∈ NL
a
c
¬c
¬a
• הוכחה בנפנוף ידיים:
b
– אם קיים מסלול רק מ x-ל ¬x-נציב x=F
(ולהיפך אם קיים מסלול מ ¬x-ל)x-
– נציב Tלכל הליטרלים ש ¬x-גורר
– אם הגענו לסתירה:
y → ¬y → x
z → ¬z → ¬x
אזי
y → ¬y → x → z → ¬z → ¬x
סתירה!
¬b
2SAT ∈ NL
a
c
¬c
¬a
– משפט ϕ :לא ספיקה אמ"ם
קיים xכך שיש מסלול מ x-ל ¬x-ומ ¬x-לx-
– עד ל-2SAT-משלים:
xועדים למסלולים מ x-ל ¬x-ומ ¬x-לx-
– מוודא מריץ פעמיים את Mst-CONNומקבל אמ"ם
Mst-CONNקבל את 2המסלולים
– 2SAT ∈ NL ⇐ 2SAT ∈ coNL
b
st-non-CONN ≤L 2SAT
הרדוקציה חייבת
לעבוד לכל גרף
¬b
• נסיון :1
a
– נקח גרף גרירות
– נחשב את הפסוק המתאים
– הפסוק שקבלנו ספיק
אמ"ם אין מסלול מ x-ל¬x-
ומ ¬x-לx-
בבעיה
המקורית
מותר מסלול
מ t-לs-
c
לכל ,xאבל
אנחנו רוצים
מ s-לt-
¬c
¬a
b
st-non-CONN ≤L 2SAT
הבחנה :אין מסלול ⇔ קיים חתך
t
• היינו רוצים פסוק 2SATשיגיד:
"אין קשתות מאדום לירוק"
• רדוקציה:
– לכל קשת ) (a→bנתאים פסוקית )(a ∨ ¬b
– כדי לוודא ש s-אדום ו t-ירוק ,נוסיף פסוקיות
) (¬s ∨ ¬sו(t ∨ t)-
s
st-non-CONN ≤L 2SAT
t
– לכל קשת ) (a→bנתאים פסוקית )(a ∨ ¬b
– נוסיף פסוקיות ) (¬s ∨ ¬sו(t ∨ t)-
• שלמות:
– אם לא קיים מסלול מ s-לt-
⇐ קיים חתך כך שאין אף קשת מאף אדום לירוק
⇐ ההשמה Fלכל האדומים ו T-לכל הירוקים מספקת את
הפסוק
s
st-non-CONN ≤L 2SAT
t
– לכל קשת ) (a→bנתאים פסוקית )(a ∨ ¬b
– נוסיף פסוקיות ) (¬s ∨ ¬sו(t ∨ t)-
• נאותות:
)(s=v0, v1, …, vl=t
– אם קיים מסלול מ s-ל:t-
– לכל השמה מספקת קיים i>0מינימלי כך שvi=T-
• אם לא קיים ,iאז ) (t ∨ tלא מסתפקת
• אם i=0אז ) (¬s ∨ ¬sלא מסתפקת
⇐ קבלנו סתירה ל(vi-1 ∨ ¬vi)-
⇐ לא קיימת השמה שמספקת את הפסוק
s
st-non-CONN ≤L 2SAT
t
– לכל קשת ) (a→bנתאים פסוקית )(a ∨ ¬b
– נוסיף פסוקיות ) (¬s ∨ ¬sו(t ∨ t)-
• סיבוכיות:
– מעבר על כל הקשתות בגרף – זכרון עבודה לוגריתמי
s