Download pptx - Minimum Spanning Trees

Transcript
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אלג זמן תוחלת עם

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


Recommended