1 / 50

Bin Packing with Fixed Number of Bins

Bin Packing with Fixed Number of Bins. Klaus Jansen, Stefan Kratsch , Daniel Marx, Ildiko Schlotter. Bin Packing - Definition. הגדרה 1:. סט של פריטים מגודל רציונלי. מספר טבעי k . זהו מספר התאים בגודל 1.

hector
Download Presentation

Bin Packing with Fixed Number of Bins

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Bin Packing with Fixed Number of Bins Klaus Jansen, Stefan Kratsch, Daniel Marx, IldikoSchlotter

  2. Bin Packing - Definition הגדרה 1: • סט של פריטים מגודל רציונלי. • מספר טבעי k. זהו מספר התאים בגודל 1. • המטרה: לחלק את הפריטים לקבוצות כך שיתקיים: לכל • לדוגמא: • הפריטים: • 5 פריטים קטנים • 3 פריטים בינוניים • 3 פריטים גדולים • במקרה הזה k=3

  3. FPTחלק א' – קירוב 1-חיבורי בזמן משפט1: ישנו אלגוריתם אשר עבור מחלק את הפריטים בלכל היותר תאים בזמן נניח כי ולכן נקבל כי זמן הריצה הוא

  4. הכנה • x,y - הם קבועים שנגדיר בהמשך

  5. שלב 1 • נסמן את האיברים הגדולים ב- • נשים לב כי בכל תא לכל היותר נכנסים איברים גדולים ולכן יש לכל היותר איברים גדולים.

  6. שלב 1 • נגדיר פונקצית השמה של פריטים בתאים שתקיים: לכל • נשים לב כי יש לכל היותר פונקציות כאלו. • כל פונקציה תגדיר השמה חלקית שנקרא לה • לפחות אחד המיפויים מתאים להשמה האופטימלית.

  7. שלב 2 • נחלק את קבוצת הפריטים הבינוניים לקבוצות כך שכל קבוצה כזאת תכיל את האיברים הבינוניים בתחום . • נסמן ב- את המספר הטבעי שמקיים: (המספר הגדול ביותר ב ) • נסמן ב את האינדקס עבורו מתקיים (המספר הקטן ביותר נמצא ב )

  8. שלב 2 • הוכחת קיום : • המספר הטבעי הקטן ביותר שמקיים יהיה

  9. שלב 2 • כל קבוצה נחלק לקבוצות בגודל (שיהיו בה g פריטים). • נסמן קבוצות אלו ב- כאשר בקבוצה נמצאים הפריטים הגדולים יותר וכך הלאה. (נשים לב כי בקבוצה האחרונה יכולים להיות פחות מ-g איברים) עבור g=4:

  10. שלב 2 • כעת נעגל את האיברים בכל קבוצה G כלפי האיבר הגדול ביותר בקבוצה זו. • נסמן קבוצות אלו ב- • נסמן

  11. שלב 2 • למה: עבור ועבור מתקיים: • הוכחה: בכל יש לכל היותר פריטים בגודל לכל היותר . לכן :

  12. שלב 2 • למה: עבור ועבור מתקיים: • הוכחה(המשך): • ניזכר כי כלומר ולכן . • - בגלל ש ומהעובדה כי נקבל כי: • - עבור נקבל כי . ולכן (זהו מספר קבוצות )

  13. שלב 2 • למה: עבור ועבור מתקיים: • הוכחה(המשך): • - עבור , , נקבל כי .

  14. שלב 2 • נסמן ב- כאשר קבוצות וקיימת פונקציה חח"ע כך ש: . • נשים לב כי מתקיים תזכורת:

  15. שלב 2 • למה: • הוכחה: • אי השיוויון הראשון נובע מהעובדה כי . • אי השיוויון השני נובע מהעובדה כי וכי .

  16. שלב 2 • למה: עבור ועבור יש לכל היותר גדלים מעוגלים (קבוצות G’) • הוכחה: נסמן ב את מספר הפריטים ב- וב- את מספר הקבוצות ב נשים לב כי:

  17. שלב 2 • למה: עבור ועבור יש לכל היותר גדלים מעוגלים (קבוצות G’) • הוכחה(המשך): מתוך ומהעובדה כי , נקבל כי . ולכן מספר הקבוצות הוא ולכן מספר הגדלים המעוגלים הוא: נשים לב כי:

  18. שלב 2 • יש לכל היותר גדלים מעוגלים. וכל הפריטים נמצאים בתחום • לכל נסמן ב- את מספר הפריטים שגודלם המעוגל הוא . • בגלל ש- מתקיים: (עבור כל j).

  19. שלב 2 • נגדיר פונקציה אשר עבור מחזירה את מספר הפריטים בגודל בתא ה- . • נשים לב כי פונקציה זו מגדירה השמה, והשמה זאת חוקית אמ"מ: • מספר הפונקציות האפשריות עבור תא בודד הוא:

  20. שלב 2 • נעבור על ונחשב סט של וקטורים: • נשים לב כי • בניית מתוך אפשר לעשות בזמן: • אם יש פתרון לבעיה המקורית, אזי יש גם פתרון לבעיה • לכן בקבוצה חייב להיות הוקטור

  21. שלב 2 • הדרך למצוא את ההשמה של האיברים הבינוניים ללא J’ (MEDIUM) לתאים B: תחילה נחשב את הקבוצות . כעת נבנה גרף G=(V,E) כך ש: (השמה חוקית משמעותה: ). כעת נמצא ע"י DFS את המסלול מהצורה ומתוכו לחשב את ההשמה לתאים. • בנית הגרף נעשית בזמן • DFS עובר על כל קשת לכל היותר פעם אחת לכן זמן הביצוע שלו גם כן

  22. שלב 3 • בשלב זה נניח שכבר קיימת השמה של הפריטים הגדולים והבינוניים לתאים • את הפריטים הקטנים נכניס לתאים עם אלגוריתם Next Fit: - תעבור פריט פריט ותמלא את התאים לפי הסדר, ברגע שאי אפשר להכניס לתא מסויים את הפריט הנוכחי, תעבור לתא הבא ואל תחזור לבדוק את התא הנוכחי. (ניתן למימוש ע"י 2 WHILE פשוטים).

  23. שלב 3 למה: אם אז האלגוריתם NF אורז את הפריטים בדיוק ב תאים. הוכחה: נניח בשלילה כי השתמשנו ביותר מ- תאים. לכן בכל תא נשאר פחות מ- מקום. לכן המקום הכולל שהשתמשנו בו גדול מ: עבור מתקיים: לכן סה"כ הגודל האיברים גדול מ-k בסתירה ל

  24. משפט1: ישנו אלגוריתם אשר עבור מחלק את הפריטים בלכל היותר תאים בזמן זמן • האלגוריתם: • קבע ותחלק את לקבוצות: • חשב את כל ההשמות האפשריות של האיברים הגדולים בתאים. • תחלק את האיברים הבינוניים לקבוצות של פריטים שבתחום בכל קבוצה תחלק אותם לקבוצות של ותחשב את (לאחר עיגול הפריטים בקבוצות מגודל g). • לכל השמה מ-(2), תחלק את האיברים הבינוניים מתוך לתאים ואת תשים בתא נוסף . 5) תיקח השמה חוקית אחת מ(4). תחזיר את האיברים לערך המקורי שלהם לפני העיגול. לאחר מכן תפעיל את האלג' החמדן Next Fit על האיברים הקטנים. **ניזכר כי שזהו מספר האיברים בתא .

  25. Bin Packing – Definition הגדרה 2(Unary Bin Packing): • סט של פריטים המקודדים באונארית: • מספרים טבעיים k ו-b. זהו מספר התאים וגודלים: • המטרה: לחלק את הפריטים לקבוצות כך שיתקיים: לכל

  26. Bin Packing – Definition הגדרה 3(c-Unary Vector Bin Packing ): • סט של פריטים המקודדים באונארית: • מספר טבעי k. זהו מספר התאים: • המטרה: לחלק את הקבוצה לקבוצות כך שיתקיים: • עבור נסמן אם מתקיים לכל : (השוואת אינדקסים) לכל למה(ללא הוכחה): עבור כל מספר ישנה רדוקציה FPT מ- c-UVBP ל- UBP, כאשר הפרמטר בשתיהן הוא מספר התאים k.

  27. חלק ב' –הקושי של Bin Packing משפט 2: Unary Bin Packing היא בעיה W[1]-hard כאשר הפרמטר הוא מספר התאים k. • נשים לב כי אם נראה כי 10-UVBP היא בעיה W[1] קשה, אז מהלמה ינבע המשפט. • לכן בחלק זה נתרכז בלהוכיח כי 10-UVBP היא בעיה W[1] קשה. • ניעזר בעובדה כי בעיית הClique היא W[1] קשה כאשר הפרמטר הוא גודל הקליק k.

  28. הגדרות שימושיות • קבוצות k-Non-Averaging: עבור כל k אלמנטים בקבוצה, ניתן לשמור את הממוצע החשבוני שלהם באותה קבוצה אמ"מ כל האיברים שווים. • בהנתן מספר n ניתן לבנות קבוצה A שהיא k-Non-Averaging שתכיל n איברים. בנוסף ניתן לעשות זאת בזמן והאיבר הגדול ביותר יהיה בסדר גודל (דוגמא טריוויאלית היא קבוצה הבאה: שאינה קבוצה 2-NA מכיוון שעבור 1,3 הממוצע שלהם(2) מופיע והם אינם שווים. לאומת זאת היא כן קבוצה כזאת)

  29. הגדרות שימושיות • קבוצות k-sumfree: קבוצה F היא k-sumfree אמ"מ לכל עם אותו גודל מתקיים: לדוגמא: הקבוצה היא כזאת. ניתן לחשוב כעל ייצוג מספרים בבסיס k+1. יש ייצוג יחיד לכל מספר. • ניתן לבנות קבוצה כזאת המכילה n איברים כך שהאיבר הגדול ביותר הוא לכל היותר.

  30. 10-Unary Vector Bin Packing היא בעיה W[1] קשה • הוכחה: נראה כאשר הפרמטר הוא k הקליק המבוקש בקליק. • תאור הרדוקציה: יהיו G=(V,E) ו-k, הגרף פשוט לא מכוון וגודל הקליק המבוקש. נניח כי וכי . נמספר את הקשתות בסדר כלשהו ונסמן להיות הקשת הh בגרף. • נבנה קבוצה מגודל n שתהיה k-Non_averaging: נסמן • נבנה קבוצה מגודל שהיא k-sumfree ונמספר את האיברים כך: נניח גם כי אמ"מ נמצא בסדר לקסיקוגרפי לפני לכן בהכרח נקבל כי נסמן

  31. 10-Unary Vector Bin Packing היא בעיה W[1] קשה • תאור הרדוקציה(המשך): נתאר את הנתונים לבעיה 10-UVBP: פריטים: • לכל נגדיר פריט: (לכל קשת יהיו פריטים) עבור i,j קבועים אורך הקידוד של כל האיברים מסוג זה הוא ולכן הקידוד הכולל של איברים מסוג זה הוא

  32. 10-Unary Vector Bin Packing היא בעיה W[1] קשה • תאור הרדוקציה(המשך): פריטים(המשך): • (לכל צומת יהיו פריטים) • לכל נגדיר פריטים: • בנוסף לכל נגדיר פריט: אורך הקידוד של איברי t הוא

  33. 10-Unary Vector Bin Packing היא בעיה W[1] קשה • תאור הרדוקציה(המשך): תאים: נגדיר תאים באופן הבא: • עבור כל נגדיר תא: • עבור כל נגדיר תא: כאשר: • תא נוסף r יקבע כך שגודל כל התאים יהיה בדיוק כגודל כל הפריטים. • ניתן לראות כי זאת אכן רדוקציה FPT. (אורך הקידוד של התאים הוא O של אורך הקידוד של • הפריטים מכיוון שזהו קידוד אונארי והגדלים שווים) • נראה כעת את תקפות הרדוקציה.

  34. 10-Unary Vector Bin Packing היא בעיה W[1] קשה • תקפות הרדוקציה: • כיוון ראשון: אם ב-G יש קליק בגודל k, אזי 10-UVBP כפי שהוגדר ניתן לפתרון. נניח כי הוא קליק ב-G. נגדיר את הקבוצות: - היא הקשת R יכילאת שאר הפריטים.

  35. 10-Unary Vector Bin Packing היא בעיה W[1] קשה • תקפות הרדוקציה(כיוון ראשון): נחשב את סכום הפריטים שבקבוצה :

  36. 10-Unary Vector Bin Packing היא בעיה W[1] קשה • תקפות הרדוקציה(כיוון ראשון): נחשב את סכום הפריטים שבקבוצה :

  37. 10-Unary Vector Bin Packing היא בעיה W[1] קשה • תקפות הרדוקציה(כיוון ראשון): נשים לב בגלל שהראנו עבור כל הקבוצות , אזי מאופן הגדרת R נובע כי גם: • תקפות הרדוקציה(כיוון שני): נניח כי קיימת חלוקה כך שמתקיימים התנאים הבאים: נראה כי קיים קליק בגודל k בגרף G.

  38. 10-Unary Vector Bin Packing היא בעיה W[1] קשה • תקפות הרדוקציה(כיוון שני): • נגדיר את הקבוצות הבאות:

  39. 10-Unary Vector Bin Packing היא בעיה W[1] קשה • תקפות הרדוקציה(כיוון שני): • נסתכל על תא כלשהו X מהחלוקה ועל האיברים שבו. הוא יכול להיות אחד מבין P,Q,R. נסתכל על כמות האיברים מכל אחת מהקבוצות שהגדרנו. (נוכל לדעת לפי הקואורדינטות 2,4,6,8)

  40. 10-Unary Vector Bin Packing היא בעיה W[1] קשה • תקפות הרדוקציה(כיוון שני): • נגדיר • נשים לב כי הקואורדינטה השלישית של r היא , בנוסף R מכיל בדיוק k וקטורים מתוך . • בגלל ש היא k-sumfree זה יכול לקרות אמ"מ בדיוק וקטור אחד מכל • נסמן וקטורים אלו ב- • נראה כי הוא קליק בגרף G.

  41. 10-Unary Vector Bin Packing היא בעיה W[1] קשה • תקפות הרדוקציה(כיוון שני): • בגלל שהקואורדינטה השלישית של היא ובגלל ש • נסיק כי חייב להכיל את כל הוקטורים ב- • בנוסף, ידוע כי צריך להכיל k-i פריטים מ- ו- i-1 פריטים מ- . לכן מהקואורדינטה החמישית והשביעית של ומהעובדה ש- הוא k-sumfree נסיק כי חייב להכיל בדיוק איבר אחד מכל סט שבו • נשים לב כי לא יכול להכיל יותר פריטים.

  42. 10-Unary Vector Bin Packing היא בעיה W[1] קשה • תקפות הרדוקציה(כיוון שני): • נסכם את כל הוקטורים שב- מתוך . • מכיוון שכל הוקטורים שנמצאים הם נקבל כי 2 הקואורדינטות האחרונות של הסכום • הם: • בגלל שהקואורדינטות האחרונות של הם , נקבל כי סכום כל • הוקטורים הנותרים ב2 הקואורדינטות האחרונות צריך לתת:

  43. 10-Unary Vector Bin Packing היא בעיה W[1] קשה • תקפות הרדוקציה(כיוון שני): • כמו שכבר נאמר , ב יש בדיוק איבר אחד מכל אחד מהסטים , . • נסתכל על הקואורדיטות 9,10 של הסכום שלהם. נקבל כי: • כעת בגלל ש היא k-Non-Averaging נקבל כי לכל . • כלומר קיבלנו כי

  44. 10-Unary Vector Bin Packing היא בעיה W[1] קשה • תקפות הרדוקציה(כיוון שני): • כעת נסתכל על . • לפי שתי הקואורדינטות הראשונות של ניתן להגיד שב • יש רק וקטור אחד מתוך . • נגדיר אותו להיות

  45. 10-Unary Vector Bin Packing היא בעיה W[1] קשה • תקפות הרדוקציה(כיוון שני): • מהטבלה ניתן לראות כי ב יש בדיוק n-1 וקטורים מתוך ואותה כמות מ • הקואורדינטות ה-5 וה-7 של הם ובהתחשב בסדר האיברים ב • נקבל כי • (נתחיל מ , אזי יש רק אפשרות אחת לסכום מכיוון שכל החלפה עם אחר רק יגדיל את הסכום ובקבוצה נשארו רק n-1 וקטורים לאחר ש לקח את הוקטור . • אותו הסבר יעבוד גם עם וכך הלאה)

  46. 10-Unary Vector Bin Packing היא בעיה W[1] קשה • תקפות הרדוקציה(כיוון שני): • כעת נסכום את כל הוקטורים ב ונסתכל על 2 הקואורדינטות האחרונות של הסכום. • בגלל ש • נקבל כי הקואורדינטות של הסכום הן: • ולכן ברור כי 2 הקואורדינטות האחרונות של הוקטור חייבות להיות • אבל מהגדרת זה יכול להיות אמ"מ הקשת היא קשת בגרף. • כלומר כל הקשתות עבור קיימות בגרף G, לכן יש ב-G קליק בגודל k. • הרדוקציה תקפה!

More Related