מעגל של ארבע רדוקציות במקום 12

DHP/DHC/UHC/UHP ≤p each other

בין כל שתיים מארבע הבעיות DHPDHP, DHCDHC, UHPUHP, UHCUHC קיימת רדוקציה בזמן פולינומי; כלומר כולן שקולות פולינומית, ולכן כולן NP-קשות.

הבנייה

הטיעון החוסך. לכאורה צריך רדוקציה בין כל זוג סדור, כלומר 4⋅3=124\cdot3=12 רדוקציות. אבל ≤p\le_p טרנזיטיבי, ולכן די במעגל של ארבע:

DHP ≤p DHC ≤p UHC ≤p UHP ≤p DHP.DHP\ \le_p\ DHC\ \le_p\ UHC\ \le_p\ UHP\ \le_p\ DHP .

מכל צומת אפשר להגיע לכל צומת אחר בהליכה לאורך המעגל, ובכל הליכה כזו מרכיבים לכל היותר שלוש רדוקציות — והרכבה של פולינומים היא פולינום. עלינו מ-12 ל-4.

ההצדקה המלאה של ההרכבה. אם ff מחשבת A≤pBA\le_p B בזמן p(n)p(n) ו-gg מחשבת B≤pCB\le_p C בזמן q(n)q(n), אז ∣f(x)∣≤p(∣x∣)|f(x)|\le p(|x|) — בזמן p(∣x∣)p(|x|) אי אפשר לכתוב יותר מ-p(∣x∣)p(|x|) תווים — ולכן חישוב g(f(x))g(f(x)) עולה p(∣x∣)+q(p(∣x∣))p(|x|)+q(p(|x|)), שהוא פולינום. וכן x∈A  ⟺  f(x)∈B  ⟺  g(f(x))∈Cx\in A\iff f(x)\in B\iff g(f(x))\in C.

נקודת המוצא. נאמר בקורס ללא הוכחה כי 3SAT≤pDHP\mathrm{3SAT}\le_p DHP, ולכן DHPDHP היא NP-קשה; המרצה הצהיר במפורש שהרדוקציה הזאת "חמודה אבל מאוד מאוד טרחנית" ולכן מוותרים עליה — את התוצאה צריך לדעת, את ההוכחה לא. מרגע ש-DHPDHP קשה, המעגל מעביר את הקושי לשלוש האחרות.

כולן ב-NP. ה-certificate הוא סדר של הקודקודים (תמורה של VV), באורך O(∣V∣log⁡∣V∣)O(|V|\log|V|). המוודא בודק שכל שני קודקודים עוקבים מחוברים בקשת (ובגרף מכוון — בקשת בכיוון הנכון), ובמקרה של מעגל בודק גם את הקשת הסוגרת מהאחרון לראשון. זמן פולינומי. לכן כל הארבע NP-שלמות.

המחשה

בנייה מודרכת

שרשרת רדוקציות לבעיות NP-שלמות

שלב 1 מתוך 5
הבעיה הקשה הידועה Aמופע המקור x
f(x)מהדר פולינומי כולל
פותר לבעיית היעד Bאלגוריתם מהיר היפותטי
תשובת כן/לא של הפותר מכריעה את A

נכונות — שני הכיוונים

DHP/DHC/UHC/UHP ∈ ⟹ each other ∈

הכיוון DHC≤pUHCDHC\le_p UHC מוכח במלואו בערך הנפרד שלו. שלוש החוליות האחרות נמסרו כתרגילי בית ואינן נכתבות במקורות הקורס.

המבנה הכללי של כל אחת מהן זהה: הופכים בעיית מסלול לבעיית מעגל על ידי הוספת קודקוד (או זוג קודקודים) שכופה את הסגירה, והופכים גרף לא מכוון למכוון על ידי החלפת כל קשת בזוג קשתות מנוגדות. בכל מקרה הכיוון הראשון מוכח על ידי הצגת המסלול או המעגל המתאים במפורש.

