תרגיל

רדוקציה מ־Subset Sum ל־Partition

איזון תת־קבוצה מול המשלימה בלי להניח שהיעד הוא מחצית הסכום.

מקורות מטלות

מטלות סמסטר א׳ 2026מטלה רשמיתexercise4.pdfQ4מסמך קורס סמכותי
הכנה איכותית למבחן ופתרונות קהילתיים — נוי 2025פתרון קהילתיפתרון מטלה 4 - סיבוכיות.pdfAssignment 4הכנה איכותית ופתרון קהילתי — אינו מקור רשמי

שאלה

עבור שלמים חיוביים a1,…,ama_1,\ldots,a_m ויעד TT, בצעו רדוקציה מ-SUBSET-SUM ל-PARTITION. טפלו במקרה T>∑iaiT>\sum_i a_i, והגדירו PARTITION כחלוקת הרב־קבוצה לשני חלקים שווי־סכום. הוכיחו נכונות וגודל קידוד פולינומי.

דרישות קדם

נדרשת שליטה בהגדרות היחידה ובניתוח אורכי קידוד. יש להבחין בין טענה מותנית, רדוקציה ואלגוריתם.

רמז 1

נסמן S=∑iaiS=\sum_i a_i ונוסיף מספרים היוצרים היסט מתאים.

רמז 2

הזוג S+T,2S−TS+T,2S-T נותן סכום כולל 4S4S.

רמז 3

שני המספרים החדשים אינם יכולים להיות באותו צד.

בנייה מודרכת

סכום תת־קבוצה → חלוקה

שלב 1 מתוך 6
A = {3, 5, 6, 11}T = 14
מסכום תת־קבוצה לחלוקה באמצעות שני סמנים שנוספיםעמודות פרופורציוניות ל־3, 5, 6, 11 ולסמנים 39 ו־36 ממלאות שתי כפות שסכום כל אחת מהן 50.המספרים משורטטים לפי גודלם35611
מספר מקורי

פתרון מלא

נסמן S=∑iaiS=\sum_i a_i. אם T>ST>S, נחזיר מופע לא קבוע, למשל {1,2}\{1,2\}. אחרת, עבור 0<T≤S0<T\le S, נחזיר

A′={a1,…,am,S+T,2S−T}.A'=\{a_1,\ldots,a_m,S+T,2S-T\}.

סכום כל המספרים הוא 4S4S, ולכן בכל חלוקה שווה סכום כל צד 2S2S.

אם תת־קבוצה מקורית סכומה TT, נשים אותה יחד עם 2S−T2S-T ונקבל 2S2S. שאר המספרים המקוריים יחד עם S+TS+T נותנים (S−T)+(S+T)=2S(S-T)+(S+T)=2S.

להפך, שני המספרים החדשים אינם יכולים להיות באותו צד, כי סכומם 3S>2S3S>2S. לכן הם מופרדים. בצד המכיל 2S−T2S-T, סכום המספרים המקוריים חייב להיות בדיוק TT, וזו תת־קבוצה פותרת.

את SS מחשבים בחיבורים בינאריים פולינומיים. המספרים החדשים לכל היותר 3S3S, ו-log⁡S\log S פולינומי באורך הקלט, ולכן גם אורך הפלט פולינומי. יש לשמר ריבוי של ערכים שווים. במקרה T=0T=0 התשובה המקורית כן בגלל הקבוצה הריקה, ולכן אפשר להחזיר מופע כן קבוע ולהימנע מהכנסת אפס כאשר ההגדרה דורשת חיוביות.

נקודות בדיקה

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

טעויות נפוצות

  • הוספת S−2TS-2T בלי טיפול בסימן.
  • אי־הוכחת הפרדת המספרים החדשים.
  • מדידת גודל לפי ערך ולא מספר ביטים.

מקורות ואימות

  • 2026 transcript 15
  • Garey-Johnson, SP12
  • הערת כיסוי הקורפוס: אין כיסוי ישיר בסיכום הממוזג.
  • מיפוי קטלוג: data/exercises.json; הניסוח והפתרון עצמאיים; הגשות אישיות אינן מקור סמכות.

הערת מקור וביטחון

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