1 / 24

Unit Disc Cover Problems

המרכז הבינתחומי הרצליה קורס גיאומטריה חישובית – חורף 2005 פרויקט סיום. Unit Disc Cover Problems. בן ברכה יעל פסחוב. UDC. Live. על מה נדבר. הגדרת הבעיה – UDC מוטיבציה בעיית ה Piercing הוכחת Hardness אלגוריתם קירוב חמדן קירוב 108 קירוב 72 וורסיות אחרות של הבעיה מקרה פרטי GUDC

fia
Download Presentation

Unit Disc Cover Problems

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. המרכז הבינתחומי הרצליה קורס גיאומטריה חישובית – חורף 2005 פרויקט סיום Unit Disc Cover Problems בן ברכה יעל פסחוב UDC Live

  2. על מה נדבר • הגדרת הבעיה – UDC • מוטיבציה • בעיית ה Piercing • הוכחת Hardness • אלגוריתם קירוב חמדן • קירוב 108 • קירוב 72 • וורסיות אחרות של הבעיה • מקרה פרטי • GUDC • סיכום

  3. הגדרת הבעיה • D – מעגלי יחידה (R=1) • P – נקודות שאותן צריך לכסות • רוצים למצוא תת קבוצה מינימלית של D שמכסה את כל הנקודות ב P • הנחה: כל נקודה מכוסה ע"י מעגל אחד לפחות

  4. מוטיבציות • UDC – בעיה תיאורטית מעניינת. • עדיין יש שאלות פתוחות. • Ad-hoc Networks: • Selecting forwarding neighbors.פתרונות שידור הודעות ברשת. • בעולם האמיתי מתעניינים בעיקר בבעיות GUDC ובבעיות עם פרמטרים "גמישים" יותר. • Facility Location Problems: • K-Center Problem: מציאת k נקודות למרכזי שירות כדי לשרת קבוצת לקוחות. • Minimum cost covering tour:מציאת מסלול קצר לרובוט במהלכו הוא סורק נקודות נתונות.

  5. הבעיה הדואלית - Piercing • D – מעגלי יחידה אותם יש "לסמן". • P – קבוצת נקודות "סימון". • רוצים למצוא תת קבוצה מינימאלית של נקודות ש"פוגעות" ("מסמנות") בכל המעגלים. • הבעיות שקולות (דואליות): • בהינתן קלט D ו P לבעיית הכיסוי, ניתן קלט D` ו P` לבעיית ה Piercing • D` היא קבוצת המעגלים שמרכזם ב P • P` היא קבוצת מרכזי המעגלים ב D

  6. הבעיה הדואלית - Piercing • מרכז של מעגל הופך לנקודה שצריך לכסות • נקודה שצריך לכסות הופכת למרכז מעגל

  7. UDC היא NP-Complete • ב NP • בהינתן פתרון בגודל k אפשר לבדוק בזמן פולינומיאלי אם המעגלים בפתרון מכסים את כל הנקודות • NP-Hard • רדוקציה מ DOM(P) – "בהינתן קבוצת נקודות במישור P, יש למצוא תת קבוצה שלהן בגודל מינימלי כך שמעגלי יחידה שמרכזיהם בקבוצה זו מכסים את כל P • DOM היא למעשה מקרה פרטי של UDC

  8. UDC היא NP-Complete • הרדוקציה DOM נקודות P UDC נקודות P, מעגלים שמרכזיהם ב P

  9. אלגוריתם קירוב חמדן • כל עוד נותרו נקודות שלא כוסו • בחר מעגל שמכסה את המספר הרב ביותר של נקודות שלא כוסו, נסמנו ב c • הוסף את c לקבוצת הפיתרון S • הורד את הנקודות שמכוסות ע"י c מקבוצת הנקודות שלא כוסו • החזר את S

  10. אלגוריתם קירוב חמדן • יחס קירוב : lnn(n - מספר הנקודות) • נניח שהפתרון האופטימלי הוא k מעגלים • נגדיר ni – מספר הנקודות שעדיין לא כוסו בשלב ה i • לכן בשלב ה i של האלגוריתם החמדן, קיים מעגל שמכסה לפחות ni/k נקודות • החמדן לוקח מעגל שמכסה לפחות כמספר הזה • מתקיים: • לכן מספר השלבים של החמדן (כלומר מספר המעגלים שנבחרו) הוא לכל היותר lnn.

  11. אלגוריתם קירוב 108 • מבוסס על: G. Calinescu, I. Mandoiu, P.-J. Wan and A. Zelikovsky, Selecting Forwarding Neighbors in Wireless Ad-Hoc Networks. • Divide & Conquer : • חלוקת מרחב הבעיה למשולשים שווי צלעות (צלע בגודל 1). • פתרון בכל משולש – בקירוב 6. • בפתרון האופטימאלי, מעגל יכול לכסות נקודות בלכל היותר 18 משולשים. ראה דוגמה • על כן איחוד הפתרונות מכל המשולשים נותן קירוב 108 לפתרון האופטימאלי. • ניתן לביצוע בזמן פולינומאלי – O(nlogn).

  12. אלגוריתם קירוב 108 • יהי ABC משולש: • אם אין בו נקודות, נתעלם (אין מה לעשות). • אם יש מעגל שמרכזו בתוך המשולש – הוא מכסה את כל המשולש, נתעלם (ניקח אותו). • לכן, כל הנקודות p הן בתוך המשולש, וכל מרכזי המעגלים שחותכים אותו הם מחוץ למשולש. • נחלק את המעגלים שחותכים את ABC לשלוש קבוצות – D1, D2, D3בצורה הבאה:

  13. אלגוריתם קירוב 108 • אין צורך לחפש כיסוי מבין כל המעגלים ב D1, D2, D3. • מספיק להסתכל על המעגלים שמשתתפים ב skyline של כל Di (ניתן לחישוב בזמן פולינומאלי). • כשמסתכלים על תת קבוצה זו של ה D-ים, מובטח קירוב 2.

  14. אלגוריתם קירוב 108 • נבנה קבוצות F1,F2,F3 – המעגלים ב skyline מ D1,D2,D3 בהתאמה. • ננסח את מציאת הכיסוי המינימאלי מבין המעגלים ב F=UFiכבעיית IP • ניתן לפתור ע"י Relaxation בקירוב 6.

  15. אלגוריתם קירוב 72 • מבוסס על: SADANANDA NARAYANAPPA AND PETR VOJTECHOVSKY: AN IMPROVED APPROXIMATION FACTOR FOR A UNIT DISK COVERING PROBLEM • הרחבת הרעיון שבאלגוריתם קירוב 108 • חלוקת המישור למשושים בעלי קוטר 1 במקום משולשים

  16. האלגוריתם • לכל משושה, נחלק את השטח המשלים שלו במישור לשלושה חלקים. בכל חלק כזה לא יימצאו שני מעגלים שנחתכים פעמיים במשושה

  17. האלגוריתם • ניקח משושה שיש בו נקודות ולא כוסה • אם יש מעגל שמרכזו בתוך המשושה נבחר אותו (מכסה את כל המשושה) • אחרת נפתור את UDC על כל אחד משלושת חלקי המישור שמגדיר המשושה • נשתמש באלגוריתם שהוצג קודם עבור כל חלק

  18. יחס קירוב • אבחנה: כל מעגל יכול להוות כיסוי לנקודות בלכל היותר 12 משושים

  19. יחס קירוב • האלגוריתם הקודם משיג יחס קירוב 2 עבור כל חלק שמקיים את התכונה "אין שני מעגלים בו שנחתכים פעמיים במשושה" • סה"כ, לכל משושה נקבל קירוב 2*3=6 • על כל מעגל בפתרון האופטימלי האלגוריתם עלול לקחת 12, כי הוא מתעלם בחישוב כיסוי של משושה מכך שיש מעגלים שנלקחו כבר עבור משושים אחרים • לכן יחס הקירוב 6*12=72

  20. מקרה פרטי • במציאות, בד"כ לא יקרו מצבים בהם כל נקודה מכוסה ע"י יותר ממספר קבוע של מעגלים • נניח שכל נקודה מכוסה ע"י לכל היותר c מעגלים • נוציא את כל הנקודות שמכוסות ע"י מעגל אחד • במקרה ש c=2 שקול לבעיית ה Vertex Cover • ניתן להשיג קירוב c ע"י האלגוריתם הבא

  21. מקרה פרטי • אלגוריתם קירוב c: • נגדיר את S להיות קבוצת הפיתרון • נגדיר את NYC להיות קבוצת הנקודות שלא כוסו • כל עוד NYC לא ריקה • בחר נקודה • בחר את כל המעגלים שמכסים אותה • הוסף אותם ל S • מחק את כל הנקודות שמכוסות על ידם מ NYC • לכל נקודה, לקחנו לכל היותר c מעגלים שמכסים אותה

  22. General UDC (GUDC) • וורסיה אחרת של ה UDC • נתונות רק הנקודות לכיסוי וניתן להחליט איפה המעגלים יהיו. • קיים PTAS ! (בהמשך). • במימד אחד הבעיה ב P (“Line Cover”). • בעלת עניין רב בספרות • הצבת מוקדי חירום ללקוחות • Clustering • Piercing לקבוצת נקודות דינאמית – מציאת פתרון מקורב ראשוני, ושמירה עליו ע"י פעולות עדכון יעילות (MPS). • כיסוי נקודות ע"י כל מיני צורות (משולשים, מרובעים, מעגלים), בכל מיני הגבלות (צורות זהות/שונות, מקבילות/לא מקבילות לצירים ועוד).

  23. General UDC (GUDC) • קיים PTAS D.S. Hochbaum and W.Maass, Approximation schemes for covering and packing problems in image processing and VLSI (1985) • קירוב: לכל • זמן ריצה: • פתרון ע"י ה Shifting Strategy על שני ממדי הבעיה • בכל ריבוע בגודל אפשר לעשות Exhaustive search:נבנה אלגוריתם שמחפש מעגלים ע"י בחירת זוג נקודות וציור מעגל עליהן(2 אפשרויות לציור מעגל כזה).ניתן לכסות את הריבוע ב מעגלים לכל היותר. לכן יש לבדוק לכל היותר כיסויים, כאשר הוא מספר הנקודות בריבוע. כל כיסוי ניתן לוודא ב ומכיוון שיש ריבועים, מקבלים את זמן הריצה שהוזכר.

  24. סיכום • הכרנו את בעיית ה UDC • בעיה "נוקשה" מבחינה מעשית, אך מעניינת תיאורטית. • בעיות בעולם האמיתי דורשות עוד פרמטרים. • GUDC • בעיה "מציאותית" יותר. • Facility Location Problems, Clustering, Piercing Packing... • המצב כיום ב UDC: • אלגוריתם קירוב 108, 72. • האם יש לבעיה PTAS (לחילופין – האם היא APX-Hard) – שאלה פתוחה.

More Related