each other ∈ ⟹ DHP/DHC/UHC/UHP ∈

שוב, החוליה UHCUHC מוכחת במלואה בערך הנפרד; לשאר החוליות ההוכחה עוקבת אחרי אותה תבנית — מראים שהמבנה שהוסף (הקודקוד הכופה, זוג הקשתות המנוגדות) מגביל את הפתרונות האפשריים בצד היעד כך שאפשר לקרוא מהם פתרון בצד המקור.

מדוע די במעגל — ההוכחה המלאה. תהיינה X,YX,Y שתיים מארבע הבעיות. במעגל בן ארבעה צמתים, המרחק המכוון מ-XX ל-YY הוא לכל היותר 33. נרכיב את הרדוקציות לאורך המסלול הזה; לפי חישוב ההרכבה שלמעלה, ההרכבה של עד שלוש רדוקציות פולינומיות היא רדוקציה פולינומית. לכן X≤pYX\le_p Y לכל זוג, כלומר כל הארבע שקולות.

סיבוכיות הרדוקציה

זמןpolynomial (composition of ≤ 3 links)
מקוםpolynomial
גודל הפלטpolynomial in the input

אורך הפלט הוא מה שהופך את ההרכבה לחוקית: מכונה שרצה tt צעדים כותבת פלט באורך O(t)O(t) לכל היותר, ולכן אורך הביניים חסום פולינומית, והרכבה של פולינומים היא פולינום. רדוקציה שמנפחת את הקלט מעריכית — גם אם היא "נכונה" — אינה שמישה בשרשרת כזאת.

מה זה קונה

כל ארבע הבעיות ההמילטוניות NP-שלמות. אזהרה שעלתה בכיתה: בקורס האלגוריתמים ראינו אלגוריתם פולינומי בעזרת מיון טופולוגי — זה נכון, אבל רק עבור גרף מכוון חסר מעגלים (DAG), מקרה מאוד ספציפי, ואין בכך סתירה לקושי של הבעיה הכללית.

מלכודות

  • הטרנזיטיביות היא מה שחוסך, ולא ה"דמיון" בין הבעיות. אי אפשר לומר "הבעיות דומות ולכן שקולות"; צריך מעגל מפורש של רדוקציות, ולהסביר מדוע די בו.

השרשרת

נשענת על

משמשת בהמשך ל

מאיפה זה נקרא

  • שיעור 12משפט 7: ארבע הבעיות ההמילטוניות
  • שיעור 12תרגיל 4 (מהכיתה, [01:16:34]): כמה רדוקציות נדרשות לארבע הבעיות ההמילטוניות?
  • 2026"הוכיחו כי DHP,DHC,UHC,UHPDHP,DHC,UHC,UHP שקולות פולינומית... הסבירו מדוע זה מספיק."
  • 2023 '2 מועד 1"נזכר ברדוקציה SAT≤PdHPSAT\le_P dHP שהראינו בכיתה" — ספירת הפלט על נוסחה עם 100 פסוקיות.
  • שלוש מארבע חוליות המעגל אינן כתובות באף מקור בקורפוס — הן נמסרו כתרגילי בית. הערך הזה מתעד את מבנה הטיעון ואת החוליה שכן נכתבה; הבניות של DHP≤pDHCDHP\le_p DHC, UHC≤pUHPUHC\le_p UHP ו-UHP≤pDHPUHP\le_p DHP אינן מתועדות כאן כדי לא לייחס לקורס בנייה שלא מסר.

  • הרדוקציה 3SAT≤pDHP\mathrm{3SAT}\le_p DHP, שהיא נקודת המוצא של כל המשפחה, נאמרה בקורס ללא הוכחה במפורש. הבחינה מ-2023 מתייחסת אליה כאל "הרדוקציה שהראינו בכיתה", כלומר בשנים קודמות היא כן נמסרה.