פער בין $\mathrm{OPT}=2$ ל-$\mathrm{OPT}=3$

PARTITION ≤p BIN-PACKING-OPT

אם קיים אלגוריתם פולינומי לבעיית האריזה למכלים ביחס קירוב מוחלט הקטן מ-32\tfrac32 — ובפרט ביחס 1.491.49 — אז P=NP\mathrm{P}=\mathrm{NP}.

הבנייה

מאיפה מגיע המספר 3/23/2. הרדוקציה PARTITION≤pBIN-PACKING\mathrm{PARTITION}\le_p\mathrm{BIN\text{-}PACKING} מייצרת מופע שסכום כל פריטיו הוא בדיוק 22 וכל פריט בקטע (0,1](0,1]. במופע כזה:

  • OPT≥2\mathrm{OPT}\ge2 תמיד, שכן קיבולת תא היא 11 וסכום הפריטים 22, ולכן שני תאים הם המינימום האפשרי;
  • OPT=2\mathrm{OPT}=2 אם ורק אם קיימת חלוקה שווה — כלומר אם ורק אם המופע המקורי ב-PARTITION\mathrm{PARTITION};
  • אחרת OPT≥3\mathrm{OPT}\ge3.

כלומר האופטימום מקבל רק אחד משני ערכים, 22 או 33, וההבחנה ביניהם שקולה להכרעת PARTITION\mathrm{PARTITION}. זהו "פער" קלאסי: ערכי הביניים ריקים.

האלגוריתם. נניח בשלילה שקיים אלגוריתם קירוב AA ביחס מוחלט ρ<32\rho<\tfrac32. נבנה מכריע ל-PARTITION\mathrm{PARTITION}:

  1. על קלט (a1,…,an)(a_1,\dots,a_n), הרץ את הרדוקציה PARTITION≤pBIN-PACKING\mathrm{PARTITION}\le_p\mathrm{BIN\text{-}PACKING} וקבל מופע (b1,…,bn)(b_1,\dots,b_n) שסכומו 22.
  2. הרץ את AA עליו וקבל מספר תאים ALG\mathrm{ALG}.
  3. אם ALG≤2\mathrm{ALG}\le2 — קבל; אחרת — דחה.

המחשה

בנייה מודרכת

אריזה למכלים: מחסום היחס המוחלט 3/2

שלב 1 מתוך 7
bᵢ = 2aᵢ/S · Σbᵢ = 2 · bᵢ ∈ (0,1] · קיבולת 1
שני מופעי אריזה מנורמלים שסכומם שתיים, והציר השלם שעליו האופטימום הוא שתיים או שלושמשמאל מופע כן שששת פריטיו מתחלקים לשני תאים המלאים בדיוק עד קיבולת אחת; מימין מופע לא הזקוק לשלושה תאים עם שארית גלויה. מתחת, ציר המסומן רק במספרים שלמים מציג את האופטימום בשתיים או בשלוש, את הרצועה הריקה ביניהם, ואת הערך 2ρ השווה ל־2.98 המתמוטט אל 2.פריטים מנורמלים, bᵢ = 2aᵢ/S, סכום 20.060.100.120.220.780.72A ∈ PARTITIONA = {3, 5, 6, 11, 39, 36}, S = 100קיבולת = 10.060.080.120.240.780.72A″ ∉ PARTITIONA″ = {3, 4, 6, 12, 39, 36}, S = 100קיבולת = 1
פריט מנורמל bᵢקיבולת תא 1

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

PARTITION ∈ ⟹ BIN-PACKING-OPT ∈

נניח (a1,…,an)∈PARTITION(a_1,\dots,a_n)\in\mathrm{PARTITION}. לפי נכונות הרדוקציה, המופע שנבנה ניתן לאריזה בשני תאים, כלומר OPT=2\mathrm{OPT}=2.

