NP ו-coNP
תעודות פולינומיאליות, שקילותן לחישוב אי־דטרמיניסטי ואי־הסימטריה בין ראיות NP ו-coNP.
מטרות
- לעבור בשני הכיוונים בין הגדרת NP באמצעות מכונה אי־דטרמיניסטית לבין הגדרתה באמצעות מוודא.
- להסביר מדוע גם אורך התעודה וגם זמן האימות חייבים להיות חסומים פולינומיאלית.
- לפרש coNP כראיה קצרה לטענת ״לא״ או לטענה אוניברסלית, בלי לזהותה עם ״כל מה שאינו ב-NP״.
- להוכיח את ההכלות הידועות ולהפריד ביניהן לבין שאלות פתוחות.
1. NP: חיפוש לעומת אימות
לבעיות רבות ב-NP יש צורה ״האם קיים עצם קטן בעל תכונה הניתנת לבדיקה יעילה?״ ב-SAT העצם הוא השמה; ב-CLIQUE הוא אוסף קודקודים; וב-Hamiltonian Cycle הוא סדר הקודקודים. חיפוש דטרמיניסטי עלול לבדוק מספר מעריכי של מועמדים, אך בדיקת מועמד נתון קצרה.
NP אינה קיצור של “not polynomial”, ואינה קביעה שלפיה בעיה כלשהי דורשת זמן מעריכי.
הגדרת המכונה
מכונת טיורינג אי־דטרמיניסטית מקבלת אם קיים ענף חישוב מקבל. היא מכריעה בזמן אם כל ענף נעצר בתוך צעדים ו-
לכן
במופע לא, כל הענפים דוחים. החלפת מצבי קבלה ודחייה אינה נותנת מכונה למשלימה: היא הופכת ״קיים ענף מקבל״ ל״קיים ענף שהיה דוחה״, ולא לתנאי האוניברסלי הדרוש.
הגדרת המוודא
שפה שייכת ל-NP אם קיימים פולינומים ומכונה דטרמיניסטית כך שלכל ,
ו- נעצרת בתוך צעדים. היא תעודה. אפשר לדרוש אורך מדויק באמצעות ריפוד מוסכם.
החסם על מהותי: אם התעודה מעריכית, אפילו קריאתה אינה פולינומיאלית ב-. זמן המוודא נמדד בקלט המלא, אך
הוא פולינום בגודל המופע.
NP ו־coNP
2. שקילות מוודא ומכונה אי־דטרמיניסטית
משפט. שפה מוכרעת בידי NTM בזמן פולינומיאלי אם ורק אם יש לה תעודות באורך פולינומיאלי הנבדקות בזמן פולינומיאלי.
מ-NTM למוודא
נניח שכל ענף של נמשך לכל היותר צעדים. התעודה מקודדת את הבחירה האי־דטרמיניסטית בכל צעד בענף מקבל. למכונה קבועה יש מספר קבוע של אפשרויות מעבר, ולכן כל בחירה דורשת מספר קבוע של ביטים, וכל התמליל באורך פולינומיאלי.
מדמה את דטרמיניסטית וכופה בכל הסתעפות את הבחירה הרשומה ב-. היא דוחה בחירה לא חוקית, תמליל שנקטע, או ענף שאינו מקבל.
- אם , קיים ענף מקבל והתמליל שלו מתקבל.
- אם , אין ענף מקבל, ולכן שום תמליל לא יתקבל.
- אורך ההדמיה פולינומיאלי.
אפשר לקודד במקום זאת סדרת קונפיגורציות. הקידוד גדול יותר אך עדיין פולינומיאלי, ושתי קונפיגורציות סמוכות ניתנות לבדיקה מקומית.
ממוודא ל-NTM
בהינתן , המכונה מחשבת , מנחשת אי־דטרמיניסטית את ביטי , ומריצה . אם , ענף אחד מנחש תעודה טובה. אם , כל התעודות נדחות. הזמן הוא
ולכן פולינומיאלי. ״נחש ובדוק״ אינו אלגוריתם אקראי; הסמנטיקה עוברת קיומית על כל הניחושים.
3. דוגמאות לתעודות
SAT
לנוסחת CNF עם משתנים, התעודה היא ביטים. עוברים על הפסוקיות ובודקים שבכל אחת יש ליטרל אמיתי. עבור
ההשמה היא תעודה: הפסוקית הראשונה נכונה בזכות והשנייה בזכות . תעודה גרועה אינה הוכחה למופע לא.
CLIQUE
המופע הוא . התעודה מפרטת קודקודים שונים; בודקים טווח, שונות וכל הצלעות. אם , דוחים מיד. בדיקה זו חשובה כאשר מקודד בינרית: אין לבצע איטרציות לפני שמגבילים אותו בגודל הגרף.
COMPOSITE
למספר בינרי , גורמים עם הם תעודה. אורכם וכפל ארוך פולינומיאלי באורך הבינרי. זו תעודה ל-COMPOSITE, לא תעודה אוטומטית ל-PRIMES.
4. משלים וראיות coNP
לשפה נגדיר
coNP היא מחלקת שפות, לא המשלים הקבוצתי של אוסף השפות NP. שפה יכולה להשתייך לשתיהן.
באמצעות הפיכת תשובת המוודא מתקבלת הצורה
באופן שקול, אם , קיימת תעודה קצרה החושפת זאת. לכן coNP מתארת לעיתים ראיות קצרות לתשובת לא.
TAUT מכילה נוסחאות הנכונות בכל השמה. נוסחה שאינה טאוטולוגיה מגיעה עם השמה מפריכה, ולכן . בדומה, כי המשלימה שלה היא SAT. השמה מספקת אחת מוכיחה SAT; בדיקת כמה השמות שנכשלו אינה מוכיחה UNSAT.
PRIMES נמצאת ב-P, ולכן גם ב-NP וגם ב-coNP. הדוגמה מדגישה שהחיתוך אינו ידוע כשווה ל-P מתוך ההגדרות בלבד.
5. הכלות ותוצאות מותנות
טענה. .
מכונה דטרמיניסטית היא NTM בעלת ענף יחיד, ולכן . אם , מחליפים במכריע הכולל קבלה ודחייה ומקבלים מכריע פולינומיאלי ל-. לכן .
טענה. אם , אז .
P סגורה למשלים. אם NP=P, גם NP סגורה למשלים, ולכן אם ורק אם , כלומר .
לא ידוע אם ולא ידוע אם . אם שפה NP-שלמה כלשהי נמצאת ב-coNP, אז סגירות כלפי מטה ברדוקציות נותנת , ומשלים נותן שוויון.
6. קידודים
שפה היא אוסף מחרוזות. לכן יש להגדיר קידוד ולדחות, בדרך כלל, קלט פגום. מספר בינרי תופס ביטים; לולאה בת צעדים עלולה להיות מעריכית באורך הקלט. ״פעולה אחת על מספר״ אינה בהכרח פעולה בזמן קבוע.
7. שלוש תבניות כמתים
לפני שמחפשים תעודה כדאי לכתוב את המבנה הלוגי:
הנשוא שבסוגריים נבדק בזמן פולינומיאלי. השורה הראשונה היא ישירות בצורת מוודא NP. בשתי האחרות אי־שייכות נחשפת באמצעות דוגמה נגדית קיומית, ולכן הן בצורת coNP. ההבדל מסביר את אי־הסימטריה בלי לטעון להפרדה: ייתכן שקיימות תעודות פולינומיאליות מתוחכמות ל-UNSAT שאינן פשוט רשימת כל ההשמות. הוכחה שלכל שפת coNP יש תעודות NP תהיה בדיוק הוכחת .
אותו מבנה מופיע בגרפים. קבוצה מוצעת של קודקודים מוכיחה CLIQUE בבדיקה זוגית. לעומת זאת, ״אין בגרף קליקה בגודל ״ נראית כטענה על כל תתי־הקבוצות. שפת NO-CLIQUE נמצאת ב-coNP כי קליקה אחת מפריכה אותה. מכאן לבדו לא נובע אם היא נמצאת גם ב-NP.
קידוד ענף מפורש יותר
נניח שלכל קונפיגורציה של יש לכל היותר ממשיכים חוקיים, כאשר תלוי רק בטבלת המעברים הקבועה. ממספרים אותם ומגדירים
לחישוב בן צעדים משתמשים בדיוק ב- ביטי תעודה, המחולקים ל- בלוקים. בזמן הבלוק ה- מציין את המעבר הנבחר. אם המספר אינו מעבר חוקי, המוודא דוחה. אם המכונה נעצרת מוקדם, שאר הבלוקים חייבים לציין מעבר ריפוד מוסכם. כך המוודא כולל ומוגדר גם על תמלילים קצרים או פגומים. הוא מחזיק את הקונפיגורציה הנוכחית, מאתר מעבר אחד ומעדכן אותה לכל היותר פעמים.
בכיוון ההפוך, NTM המדמה מוודא אינה צריכה לכתוב ברצף את כל התעודות. היא מסתעפת פעם אחת לכל ביט ומייצרת עץ חישוב בעומק . זמן אי־דטרמיניסטי מודד את אורך הענף הארוך ביותר, לא את מספר הקודקודים הכולל בעץ. כל ענף משקיע צעדים בניחוש ואז הרצה פולינומיאלית אחת של . זו הסיבה המדויקת לכך שמספר מעריכי של מועמדים תואם זמן אי־דטרמיניסטי פולינומיאלי.
תעודה כרצף קונפיגורציות
אם מעדיפים תעודה שקל יותר לבדוק מקומית, אפשר לרשום . כל קונפיגורציה משתמשת ב- תאי סרט, ולכן אורך הרשימה . המוודא בודק ש- היא קונפיגורציית ההתחלה על , שכל מתקבלת מ- במעבר חוקי אחד, וש- מקבלת. בדיקת זוג סמוך פולינומיאלית, ויש מספר פולינומיאלי של זוגות. זהו גם הגשר הרעיוני לטבלת Cook–Levin.
8. דוגמאות נוספות לאי־סימטריה
ב-Hamiltonian Cycle, סדר מחזורי של הקודקודים הוא תעודת כן: בודקים שכל קודקוד מופיע פעם ושכל זוג עוקב, כולל האחרון והראשון, מחובר. לטענה שאין מעגל כזה אין תעודה דומה הנובעת מן ההגדרה; היא נמצאת ב-coNP מפני שמעגל אחד מפריך אותה.
ב-Subset Sum, וקטור ביטים בוחר מספרים וסכומם נבדק בינרית. לתשובת לא צריך לכאורה לשלול את כל תתי־הקבוצות. שוב, זו אינטואיציה לכמתים ולא הוכחת הפרדה.
לעומת זאת, בעיה ב-P מקבלת ראיות לשני הצדדים באופן טריוויאלי: המוודא יכול להתעלם מן התעודה ולהריץ את המכריע. לכן אין סתירה בכך ש-PRIMES ו-COMPOSITE נמצאות שתיהן ב-NP וב-coNP.
9. מה קורה אם שפה שלמה נמצאת ב-coNP?
תהי NP-שלמה ונניח . לכל קיימת כך ש-
אותה שקילות נותנת מיד
מן ההנחה נובע . מחשבים ומפעילים מוודא NP של ; לכן , כלומר . קיבלנו . לקיחת משלימים נותנת את ההכלה ההפוכה והשוויון.
הטיעון משתמש ברדוקציית many-one: יש פלט יחיד ושקילות, ולכן מעבר למשלים מיידי. עבור סוגי רדוקציה אחרים אין להניח סגירות בלי הוכחה.
שימו לב להבדל בין NP-קשה ל-NP-שלמה. אם רק NP-קשה ונמצאת ב-coNP, אותו טיעון עדיין מעביר שייכות לכל שפת NP. אבל כדי לכנות את NP-שלמה נדרשת בנוסף הוכחה נפרדת ש-.
10. מוודא אינו חייב למצוא את התעודה
הגדרת NP מפרידה בכוונה בין קיום לבין מציאה. המוודא מקבל את כחלק מן הקלט שלו ואינו נדרש לייצר אותו. לדוגמה, מוודא SAT אינו מחפש השמה: הוא קורא את הביט של כל משתנה ובודק את הפסוקיות. מוודא Hamiltonian Cycle אינו בונה מסלול: הוא בודק את סדר הקודקודים שנמסר לו.
אם היה אלגוריתם דטרמיניסטי פולינומיאלי המוצא תמיד תעודה לבעיה NP-שלמה בכל מופע כן, אפשר היה להכריע את הבעיה: מריצים אותו ובודקים את הפלט. לכן שאלת החיפוש קשורה עמוקות לשאלת ההכרעה. עם זאת, ההגדרה עצמה מבטיחה רק מוודא, ולא אלגוריתם חיפוש.
גם ייחוד התעודה אינו נדרש. לנוסחת SAT עשויות להיות השמות מספקות רבות, ולגרף עשויים להיות מעגלים המילטוניים רבים. ה-NTM צריכה רק ענף מקבל אחד; כל שאר הענפים רשאים לדחות.
לבסוף, המוודא חייב לעצור על כל זוג , גם אם פגום או אינו בפורמט המצופה. בדיקת תחביר ודחייה מיידית שומרות על כוליות ועל חסם הזמן.
טעויות נפוצות
- לפרש NP כ״זמן מעריכי״.
- להחליף קבלה ודחייה ב-NTM כדי לקבל משלים.
- למדוד זמן בערך המספרי ולא באורך הקידוד.
- לאפשר תעודה בלתי־חסומה.
- להסיק ממועמד כושל שאין מועמד מצליח.
- לצייר הפרדות מחלקות כאילו הן ידועות.
תרגילים
תרגיל 1 —
הוכיחו ו-. ציינו מה לא הוכחתם על .
פתרון
מכונה דטרמיניסטית פולינומיאלית היא NTM בעלת ענף יחיד, לכן . אם , מחליפים קבלה ודחייה במכריע הכולל ומקבלים מכריע ל- באותו זמן, לכן ו-.
לא הוכח: (פתוח). ידועה רק ההכלה .
תרגיל 2 — תעודת מסלול המילטוני
הוכיחו כי שפת המסלולים ההמילטוניים בגרף מכוון נמצאת ב-: הגדירו תעודה, בדיקות, שלמות ונאותות.
פתרון
תעודה: סדרת מזהים. בודקים שהיא תמורה של , שכל זוג עוקב הוא קשת, ושקשת סגירה קיימת (למעגל) או שמדובר במסלול לפי הגדרת השפה. אורך , זמן פולינומיאלי. שלמות/נאותות לפי הגדרת המסלול/המעגל.
תרגיל 3 — תעודת coNP לאי־טאוטולוגיה
תהי שפת הנוסחאות שאינן טאוטולוגיות. הוכיחו ולכן שפת הטאוטולוגיות ב-.
פתרון
תעודה ל-: השמה המפריכה את הנוסחה. אימות: הצבה וחישוב הערך בזמן פולינומיאלי. לכן , ומשלימה (טאוטולוגיות) ב-.
תרגיל 4 — חסם על
הוכיחו מדוע בהגדרת מוודא חייבים לחסום . מה נשבר בלי החסם?
פתרון
ה-NTM המקבילה מנחשת את ; בלי חסם הניחוש אינו פולינומיאלי ב-. גם קריאת לבדה עלולה להיות לא פולינומיאלית באורך הקלט. החסם מבטיח .
תרגיל 5 — NP-שלמה ב-
הוכיחו: אם קיימת שפה NP-שלמה ב-, אז .
פתרון
תהי NP-שלמה ו-. לכל קיימת רדוקציה פולינומיאלית . הרכבה עם מכריע פולינומיאלי ל- נותנת מכריע פולינומיאלי ל-. לכן , ומכאן שוויון.
סיכום
הוא קיום תעודה קצרה הניתנת לאימות יעיל; הוא ראיית־לא. ההכלות עם ידועות; השוויונות המעניינים פתוחים.
תרגול מודרך
משימה 1 — מוודא אינו מוצא תעודה
הסבירו מדוע מוודא פולינומיאלי אינו נדרש למצוא תעודה, ומה ההבדל מאלגוריתם חיפוש.
פתרון
המוודא מקבל ובודק. מציאת היא בעיית חיפוש שעשויה להיות קשה גם כשהאימות קל. שייכות ל- אינה מספקת אלגוריתם למציאת העד.
משימה 2 — סגירות למשלים
הוכיחו ש- סגורה למשלים. הסבירו מדוע אותה הוכחה נכשלת ל- בלי הנחות נוספות.
פתרון
ב- מחליפים קבלה/דחייה במכריע דטרמיניסטי. ב- החלפה בעץ משנה ל-״ ענף דוחה״ ולא ל-. לכן סגירות למשלים שקולה ל-, שאינה ידועה.
משימה 3 —
תנו דוגמה לבעיה טבעית החשודה כנמצאת ב- אך לא ידוע אם ב-, והסבירו מה כן ידוע על החיתוך.
פתרון
דוגמה קלאסית: מספרים ראשוניים (PRIMES) — ב- כיום, אך היסטורית דוגמה לחיתוך. באופן כללי ידוע ; לא ידוע שוויון. שפות שלמות ל- אינן יכולות להיות ב- אלא אם .
מקורות
עדויות הקורס
- תמלילי סמסטר א׳ הנוכחי 7–8: בדיקת תעודות, חישוב אי־דטרמיניסטי ואפיון NP באמצעות מוודא ו-NTM. לא נטען כאן למיקום מדויק יותר בתמליל.
- הסיכום הממוזג, עמ׳ 39–42: הגדרות הליבה של NP, תעודות פולינומיאליות ונקודת המבט של מוודא ומכונה אי־דטרמיניסטית.
- הסיכום הממוזג, עמ׳ 81–85: משלים, coNP, אי־סימטריה של ראיות והדיון ב-NP מול coNP. טווחי העמודים משמשים כעדות קורס; לא הועתק ניסוח מן הסיכום הסרוק.
אימות מספרי לימוד
- Sipser, Introduction to the Theory of Computation, מהדורה שלישית, §7.3, עמ׳ 293–299.
- Arora–Barak, Computational Complexity: A Modern Approach (טיוטה), §2.1–2.2, עמ׳ 38–45 במספור הטיוטה.
- Papadimitriou, Computational Complexity, פרק 9, עמ׳ 181–187. הספרים מאמתים את המשפטים הסטנדרטיים; סדר ההצגה והדוגמאות מבוססים על הקורס.
העמודים שמהם זה נכתב
3 עמודים
העמודים נבחרו לפי חפיפת מילים בין הטקסט כאן לתמלול העמוד — לא אומתו ידנית. הם הצעה לבדיקה, לא ציטוט.
שיעור 4 · עמוד 3המשך אי דטרמיניזםמילים משותפותניסוח · מדויק · שקול · בקבלה · הצגה · סוף
שיעור 8 · עמוד 1בעית החתך המרבי ובעיות צביעהמילים משותפותCook · Levin · ההתחלה · לאלא · לסכם · Not
שיעור 20 · עמוד 4תרגילים משיעורי ביתמילים משותפותששתיהן · ואז · קיימות · שונות · מספקות · ההשמות