רדוקציות ושלמות
רדוקציות many-one פולינומיאליות והלוגיקה של הוכחות קושי ושלמות.
מטרות
- לבנות רדוקציות many-one פולינומיאליות, כולל כיוון, כוליות וניתוח קידוד.
- להשתמש בטרנזיטיביות ובסגירות כדי להעביר אלגוריתמים ושייכות למחלקות.
- להבדיל בין NP-קושי ל-NP-שלמות ולהסיק נכון את תוצאת P=NP.
- להבין את Cook–Levin כבניית טבלת חישוב פולינומיאלית מפורשת.
- להוכיח את שני כיווני הרדוקציה .
1. רדוקציה כמהדר מופעים
אם קיימת פונקציה כוללת , הניתנת לחישוב בזמן פולינומיאלי, כך שלכל מחרוזת
אם מכריע את , אז מכריע את . לכן להוכחת קושי החץ הוא
הפחתת היעד אל המקור אינה מוכיחה שהיעד קשה. השקילות משמרת גם מופעי כן וגם מופעי לא.
שרשרת רדוקציות לבעיות NP-שלמות
ההגדרה חלה על כל המחרוזות. בקלט פגום אפשר להחזיר מופע לא קבוע וחוקי של היעד. יש לציין גם גודל פלט: מכונה פולינומיאלית אינה יכולה להדפיס יותר ממספר פולינומיאלי של תווים.
2. טרנזיטיביות וסגירות
אם באמצעות ו- באמצעות , אז מקיימת
אם זמני הריצה הם , אז עד כדי קבוע, ולכן
שהוא פולינומי.
סגירות כלפי מטה. אם ו-, אז . כך גם עבור NP ו-coNP.
עבור NP מחשבים ומפעילים את המוודא של . אורך התעודה נשאר פולינומיאלי כי פולינומיאלי. עבור coNP משתמשים באותה פונקציה, שכן
3. קושי, שלמות ותוצאת P=NP
היא NP-קשה אם לכל מתקיים . היא NP-שלמה אם בנוסף . הוכחת השייכות היא בדרך כלל מוודא; הקושי מתקבל מרדוקציה מבעיה NP-שלמה ידועה. שפה NP-קשה אינה חייבת להיות ב-NP ואף אינה חייבת להיות כריעה.
משפט. אם שפה NP-שלמה נמצאת ב-P, אז .
לכל יש רדוקציה אל . אלגוריתם פולינומיאלי ל- יחד עם הרדוקציה מכריע את בזמן פולינומיאלי. לכן , וההכלה ההפוכה ידועה.
4. Cook–Levin: מחישוב לנוסחה
SAT ב-NP כי השמה היא תעודה. לקושי, יהי ו- מכונה המכריעה אותו כך שכל ענף נמשך לכל היותר צעדים. הראש מבקר רק ב- תאים. מרפדים ענף מקבל קצר בלולאת קבלה, ומציגים את החישוב כטבלה בגודל : כל שורה היא קונפיגורציה מלאה.
טבלת קוק–לוין
משתני הטבלה
נשתמש באלפבית סופי
כאשר מסמן שהראש נמצא בתא, מצב המכונה והסימן הנקרא . המשתנה
אומר שבתא בזמן מופיע . למכונה קבועה יש משתנים.
יחידות והתחלה
לכל מיקום דורשים לפחות סימן אחד,
ולכל דורשים לכל היותר אחד,
פסוקיות יחידה מקבעות את שורה 0: , ביטי , וריקים בשאר התאים. אפשר לדרוש ראש/מצב מסומן יחיד בכל שורה במפורש.
קבלה ומעברים
דורשים הופעת , או דורשים אותו בשורה האחרונה לאחר ריפוד:
צעד TM משנה רק שכונה קבועה סביב הראש. לכן חוקיות בין שתי שורות נקבעת בחלונות קבועי גודל, למשל . לכל תבנית מקומית אסורה מוסיפים פסוקית
יש מספר קבוע של סוגי תבניות לכל , כי המכונה והאלפבית קבועים. סמני קצה מטפלים בגבולות. הפסוקיות כופות גם העתקת תאים רחוקים וגם מעבר חוקי של הראש והמצב.
נכונות וגודל
אם מקבלת את , כותבים ענף מקבל בטבלה ומקבלים השמה מספקת. אם הנוסחה מספקת, יחידות מפענחת סימן יחיד בכל תא; ההתחלה נכונה; כל שורה עוקבת חוקית; ומופיע מצב קבלה. לכן הטבלה מפענחת ענף מקבל:
יש תאי מרחב־זמן ומספר קבוע של פסוקיות לכל תא וחלון. לכן הגודל וזמן הבנייה פולינומיאליים. לאחר מכן ממירים ל-CNF ול-3CNF בעזרת משתני עזר תוך שמירת סיפוקיות וגודל פולינומיאלי.
מה בודק חלון מקומי
נניח שבשורה העליונה מופיעה השכונה
והמעבר מרשה ״כתוב , זוז ימינה ועבור למצב ״. השכונה המתאימה בשורה הבאה חייבת להיות
במעבר שמאלה סימון המצב עובר אל הסימן השמאלי. אם הראש אינו בחלון, הסימן האמצעי בשורה התחתונה חייב להיות העתק של הסימן שמעליו. רשימת החלונות החוקיים הסופית כוללת את כל המעברים בטבלת ואת חלונות ההעתקה הרגילים.
כדי לכתוב CNF, מונים כל הצבה אסורה למספר הקבוע של המקומות בחלון. אם ההצבה האסורה הופכת את לאמיתיים, הפסוקית
שוללת בדיוק אותה. קבוע התלוי במכונה. החפיפה בין חלונות חיונית: הם מסכימים על התאים המשותפים וכך מחברים חוקיות מקומית לשורת יורש גלובלית אחת. בלי חפיפה היה אפשר לצרף קטעים חוקיים בנפרד לשורה שאינה קונפיגורציה עוקבת אפשרית.
חשבון גודל מפורש
נסמן . אילוצי מיקום משתמשים ב- פסוקיות ברוחב עבור ״לפחות אחד״ וב-
פסוקיות בינריות עבור ״לכל היותר אחד״. להתחלה יש פסוקיות יחידה. דרישת קבלה בשורה האחרונה היא ברוחב לכל היותר . אם הוא מספר תבניות החלון האסורות, אילוצי המעבר משתמשים לכל היותר ב-
פסוקיות ברוחב קבוע. תלויים ב- הקבועה ולא ב-. לכן מספר הפסוקיות ומספר הסמלים הכולל הם , פרט לפסוקית קבלה שרוחבה עדיין פולינומיאלי. פיצול פסוקית ברוחב ל-3CNF מוסיף רק משתנים ופסוקיות.
5. הוכחה מלאה: 3SAT אל קבוצה בלתי־תלויה
יהי
יוצרים קודקוד לכל הופעת ליטרל. מחברים כל זוג קודקודים מאותה פסוקית, ומחברים בין פסוקיות הופעות משלימות . מחזירים . יש קודקודים ו- צלעות.
3SAT → קבוצה בלתי תלויה
כיוון קדימה. מהשמה מספקת בוחרים בכל פסוקית הופעה אמיתית אחת. התקבלו קודקודים. אין ביניהם צלע פסוקית, כי נבחר אחד מכל פסוקית; ואין צלע סתירה, כי השמה אחת אינה הופכת גם וגם לאמיתיים. זו קבוצה בלתי־תלויה.
כיוון אחורה. תהי קבוצה בלתי־תלויה בגודל . כל גאדג׳ט פסוקית הוא קליקה, ולכן מכילה לכל היותר קודקוד אחד מכל פסוקית. מכיוון שיש פסוקיות ו- בחירות, יש בדיוק אחת מכל פסוקית. אין צלעות סתירה, ולכן הליטרלים הנבחרים עקביים. מציבים אותם כאמיתיים ומשלימים משתנים אחרים שרירותית. בכל פסוקית הליטרל הנבחר אמיתי, ולכן מספקת.
מכאן
IS ב-NP: מפרטים קודקודים ובודקים שונות ואי־שכנות. לכן היא NP-שלמה.
דוגמה מלאה בת שלוש פסוקיות
עבור
בונים שלושה משולשים ומציבים . מוסיפים קשת סתירה בין במשולש הראשון ל- בשני, בין כל הופעה של לבין בשלישי, ובין כל זוג משלים אחר. שתי הופעות חיוביות של אינן סותרות זו את זו.
ההשמה מספקת. אפשר לבחור מ-, את מ- ואת מ-. הקודקודים במשולשים שונים ואין ביניהם זוג ליטרלים משלימים.
בכיוון ההפוך, כל קבוצה בלתי־תלויה בגודל 3 בוחרת לכל היותר קודקוד אחד מכל משולש. מאחר שיש שלושה משולשים, היא בוחרת בדיוק אחד מכל פסוקית. היא אינה יכולה לבחור, למשל, מן הראשונה ו- מן השלישית, כי ביניהם קשת סתירה. שלושת הליטרלים מגדירים השמה חלקית עקבית המספקת את כל שלוש הפסוקיות.
הדוגמה מראה גם מדוע סף 2 אינו מתאים: שני קודקודים יכולים לייצג שתי פסוקיות ולהשאיר את השלישית בלתי־מסופקת. הוא חלק מהאינווריאנט.
6. כיצד כותבים הוכחת רדוקציה
יש לבדוק חמש חובות נפרדות:
- קלט ופלט: להגדיר את שפות ההכרעה ואת כל הפרמטרים.
- בנייה: לתאר את גם לקלט חוקי וגם לקלט פגום.
- כיוון קדימה: להפוך פתרון מקור לפתרון יעד.
- כיוון אחורה: לפענח כל פתרון יעד העומד בסף לפתרון מקור.
- משאבים: לחסום את מספר העצמים, אורכי המספרים וזמן הבנייה באורך הקלט המקודד.
ב-3SAT→IS מתקבלים קודקודי הופעות, קשתות פסוקית וסתירה, בחירת הופעה אמיתית מכל פסוקית קדימה, בחירה עקבית מכל פסוקית אחורה, וגודל . הפרדת החובות מונעת מציור משכנע של גאדג׳ט להחליף הוכחה.
כיוון החץ דרך פותר היפותטי
דרך בטוחה לבדוק כיוון היא לדמיין קופסה שמכריעה את היעד . אם ברצוננו לפתור מקור , עלינו לחשב , להזין אותו לקופסת ולהחזיר את תשובתה. לכן נדרש . אם התהליך שכתבנו מתחיל במופע של ומשתמש בפותר של , הוכחנו את החץ ההפוך.
הבחנה זו חשובה במיוחד בבעיות דומות. למשל, העובדה שקל לפתור מקרה פרטי של בעיה אינה מוכיחה שהבעיה הכללית קלה, ורדוקציה מן הבעיה הכללית אל המקרה הפרטי תדרוש קידוד שאכן משמר את כל המופעים.
רשת רדוקציות במקום הוכחה מחדש
לאחר שהוכחנו
טרנזיטיביות נותנת . אין צורך להטמיע מחדש את טבלת Cook–Levin בתוך גאדג׳ט הגרף. זו התועלת המעשית בשלמות: אחרי בעיית המקור האוניברסלית, אפשר להתחיל כל הוכחה מבעיה שלמה שמבנה הפתרון שלה דומה ליעד.
רדוקציה גם אינה מוכיחה שהיעד קשה ממש מן המקור במובן של חסם זמן חד. היא אומרת שאלגוריתם מהיר ליעד היה נותן אלגוריתם מהיר למקור בתוספת תקורה פולינומיאלית. אלגוריתם מהיר למקור אינו אומר דבר בכיוון ההפוך, ואין מכאן לבדה הפרדה בין סיבוכויות.
טעויות נפוצות
- להפוך את חץ הקושי.
- להוכיח רק כיוון אחד.
- להתעלם מקלט פגום או מגודל פלט.
- להכריז שלמות בלי שייכות ל-NP.
- לתאר את Cook–Levin כ״טבלה״ בלי אילוצים וניתוח גודל.
- לשכוח קשתות פסוקית או קשתות סתירה.
- לא להסביר מדוע גודל כופה בחירה מכל פסוקית.
תרגילים
תרגיל 1 — כיוון הקושי
תהי . הוכיחו: אם אז . הסבירו מה ״עובר אחורה״ ומה ״הולך קדימה״ בחץ הרדוקציה.
פתרון
אם ו- בזמן פולינומיאלי, מכריע ל- נותן מכריע ל- בהרכבה. אלגוריתם/שייכות למחלקה סגורה כלפי מטה עוברים מ- ל- (אחורה בקושי). קושי עובר מ- ל- (קדימה): אם קשה ו- אז קשה לפחות כמו .
תרגיל 2 — שתי חובות לשלמות
הגדירו NP-שלמות. הוכיחו מדוע שייכות ל- לבדה או קושי לבדו אינם מספיקים.
פתרון
NP-שלמה אם (1) ו-(2) לכל , . בלי (1) ייתכן ש- קשה מחוץ ל-. בלי (2) שייכות ל- אינה משווה אותה לכל המחלקה.
תרגיל 3 — חלונות מקומיים ב-Cook–Levin
הסבירו מדוע די באילוצים על חלונות מקומיים בטבלת החישוב כדי לאכוף חישוב חוקי של TM.
פתרון
צעד דטרמיניסטי משנה שכונה קבועה בגודל סביב הראש. עקביות כל החלונות החופפים לכל הזמן כופה מעברים חוקיים מהקלט עד תצורת קבלה. מספר המשתנים/הפסוקיות פולינומיאלי בגודל הטבלה.
תרגיל 4 — ברדוקציית 3SAT→IS
ברדוקציה הסטנדרטית מ-3SAT לקבוצה בלתי־תלויה עם פרמטר (מספר פסוקיות), הוכיחו מדוע בחירת שוברת את השקילות.
פתרון
הבנייה שמה קליקה/קבוצה לכל פסוקית עם קשתות סתירה בין ליטרלים מנוגדים. כופה בחירת קודקוד מכל פסוקית — התאמה להשמה מספקת. אם אפשר לבחור קודקודים מפחות פסוקיות ולהתעלם מפסוקית לא־מסופקת, ולשבור את הכיוון.
תרגיל 5 — טרנזיטיביות וגודל פלט
הוכיחו ש- טרנזיטיבית, והדגישו מדוע נדרש ש- יהיה פולינומיאלי.
פתרון
אם מ־ ל- ו- מ־ ל- בזמן פולינומיאלי, אז בזמן פולינומיאלי כי ולכן רץ בזמן . בלי חסם פלט, הרכבה עלולה לצאת מפולינום.
סיכום
רדוקציה היא מהדר מופעים עם כיוון. שלמות דורשת שייכות וקושי; טעויות כיוון וגודל הן מלכודות בחינה.
תרגול מודרך
משימה 1 — הפרכת כיוון שגוי
סטודנט ״מוכיח״ קשה על ידי רדוקציה כאשר קלה. מה שגוי?
פתרון
ו- גוררים — כלומר קלה, לא קשה. כדי להעביר קושי מ- ל- צריך .
משימה 2 — רדוקציה חלקית
ברדוקציה לגרף: הוכח רק ״אם נוסחה סבירה אז יש קבוצה בלתי־תלויה״. אילו סעיפים חסרים?
פתרון
חסרים: כיוון ההחזרה (IS נוסחה סבירה), טיפול בקלט פגום, חסם זמן/גודל של , ושייכות היעד ל- אם מצהירים שלמות.
משימה 3 — מ-Cook–Levin לשלמות 3SAT
סכמו כיצד עוברים מ-SAT ל-3SAT תוך שמירת NP-שלמות (רעיון הגאדג׳ט, לא הוכחה מלאה).
פתרון
כל פסוקית ארוכה מפורקת לפסוקיות תלת־ליטרליות עם משתני עזר כך שיש השמה מספקת אמ״ם המקורית סבירה. הרדוקציה פולינומיאלית; עם וקושי של SAT מתקבלת שלמות 3SAT.
מקורות
עדויות הקורס
- תמליל 9 של סמסטר א׳ הנוכחי: רדוקציות many-one פולינומיאליות, כיוון, טרנזיטיביות וסגירות.
- תמליל 10: NP-קושי, NP-שלמות ותוצאותיו של אלגוריתם פולינומיאלי לבעיה שלמה.
- תמלילים 12–13: טבלת החישוב של Cook–Levin, עקביות מקומית, קבלה וחשבון גודל פולינומיאלי.
- תמליל 14: גאדג׳טי גרפים מ-SAT/3SAT, ובכללם הבנייה לקבוצה בלתי־תלויה.
- הסיכום הממוזג, עמ׳ 43–49: רדוקציות פולינומיאליות ושלמות; עמ׳ 50–54: Cook–Levin בלבד; עמ׳ 55–57, 64–66 ו-72–75: משפחת בעיות הגרף והרדוקציות ביניהן. אין לייחס לטווחים אלה כיסוי רחב יותר.
אימות מספרי לימוד
- Sipser, מהדורה שלישית, §§7.4–7.5, עמ׳ 300–325.
- Arora–Barak (טיוטה), §2.3, עמ׳ 45–58.
- Papadimitriou, פרקים 8–9. המשפטים אומתו בספרים; הסימון וסדר ההצגה תואמים לקורס.
העמודים שמהם זה נכתב
3 עמודים
העמודים נבחרו לפי חפיפת מילים בין הטקסט כאן לתמלול העמוד — לא אומתו ידנית. הם הצעה לבדיקה, לא ציטוט.
שיעור 7 · עמוד 4משפט קוק-לויןמילים משותפותהראשונה · שורה · מעליו · המשתנה · מצב · יחידה
שיעור 13 · עמוד 5המשך בעיות NP קשותמילים משותפותסותרות · מחזירים · ביניהם · השמות · יכולה · הבחנה
שיעור 14 · עמוד 2coC, ההיררכיה הפולינומיאליתמילים משותפותמסגירות · הפולינומיאלית · בדומה · CoNP · מקרה · שלמה