500 likes | 665 Views
Bin Packing with Fixed Number of Bins. Klaus Jansen, Stefan Kratsch , Daniel Marx, Ildiko Schlotter. Bin Packing - Definition. הגדרה 1:. סט של פריטים מגודל רציונלי. מספר טבעי k . זהו מספר התאים בגודל 1.
E N D
Bin Packing with Fixed Number of Bins Klaus Jansen, Stefan Kratsch, Daniel Marx, IldikoSchlotter
Bin Packing - Definition הגדרה 1: • סט של פריטים מגודל רציונלי. • מספר טבעי k. זהו מספר התאים בגודל 1. • המטרה: לחלק את הפריטים לקבוצות כך שיתקיים: לכל • לדוגמא: • הפריטים: • 5 פריטים קטנים • 3 פריטים בינוניים • 3 פריטים גדולים • במקרה הזה k=3
FPTחלק א' – קירוב 1-חיבורי בזמן משפט1: ישנו אלגוריתם אשר עבור מחלק את הפריטים בלכל היותר תאים בזמן נניח כי ולכן נקבל כי זמן הריצה הוא
הכנה • x,y - הם קבועים שנגדיר בהמשך
שלב 1 • נסמן את האיברים הגדולים ב- • נשים לב כי בכל תא לכל היותר נכנסים איברים גדולים ולכן יש לכל היותר איברים גדולים.
שלב 1 • נגדיר פונקצית השמה של פריטים בתאים שתקיים: לכל • נשים לב כי יש לכל היותר פונקציות כאלו. • כל פונקציה תגדיר השמה חלקית שנקרא לה • לפחות אחד המיפויים מתאים להשמה האופטימלית.
שלב 2 • נחלק את קבוצת הפריטים הבינוניים לקבוצות כך שכל קבוצה כזאת תכיל את האיברים הבינוניים בתחום . • נסמן ב- את המספר הטבעי שמקיים: (המספר הגדול ביותר ב ) • נסמן ב את האינדקס עבורו מתקיים (המספר הקטן ביותר נמצא ב )
שלב 2 • הוכחת קיום : • המספר הטבעי הקטן ביותר שמקיים יהיה
שלב 2 • כל קבוצה נחלק לקבוצות בגודל (שיהיו בה g פריטים). • נסמן קבוצות אלו ב- כאשר בקבוצה נמצאים הפריטים הגדולים יותר וכך הלאה. (נשים לב כי בקבוצה האחרונה יכולים להיות פחות מ-g איברים) עבור g=4:
שלב 2 • כעת נעגל את האיברים בכל קבוצה G כלפי האיבר הגדול ביותר בקבוצה זו. • נסמן קבוצות אלו ב- • נסמן
שלב 2 • למה: עבור ועבור מתקיים: • הוכחה: בכל יש לכל היותר פריטים בגודל לכל היותר . לכן :
שלב 2 • למה: עבור ועבור מתקיים: • הוכחה(המשך): • ניזכר כי כלומר ולכן . • - בגלל ש ומהעובדה כי נקבל כי: • - עבור נקבל כי . ולכן (זהו מספר קבוצות )
שלב 2 • למה: עבור ועבור מתקיים: • הוכחה(המשך): • - עבור , , נקבל כי .
שלב 2 • נסמן ב- כאשר קבוצות וקיימת פונקציה חח"ע כך ש: . • נשים לב כי מתקיים תזכורת:
שלב 2 • למה: • הוכחה: • אי השיוויון הראשון נובע מהעובדה כי . • אי השיוויון השני נובע מהעובדה כי וכי .
שלב 2 • למה: עבור ועבור יש לכל היותר גדלים מעוגלים (קבוצות G’) • הוכחה: נסמן ב את מספר הפריטים ב- וב- את מספר הקבוצות ב נשים לב כי:
שלב 2 • למה: עבור ועבור יש לכל היותר גדלים מעוגלים (קבוצות G’) • הוכחה(המשך): מתוך ומהעובדה כי , נקבל כי . ולכן מספר הקבוצות הוא ולכן מספר הגדלים המעוגלים הוא: נשים לב כי:
שלב 2 • יש לכל היותר גדלים מעוגלים. וכל הפריטים נמצאים בתחום • לכל נסמן ב- את מספר הפריטים שגודלם המעוגל הוא . • בגלל ש- מתקיים: (עבור כל j).
שלב 2 • נגדיר פונקציה אשר עבור מחזירה את מספר הפריטים בגודל בתא ה- . • נשים לב כי פונקציה זו מגדירה השמה, והשמה זאת חוקית אמ"מ: • מספר הפונקציות האפשריות עבור תא בודד הוא:
שלב 2 • נעבור על ונחשב סט של וקטורים: • נשים לב כי • בניית מתוך אפשר לעשות בזמן: • אם יש פתרון לבעיה המקורית, אזי יש גם פתרון לבעיה • לכן בקבוצה חייב להיות הוקטור
שלב 2 • הדרך למצוא את ההשמה של האיברים הבינוניים ללא J’ (MEDIUM) לתאים B: תחילה נחשב את הקבוצות . כעת נבנה גרף G=(V,E) כך ש: (השמה חוקית משמעותה: ). כעת נמצא ע"י DFS את המסלול מהצורה ומתוכו לחשב את ההשמה לתאים. • בנית הגרף נעשית בזמן • DFS עובר על כל קשת לכל היותר פעם אחת לכן זמן הביצוע שלו גם כן
שלב 3 • בשלב זה נניח שכבר קיימת השמה של הפריטים הגדולים והבינוניים לתאים • את הפריטים הקטנים נכניס לתאים עם אלגוריתם Next Fit: - תעבור פריט פריט ותמלא את התאים לפי הסדר, ברגע שאי אפשר להכניס לתא מסויים את הפריט הנוכחי, תעבור לתא הבא ואל תחזור לבדוק את התא הנוכחי. (ניתן למימוש ע"י 2 WHILE פשוטים).
שלב 3 למה: אם אז האלגוריתם NF אורז את הפריטים בדיוק ב תאים. הוכחה: נניח בשלילה כי השתמשנו ביותר מ- תאים. לכן בכל תא נשאר פחות מ- מקום. לכן המקום הכולל שהשתמשנו בו גדול מ: עבור מתקיים: לכן סה"כ הגודל האיברים גדול מ-k בסתירה ל
משפט1: ישנו אלגוריתם אשר עבור מחלק את הפריטים בלכל היותר תאים בזמן זמן • האלגוריתם: • קבע ותחלק את לקבוצות: • חשב את כל ההשמות האפשריות של האיברים הגדולים בתאים. • תחלק את האיברים הבינוניים לקבוצות של פריטים שבתחום בכל קבוצה תחלק אותם לקבוצות של ותחשב את (לאחר עיגול הפריטים בקבוצות מגודל g). • לכל השמה מ-(2), תחלק את האיברים הבינוניים מתוך לתאים ואת תשים בתא נוסף . 5) תיקח השמה חוקית אחת מ(4). תחזיר את האיברים לערך המקורי שלהם לפני העיגול. לאחר מכן תפעיל את האלג' החמדן Next Fit על האיברים הקטנים. **ניזכר כי שזהו מספר האיברים בתא .
Bin Packing – Definition הגדרה 2(Unary Bin Packing): • סט של פריטים המקודדים באונארית: • מספרים טבעיים k ו-b. זהו מספר התאים וגודלים: • המטרה: לחלק את הפריטים לקבוצות כך שיתקיים: לכל
Bin Packing – Definition הגדרה 3(c-Unary Vector Bin Packing ): • סט של פריטים המקודדים באונארית: • מספר טבעי k. זהו מספר התאים: • המטרה: לחלק את הקבוצה לקבוצות כך שיתקיים: • עבור נסמן אם מתקיים לכל : (השוואת אינדקסים) לכל למה(ללא הוכחה): עבור כל מספר ישנה רדוקציה FPT מ- c-UVBP ל- UBP, כאשר הפרמטר בשתיהן הוא מספר התאים k.
חלק ב' –הקושי של Bin Packing משפט 2: Unary Bin Packing היא בעיה W[1]-hard כאשר הפרמטר הוא מספר התאים k. • נשים לב כי אם נראה כי 10-UVBP היא בעיה W[1] קשה, אז מהלמה ינבע המשפט. • לכן בחלק זה נתרכז בלהוכיח כי 10-UVBP היא בעיה W[1] קשה. • ניעזר בעובדה כי בעיית הClique היא W[1] קשה כאשר הפרמטר הוא גודל הקליק k.
הגדרות שימושיות • קבוצות k-Non-Averaging: עבור כל k אלמנטים בקבוצה, ניתן לשמור את הממוצע החשבוני שלהם באותה קבוצה אמ"מ כל האיברים שווים. • בהנתן מספר n ניתן לבנות קבוצה A שהיא k-Non-Averaging שתכיל n איברים. בנוסף ניתן לעשות זאת בזמן והאיבר הגדול ביותר יהיה בסדר גודל (דוגמא טריוויאלית היא קבוצה הבאה: שאינה קבוצה 2-NA מכיוון שעבור 1,3 הממוצע שלהם(2) מופיע והם אינם שווים. לאומת זאת היא כן קבוצה כזאת)
הגדרות שימושיות • קבוצות k-sumfree: קבוצה F היא k-sumfree אמ"מ לכל עם אותו גודל מתקיים: לדוגמא: הקבוצה היא כזאת. ניתן לחשוב כעל ייצוג מספרים בבסיס k+1. יש ייצוג יחיד לכל מספר. • ניתן לבנות קבוצה כזאת המכילה n איברים כך שהאיבר הגדול ביותר הוא לכל היותר.
10-Unary Vector Bin Packing היא בעיה W[1] קשה • הוכחה: נראה כאשר הפרמטר הוא k הקליק המבוקש בקליק. • תאור הרדוקציה: יהיו G=(V,E) ו-k, הגרף פשוט לא מכוון וגודל הקליק המבוקש. נניח כי וכי . נמספר את הקשתות בסדר כלשהו ונסמן להיות הקשת הh בגרף. • נבנה קבוצה מגודל n שתהיה k-Non_averaging: נסמן • נבנה קבוצה מגודל שהיא k-sumfree ונמספר את האיברים כך: נניח גם כי אמ"מ נמצא בסדר לקסיקוגרפי לפני לכן בהכרח נקבל כי נסמן
10-Unary Vector Bin Packing היא בעיה W[1] קשה • תאור הרדוקציה(המשך): נתאר את הנתונים לבעיה 10-UVBP: פריטים: • לכל נגדיר פריט: (לכל קשת יהיו פריטים) עבור i,j קבועים אורך הקידוד של כל האיברים מסוג זה הוא ולכן הקידוד הכולל של איברים מסוג זה הוא
10-Unary Vector Bin Packing היא בעיה W[1] קשה • תאור הרדוקציה(המשך): פריטים(המשך): • (לכל צומת יהיו פריטים) • לכל נגדיר פריטים: • בנוסף לכל נגדיר פריט: אורך הקידוד של איברי t הוא
10-Unary Vector Bin Packing היא בעיה W[1] קשה • תאור הרדוקציה(המשך): תאים: נגדיר תאים באופן הבא: • עבור כל נגדיר תא: • עבור כל נגדיר תא: כאשר: • תא נוסף r יקבע כך שגודל כל התאים יהיה בדיוק כגודל כל הפריטים. • ניתן לראות כי זאת אכן רדוקציה FPT. (אורך הקידוד של התאים הוא O של אורך הקידוד של • הפריטים מכיוון שזהו קידוד אונארי והגדלים שווים) • נראה כעת את תקפות הרדוקציה.
10-Unary Vector Bin Packing היא בעיה W[1] קשה • תקפות הרדוקציה: • כיוון ראשון: אם ב-G יש קליק בגודל k, אזי 10-UVBP כפי שהוגדר ניתן לפתרון. נניח כי הוא קליק ב-G. נגדיר את הקבוצות: - היא הקשת R יכילאת שאר הפריטים.
10-Unary Vector Bin Packing היא בעיה W[1] קשה • תקפות הרדוקציה(כיוון ראשון): נחשב את סכום הפריטים שבקבוצה :
10-Unary Vector Bin Packing היא בעיה W[1] קשה • תקפות הרדוקציה(כיוון ראשון): נחשב את סכום הפריטים שבקבוצה :
10-Unary Vector Bin Packing היא בעיה W[1] קשה • תקפות הרדוקציה(כיוון ראשון): נשים לב בגלל שהראנו עבור כל הקבוצות , אזי מאופן הגדרת R נובע כי גם: • תקפות הרדוקציה(כיוון שני): נניח כי קיימת חלוקה כך שמתקיימים התנאים הבאים: נראה כי קיים קליק בגודל k בגרף G.
10-Unary Vector Bin Packing היא בעיה W[1] קשה • תקפות הרדוקציה(כיוון שני): • נגדיר את הקבוצות הבאות:
10-Unary Vector Bin Packing היא בעיה W[1] קשה • תקפות הרדוקציה(כיוון שני): • נסתכל על תא כלשהו X מהחלוקה ועל האיברים שבו. הוא יכול להיות אחד מבין P,Q,R. נסתכל על כמות האיברים מכל אחת מהקבוצות שהגדרנו. (נוכל לדעת לפי הקואורדינטות 2,4,6,8)
10-Unary Vector Bin Packing היא בעיה W[1] קשה • תקפות הרדוקציה(כיוון שני): • נגדיר • נשים לב כי הקואורדינטה השלישית של r היא , בנוסף R מכיל בדיוק k וקטורים מתוך . • בגלל ש היא k-sumfree זה יכול לקרות אמ"מ בדיוק וקטור אחד מכל • נסמן וקטורים אלו ב- • נראה כי הוא קליק בגרף G.
10-Unary Vector Bin Packing היא בעיה W[1] קשה • תקפות הרדוקציה(כיוון שני): • בגלל שהקואורדינטה השלישית של היא ובגלל ש • נסיק כי חייב להכיל את כל הוקטורים ב- • בנוסף, ידוע כי צריך להכיל k-i פריטים מ- ו- i-1 פריטים מ- . לכן מהקואורדינטה החמישית והשביעית של ומהעובדה ש- הוא k-sumfree נסיק כי חייב להכיל בדיוק איבר אחד מכל סט שבו • נשים לב כי לא יכול להכיל יותר פריטים.
10-Unary Vector Bin Packing היא בעיה W[1] קשה • תקפות הרדוקציה(כיוון שני): • נסכם את כל הוקטורים שב- מתוך . • מכיוון שכל הוקטורים שנמצאים הם נקבל כי 2 הקואורדינטות האחרונות של הסכום • הם: • בגלל שהקואורדינטות האחרונות של הם , נקבל כי סכום כל • הוקטורים הנותרים ב2 הקואורדינטות האחרונות צריך לתת:
10-Unary Vector Bin Packing היא בעיה W[1] קשה • תקפות הרדוקציה(כיוון שני): • כמו שכבר נאמר , ב יש בדיוק איבר אחד מכל אחד מהסטים , . • נסתכל על הקואורדיטות 9,10 של הסכום שלהם. נקבל כי: • כעת בגלל ש היא k-Non-Averaging נקבל כי לכל . • כלומר קיבלנו כי
10-Unary Vector Bin Packing היא בעיה W[1] קשה • תקפות הרדוקציה(כיוון שני): • כעת נסתכל על . • לפי שתי הקואורדינטות הראשונות של ניתן להגיד שב • יש רק וקטור אחד מתוך . • נגדיר אותו להיות
10-Unary Vector Bin Packing היא בעיה W[1] קשה • תקפות הרדוקציה(כיוון שני): • מהטבלה ניתן לראות כי ב יש בדיוק n-1 וקטורים מתוך ואותה כמות מ • הקואורדינטות ה-5 וה-7 של הם ובהתחשב בסדר האיברים ב • נקבל כי • (נתחיל מ , אזי יש רק אפשרות אחת לסכום מכיוון שכל החלפה עם אחר רק יגדיל את הסכום ובקבוצה נשארו רק n-1 וקטורים לאחר ש לקח את הוקטור . • אותו הסבר יעבוד גם עם וכך הלאה)
10-Unary Vector Bin Packing היא בעיה W[1] קשה • תקפות הרדוקציה(כיוון שני): • כעת נסכום את כל הוקטורים ב ונסתכל על 2 הקואורדינטות האחרונות של הסכום. • בגלל ש • נקבל כי הקואורדינטות של הסכום הן: • ולכן ברור כי 2 הקואורדינטות האחרונות של הוקטור חייבות להיות • אבל מהגדרת זה יכול להיות אמ"מ הקשת היא קשת בגרף. • כלומר כל הקשתות עבור קיימות בגרף G, לכן יש ב-G קליק בגודל k. • הרדוקציה תקפה!