מכיוון ש-AA הוא אלגוריתם קירוב ביחס ρ\rho לבעיית מינימיזציה, ALG  ≤  ρ⋅OPT  =  2ρ  <  2⋅32  =  3.\mathrm{ALG}\;\le\;\rho\cdot\mathrm{OPT}\;=\;2\rho\;<\;2\cdot\tfrac32\;=\;3 . מספר התאים הוא מספר שלם, ו-ALG<3\mathrm{ALG}<3 גורר ALG≤2\mathrm{ALG}\le2. לכן שלב 3 מקבל.

זו הנקודה שבה השלמות של מספר התאים עושה את כל העבודה: הפער בין 22 ל-33 אינו ניתן לגישור על ידי ערך ביניים.

BIN-PACKING-OPT ∈ ⟹ PARTITION ∈

נניח (a1,…,an)∉PARTITION(a_1,\dots,a_n)\notin\mathrm{PARTITION}. לפי נכונות הרדוקציה, המופע שנבנה אינו ניתן לאריזה בשני תאים, ומכיוון ש-OPT≥2\mathrm{OPT}\ge2 תמיד — נובע OPT≥3\mathrm{OPT}\ge3.

אלגוריתם קירוב מחזיר פתרון אפשרי, כלומר אריזה חוקית, ואריזה חוקית אינה יכולה להשתמש בפחות תאים מהאופטימום. לכן ALG  ≥  OPT  ≥  3  >  2,\mathrm{ALG}\;\ge\;\mathrm{OPT}\;\ge\;3\;>\;2 , ולכן שלב 3 דוחה.

סיום. האלגוריתם מכריע את PARTITION\mathrm{PARTITION} בזמן פולינומי (הרדוקציה פולינומית, AA פולינומי מעצם ההגדרה, וההשוואה קבועה). אך PARTITION\mathrm{PARTITION} היא NP-קשה, ולכן NP⊆P\mathrm{NP}\subseteq\mathrm{P}, כלומר P=NP\mathrm{P}=\mathrm{NP}.

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

זמןO(|x|²) plus one call to A
מקוםO(|x|)
גודל הפלטO(|x|)

העלות היא בדיוק עלות הרדוקציה PARTITION≤pBIN-PACKING\mathrm{PARTITION}\le_p\mathrm{BIN\text{-}PACKING} (O(∣x∣2)O(|x|^2)), בתוספת קריאה יחידה ל-AA והשוואה אחת.

מה זה קונה

אין אלגוריתם פולינומי לאריזה למכלים ביחס מוחלט טוב מ-32\tfrac32, אלא אם P=NP\mathrm{P}=\mathrm{NP}. שימו לב שזה אינו סותר את קיומו של אלגוריתם First-Fit ביחס 22, ואף לא סכמות קירוב אסימפטוטיות — התוצאה חוסמת את היחס המוחלט בלבד, וההבחנה הזאת היא כל העניין.

מלכודות

  • היחס המוחלט מול היחס האסימפטוטי. התוצאה נשענת כולה על מופעים שבהם OPT∈{2,3}\mathrm{OPT}\in\{2,3\} — מספרים קטנים. יחס אסימפטוטי מתעניין בהתנהגות כאשר OPT→∞\mathrm{OPT}\to\infty, ושם החסם הזה אינו אומר דבר. ערבוב בין השניים הוא הטעות הנפוצה בשאלה הזאת.

  • השלמות של מספר התאים היא הצעד הקריטי. ALG<3\mathrm{ALG}<3 גורר ALG≤2\mathrm{ALG}\le2 רק מפני שמספר התאים שלם. בבעיית מינימיזציה עם ערכים רציפים אותו טיעון לא היה עובד, וזו הסיבה שהחסם הזה שייך דווקא לאריזה למכלים.

השרשרת

מאיפה זה נקרא

  • שיעור 25תרגיל 7: קירוב 1.491.49 ל-BIN-PACKING\mathrm{BIN\text{-}PACKING} גורר P=NP\mathrm{P}=\mathrm{NP}
  • שיעור 12משפט 5 (בונוס של אותה הוכחה): BIN-PACKING\mathrm{BIN\text{-}PACKING} נשארת NP-hard גם כאשר k=2k=2 קבוע
  • תרגיל מודרךbin-packing-approximation