1 / 30

Minimum Spanning Trees

Minimum Spanning Trees. Linear Time Randomized Algorithm. על הפרק. מהו MST אלגורתימים קיימים האלג' של Boruvka צלעות F-light ו- F-heavy מדגם אקראי – גרף ה- אלג' לבעיית ה MST עם תוחלת זמן ריצה לינארית ניתוח זמן ריצה. MST.

Download Presentation

Minimum Spanning Trees

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. Minimum Spanning Trees Linear Time Randomized Algorithm

  2. על הפרק • מהו MST • אלגורתימים קיימים • האלג' של Boruvka • צלעות F-light ו- F-heavy • מדגם אקראי – גרף ה- • אלג' לבעיית ה MST עם תוחלת זמן ריצה לינארית • ניתוח זמן ריצה

  3. MST • בהינתן גרף G=(V,E) ופונקציה: נרצה למצוא עץ פורש T של ,G אשר סכום משקולות צלעותיו מינימלי. • כלומר למצוא עץ פורש T המקיים:

  4. דוגמה 7 15 3

  5. עובדות בסיסיות של MST • יהי G גרף קשיר, בעל n קודקודים ו – m צלעות. אז עץ פורש T של G הוא גרף חסר מעגלים, קשיר המכיל n קודקודים ו – n-1 צלעות. • אם כל משקולות G יחודיות אזי קיים MST יחיד לגרף G. • הנחה: מעתה נניח כי כל משקולות G שונות.

  6. עובדות בסיסיות של MST/MSF • יער פורש מינמלי MSF ביחס לגרף G הינו אוסף של עצים פורשים לרכיבי הקשירות של הגרף G (כאשר G קשיר אז היער מורכב מעץ אחד) • משקל ה MSF הוא סכום משקולות העצים ביער.

  7. על הפרק • מהו MST • אלגורתימים קיימים • האלג' של Boruvka • צלעות F-light ו- F-heavy • מדגם אקראי – גרף ה- • אלג' לבעיית ה MST עם תוחלת זמן ריצה לינארית • ניתוח זמן ריצה

  8. מה קיים? • רוב האלג' המבוססים על אסטרטגיה חמדנית – בחירת הצלע המינמלית שאינה סוגרת מעגל. • Prim, Kruskal , Boruvka אלג' דטר' אשר עובדים בזמן • ניתן להשתמש במבני נתונים מתוחכמים ולהגיע לזמני ריצה של: כאשר היא פונקציה העולה מאוד לאט. ולכול צורך מעשי נחשבת כקבועה.

  9. המטרה שלנו • לתכנן אלג' המחשב MST (תמיד מחזיר תשובה נכונה) אשר תוכלת זמן הריצה שלו היא O(n+m). • ZPP– Zero error Probabilistic Polynomial Time

  10. על הפרק • מהו MST • אלגורתימים קיימים • האלג' של Boruvka • צלעות F-light ו- F-heavy • מדגם אקראי – גרף ה- • אלג' לבעיית ה MST עם תוחלת זמן ריצה לינארית • ניתוח זמן ריצה

  11. האלג' של Boruvka • אבחנה: תהי (v,u) הצלע הקלה החוצה את v אזי ה- MST חייב להכיל אותה. x 7 V 2 3 U

  12. האלג' של Boruvka • קלט: גרף ממושקל G • פלט: עץ פורש מינמלי T. • T={} • כל עוד G מכיל יותר מקודקוד אחד. • סמן עבור כל קודקוד את הצלע הקלה ביותר החוצה אותו. • הוסף את הצלעות המסומנות ל T. • קבע את רכיבי הקשירות הנוצרים ע"י הצלעות המסומנת. • אחד כל רכיב קשירות לקודקוד אחד. • מחק לולאות עצמיות וצלעות מרובות.

  13. דוגמה לשלב Boruvka

  14. אבחנות • הצלעות המסומנות בתחילת שלב Boruvka מוכלות ב- MST. • לפי ההבחנה הקודמת. • בהינתן גרף עם n קודקודים ו-m צלעות שלב Boruvka ניתן למימוש בזמן של O(n+m) • הגרף G’ המתקבל מביצוע שלב Boruvka אחד יכיל לכול היותר n/2 קודקודים. • כל קודקוד מסמן צלע אחת. לכן במקרה הגרוע כל זוג קודקודים מסמן את אותה הצלע ולכן יהיו לנו n/2 זוגות שיתאחדו ל n/2 קודקודים.

  15. מסקנה • שלבBoruvkaאחדמוריד את בעיית ה MST עם n קודקודים ו-m צלעות לבעיית מציאת ה MST עם לכול היותר n/2קודקודים ו-mצלעותבזמן של O(n+m).

  16. על הפרק • מהו MST • אלגורתימים קיימים • האלג' של Boruvka • צלעות F-light ו- F-heavy • מדגם אקראי – גרף ה- • אלג' לבעיית ה MST עם תוחלת זמן ריצה לינארית • ניתוח זמן ריצה

  17. F-heavy, F-light • יהי G גרף ממושקל, יהי F יער ב-G ו-u,v קודקודים ב-G. • נגדיר: משקל הצלע המקסימלית במסלול מ u ל v ביער F. • אם u ו- v נמצאים בעצים שונים אז נקבע: • דוגמה: 1 5 x 6 y V U Z

  18. F-heavy, F-light • תהי צלע ו-F יער ב G. • נאמר כי (u,v) היא F-heavy אם • נאמר כי (u,v) היא F-light אם (v,u) F-heavy (y,z) F-light 3 5 x 6 y V 7 U 1 2 Z

  19. F-heavy, F-light • שאלה: יהי G=(V,E) , G’=(V’,E’) כך ש: , ויהי F יער פורש מינמלי עבור G’ • האם (F=(VT , ET מוכל ב MST של G ? • מה ניתן להגיד על צלעות F ? • מה ניתן להגיד על E \ ET ביחס ל F? • מי ירה בשריף, אבל לא ירה בסגנו ? 3 5 x 6 y V 7 U 1 2 Z

  20. מציאת צלעות F-heavy • אנחנו נשתמש באלג' דטרמינסטי' העובד בזמן של O(V+E) אשר: Uses LCA G=(V,E) F

  21. על הפרק • מהו MST • אלגורתימים קיימים • האלג' של Boruvka • צלעות F-light ו- F-heavy • מדגם אקראי – גרף ה- G(p) • אלג' לבעיית ה MST עם תוחלת זמן ריצה לינארית • ניתוח זמן ריצה

  22. מדגם אקראי – גרף ה- • יהי גרף G=(V,E) ומספר ממשי • נסמן ב G(p) את הגרף המתקבל מהגרף G כתוצאה מהתליך הבא: • עבור כל צלע e ב G בחר בהסתברות 1-p אם למחוק אותה. x y Z

  23. מדגם אקראי – גרף ה- • אבחנה: G(p) הוא גרף עם n קודקודים ותחולת מספר הצלעות היא: np • (מתאים ל n ניסוי ברנולי עם הסתברות p להצלחה( • טענה 10.19: יהי F יער פורש מינמלי עבור G(p) אז תוחלת מספר הצלעות מסוג F-light ב G חסומה ע"י n/p • הוכחה: בסוף.

  24. על הפרק • מהו MST • אלגורתימים קיימים • האלג' של Boruvka • צלעות F-light ו- F-heavy • מדגםאקראי – גרף ה- G(p) • אלג' לבעיית ה MST עם תוחלת זמן ריצה לינארית • ניתוח זמן ריצה

  25. FindMSF • קלט: גרף G לא מכוון, ממושקל עם n קודקודים ו-m צלעות. • פלט: יער פורש מינמלי F עבור G. • בצע שלושה שלבי Boruvka וקבל גרף G בעל לכול היותר n/8 קודקודים. יהי C קבצ' הצלעות שסומנו ע"י שלושת השלבים. • אם G ריק אז החזר C. • G’=G(1/2) • חשב יער פורש מינמלי F’ עבור G’ רקורסיבית. • באמצעות אלג' הקופסא השחורה מצא ומחק את כל הצלעות F’-heavy ב-G • חשב רקורסיבית יער פורש מינמלי F עבור G החדש. • החזר:

  26. על הפרק • מהו MST • אלגורתימים קיימים • האלג' של Boruvka • צלעות F-light ו- F-heavy • מדגםאקראי – גרף ה- G(p) • אלג' לבעיית ה MST עם תוחלת זמן ריצה לינארית • ניתוח זמן ריצה

  27. ניתוח זמן ריצה • תהי T(n,m) תוחלת זמן הריצה של האלג' על גרף עם n קודקודים ו- m צלעות. • שורה אחת ניתנת לביצוע בזמן של O(n+m) ומסתיימת בגרף בעל לכול היותר n/8 קודקודים ו-m צלעות. • שורה שתיים מייצרת G’ עם n/8 קודקודים תוחלת מספר קשתות של m/2 בזמן O(n+m) • מציאת MSF רקורסיבית עבור G’ ידרוש תוחלת זמן של T(n/8,m/2) • אלג' הקופסה השחורה עובר בזמן O(n+m) ולפי טענה 10.19 G יכיל בממוצע n/8 קודקודים ו n/4 קשתות

  28. ניתוח זמן ריצה • זמן הריצה הדרוש למציאת עץ פורש עבור G החדש יקח בממוצע: T(n/8,n/4) • ושלב 7 יתבצע בזמן של O(n) • לכן: • פתרון נוסחאת הנסיגה גורר ש: T(n,m)=O(n+m)

  29. הוכחת טענה 10.19

  30. על הפרק • מהו MST • אלגורתימים קיימים • האלג' של Boruvka • צלעות F-light ו- F-heavy • מדגםאקראי – גרף ה- G(p) • אלג' לבעיית ה MST עם תוחלת זמן ריצה לינארית • ניתוח זמן ריצה

More Related