30
Minimum Spanning Trees Linear Time Randomized Algorithm

Minimum Spanning Trees

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Minimum Spanning Trees

Minimum Spanning Trees

Linear Time Randomized Algorithm

Page 2: Minimum Spanning Trees

הפרק על

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

לינאריתריצה • זמן ניתוח

Page 3: Minimum Spanning Trees

MST

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

פורש • עץ למצוא : Tכלומר המקיים

Page 4: Minimum Spanning Trees

דוגמה

7

315

Page 5: Minimum Spanning Trees

של בסיסיות MSTעובדות

, Gיהי • בעל קשיר ו – nגרף mקודקודיםצלעות.

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

משקולות • כל קיים Gאם אזי יחיד MSTיחודיות.Gלגרף

משקולות: הנחה• כל כי נניח Gמעתהשונות.

Page 6: Minimum Spanning Trees

של בסיסיות MST/MSFעובדות

מינמלי • פורש לגרף MSFיער אוסף Gביחס הינוהגרף של הקשירות לרכיבי פורשים עצים Gשל

(Gכאשר) אחד מעץ מורכב היער אז קשירה • העצים MSFמשקל משקולות סכום הוא

ביער.

Page 7: Minimum Spanning Trees

הפרק על

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

לינאריתריצה • זמן ניתוח

Page 8: Minimum Spanning Trees

? קיים מה

• ' חמדנית אסטרטגיה על המבוססים האלג רובסוגרת– שאינה המינמלית הצלע בחירת

מעגל.•Prim, Kruskal , Boruvka ' ' אשר דטר אלג

בזמן עובדיםמתוחכמים • נתונים במבני להשתמש ניתן

: של ריצה לזמני ולהגיע. לאט מאוד העולה פונקציה היא כאשר

. כקבועה נחשבת מעשי צורך ולכול

Page 9: Minimum Spanning Trees

שלנו המטרה

• ' המחשב אלג תשובה ) MSTלתכנן מחזיר תמידהיא( שלו הריצה זמן תוכלת אשר נכונה

O(n+m).•ZPP– Zero error Probabilistic Polynomial Time

Page 10: Minimum Spanning Trees

הפרק על

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

לינאריתריצה • זמן ניתוח

Page 11: Minimum Spanning Trees

את( v,u)תהי: אבחנה• החוצה הקלה vהצלע - ה .MSTאזי אותה להכיל חייב

של' Boruvkaהאלג

V

7

3

U

x

2

Page 12: Minimum Spanning Trees

של' Boruvkaהאלג

ממושקל: קלט• Gגרףמינמלי: פלט• פורש .Tעץ

–T}{=עוד – .Gכל אחד מקודקוד יותר מכיל

•. אותו החוצה ביותר הקלה הצלע את קודקוד כל עבור סמןל • המסומנות הצלעות את .Tהוסף•. " המסומנת הצלעות י ע הנוצרים הקשירות רכיבי את קבע•. אחד לקודקוד קשירות רכיב כל אחד•. מרובות וצלעות עצמיות לולאות מחק

Page 13: Minimum Spanning Trees

לשלב Boruvkaדוגמה

Page 14: Minimum Spanning Trees

אבחנות

שלב • בתחילת המסומנות מוכלות Boruvkaהצלעות. MSTב-

–. הקודמת ההבחנה לפי

עם • גרף -nבהינתן ו שלב mקודקודים צלעותBoruvka של בזמן למימוש O(n+m)ניתן

שלב’ Gהגרף • מביצוע יכיל Boruvkaהמתקבל אחדהיותר .n/2לכול קודקודים

– . זוג כל הגרוע במקרה לכן אחת צלע מסמן קודקוד כללנו יהיו ולכן הצלע אותה את מסמן זוגות n/2קודקודים

ל .n/2שיתאחדו קודקודים

Page 15: Minimum Spanning Trees

מסקנה

ה מוריד אחד Boruvka שלב• בעיית nעם MSTאת- ו ה mקודקודים מציאת לבעיית עם MSTצלעות

היותר -קודקודים n/2לכול של צלעות mו בזמןO(n+m).

Page 16: Minimum Spanning Trees

הפרק על

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

לינאריתריצה • זמן ניתוח

Page 17: Minimum Spanning Trees

F-heavy, F-light

, Gיהי • יהי ממושקל -Fגרף ב -Gיער u,vו - ב .Gקודקודים

המקסימלית: • הצלע משקל נגדירמ .Fביער vל uבמסלול

- uאם – :vו נקבע אז שונים בעצים נמצאיםדוגמה:–

xVy

Z

U

1 56

Page 18: Minimum Spanning Trees

F-heavy, F-light

•- ו צלע ב Fתהי . Gיער

כי )– אם F-heavyהיא( u,vנאמרכי )– אם F-lightהיא( u,vנאמר

xVy

Z

U

3 56

721

(v,u )F-heavy(y,z )F-light

Page 19: Minimum Spanning Trees

F-heavy, F-light

יהי: • : , G=(V,E) , G’=(V’,E’)שאלה ש כךעבור Fויהי מינמלי פורש ’Gיער

ב F=(VT , ETהאם )- ?Gשל MSTמוכלצלעות - על להגיד ניתן ?Fמהעל - להגיד ניתן ל E \ ETמה ?Fביחס-? , בסגנו ירה לא אבל בשריף ירה מי

xVy

Z

U

3 56

721

Page 20: Minimum Spanning Trees

צלעות F-heavyמציאת

• ' ' בזמן העובד דטרמינסטי באלג נשתמש אנחנו:O(V+E) של אשר

Uses LCA G=(V,E)

F

Page 21: Minimum Spanning Trees

הפרק על

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

לינאריתריצה • זמן ניתוח

Page 22: Minimum Spanning Trees

- ה – גרף אקראי מדגם

גרף • ממשי G=(V,E)יהי ומספרב • מהגרף G(p)נסמן המתקבל הגרף Gאת

: הבא מהתליך כתוצאהצלע – כל בהסתברות Gב eעבור אם p-1בחר

. אותה למחוק

xy

Z

Page 23: Minimum Spanning Trees

- ה – גרף אקראי מדגם

עם G(p): אבחנה• גרף ותחולת nהוא קודקודים : היא הצלעות npמספר

ל) – הסתברות nמתאים עם ברנולי pניסוילהצלחה)

עבור Fיהי: 10.19טענה • מינמלי פורש יערG(p) מסוג הצלעות מספר תוחלת ב F-lightאז

G " י ע n/pחסומה–. בסוף: הוכחה

Page 24: Minimum Spanning Trees

הפרק על

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

לינאריתריצה • זמן ניתוח

Page 25: Minimum Spanning Trees

FindMSF

, Gגרף: קלט• עם ממושקל מכוון -nלא ו .צלעות mקודקודיםמינמלי: פלט• פורש .Gעבור Fיער

שלבי 1. שלושה גרף Boruvkaבצע היותר Gוקבל לכול n/8בעליהי. .Cקודקודים " ' השלבים שלושת י ע שסומנו הצלעות קבצ

החזר Gאם 2. אז .Cריק

.3G’=G(1/2)

מינמלי 4. פורש יער .Gעבור’ Fחשב רקורסיבית’

.5 ' הצלעות כל את ומחק מצא השחורה הקופסא אלג באמצעותF’-heavy- Gב

מינמלי 6. פורש יער רקורסיבית .Gעבור Fחשב החדש

החזר: 7.

Page 26: Minimum Spanning Trees

הפרק על

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

לינאריתריצה • זמן ניתוח

Page 27: Minimum Spanning Trees

ריצה זמן ניתוח

' T(n,m)תהי • עם גרף על האלג של הריצה זמן nתוחלת - ו .mקודקודים צלעות

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

מייצרת • שתיים תוחלת n/8עם’ Gשורה קודקודיםשל קשתות O(n+m)בזמן m/2מספר

עבור MSFמציאת • של’ Gרקורסיבית זמן תוחלת ידרושT(n/8,m/2)

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

Page 28: Minimum Spanning Trees

ריצה זמן ניתוח

עבור • פורש עץ למציאת הדרוש הריצה Gזמן: בממוצע יקח T(n/8,n/4)החדש

של 7ושלב • בזמן O(n)יתבצעלכן:•

•: ש גורר הנסיגה נוסחאת פתרוןT(n,m)=O(n+m)

Page 29: Minimum Spanning Trees

טענה 10.19הוכחת

Page 30: Minimum Spanning Trees

הפרק על

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

לינארית ריצה זמן ניתוח