Upload
omar-gardner
View
28
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Minimum Spanning Trees. Linear Time Randomized Algorithm. על הפרק. מהו MST אלגורתימים קיימים האלג' של Boruvka צלעות F-light ו- F-heavy מדגם אקראי – גרף ה- אלג' לבעיית ה MST עם תוחלת זמן ריצה לינארית ניתוח זמן ריצה. MST. - PowerPoint PPT Presentation
Citation preview
Minimum Spanning Trees
Linear Time Randomized Algorithm
הפרק על
MSTמהו •קיימים • אלגורתימיםשל' • Boruvkaהאלג- F-lightצלעות • F-heavyו • - ה – גרף אקראי מדגםה' • לבעיית ריצה MSTאלג זמן תוחלת עם
לינאריתריצה • זמן ניתוח
MST
גרף • : G=(V,E)בהינתן נרצה ופונקציהפורש עץ משקולות Gשל ,Tלמצוא סכום אשר. מינימלי צלעותיו
פורש • עץ למצוא : Tכלומר המקיים
דוגמה
7
315
של בסיסיות MSTעובדות
, Gיהי • בעל קשיר ו – nגרף mקודקודיםצלעות.
פורש עץ , Gשל Tאז מעגלים חסר גרף הואהמכיל ו – nקשיר .n-1קודקודים צלעות
משקולות • כל קיים Gאם אזי יחיד MSTיחודיות.Gלגרף
משקולות: הנחה• כל כי נניח Gמעתהשונות.
של בסיסיות MST/MSFעובדות
מינמלי • פורש לגרף MSFיער אוסף Gביחס הינוהגרף של הקשירות לרכיבי פורשים עצים Gשל
(Gכאשר) אחד מעץ מורכב היער אז קשירה • העצים MSFמשקל משקולות סכום הוא
ביער.
הפרק על
מהוMSTקיימים • אלגורתימיםשל' • Boruvkaהאלג- F-lightצלעות • F-heavyו • - ה – גרף אקראי מדגםה' • לבעיית ריצה MSTאלג זמן תוחלת עם
לינאריתריצה • זמן ניתוח
? קיים מה
• ' חמדנית אסטרטגיה על המבוססים האלג רובסוגרת– שאינה המינמלית הצלע בחירת
מעגל.•Prim, Kruskal , Boruvka ' ' אשר דטר אלג
בזמן עובדיםמתוחכמים • נתונים במבני להשתמש ניתן
: של ריצה לזמני ולהגיע. לאט מאוד העולה פונקציה היא כאשר
. כקבועה נחשבת מעשי צורך ולכול
שלנו המטרה
• ' המחשב אלג תשובה ) MSTלתכנן מחזיר תמידהיא( שלו הריצה זמן תוכלת אשר נכונה
O(n+m).•ZPP– Zero error Probabilistic Polynomial Time
הפרק על
מהוMST קיימים אלגורתימיםשל' • Boruvkaהאלג- F-lightצלעות • F-heavyו • - ה – גרף אקראי מדגםה' • לבעיית ריצה MSTאלג זמן תוחלת עם
לינאריתריצה • זמן ניתוח
את( v,u)תהי: אבחנה• החוצה הקלה vהצלע - ה .MSTאזי אותה להכיל חייב
של' Boruvkaהאלג
V
7
3
U
x
2
של' Boruvkaהאלג
ממושקל: קלט• Gגרףמינמלי: פלט• פורש .Tעץ
–T}{=עוד – .Gכל אחד מקודקוד יותר מכיל
•. אותו החוצה ביותר הקלה הצלע את קודקוד כל עבור סמןל • המסומנות הצלעות את .Tהוסף•. " המסומנת הצלעות י ע הנוצרים הקשירות רכיבי את קבע•. אחד לקודקוד קשירות רכיב כל אחד•. מרובות וצלעות עצמיות לולאות מחק
לשלב Boruvkaדוגמה
אבחנות
שלב • בתחילת המסומנות מוכלות Boruvkaהצלעות. MSTב-
–. הקודמת ההבחנה לפי
עם • גרף -nבהינתן ו שלב mקודקודים צלעותBoruvka של בזמן למימוש O(n+m)ניתן
שלב’ Gהגרף • מביצוע יכיל Boruvkaהמתקבל אחדהיותר .n/2לכול קודקודים
– . זוג כל הגרוע במקרה לכן אחת צלע מסמן קודקוד כללנו יהיו ולכן הצלע אותה את מסמן זוגות n/2קודקודים
ל .n/2שיתאחדו קודקודים
מסקנה
ה מוריד אחד Boruvka שלב• בעיית nעם MSTאת- ו ה mקודקודים מציאת לבעיית עם MSTצלעות
היותר -קודקודים n/2לכול של צלעות mו בזמןO(n+m).
הפרק על
מהוMST קיימים אלגורתימים 'של Boruvkaהאלג- F-lightצלעות • F-heavyו • - ה – גרף אקראי מדגםה' • לבעיית ריצה MSTאלג זמן תוחלת עם
לינאריתריצה • זמן ניתוח
F-heavy, F-light
, Gיהי • יהי ממושקל -Fגרף ב -Gיער u,vו - ב .Gקודקודים
המקסימלית: • הצלע משקל נגדירמ .Fביער vל uבמסלול
- uאם – :vו נקבע אז שונים בעצים נמצאיםדוגמה:–
xVy
Z
U
1 56
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
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
צלעות F-heavyמציאת
• ' ' בזמן העובד דטרמינסטי באלג נשתמש אנחנו:O(V+E) של אשר
Uses LCA G=(V,E)
F
הפרק על
מהוMST קיימים אלגורתימים 'של Boruvkaהאלג צלעותF-light - F-heavyו • - ה – גרף אקראי G(p)מדגםה' • לבעיית ריצה MSTאלג זמן תוחלת עם
לינאריתריצה • זמן ניתוח
- ה – גרף אקראי מדגם
גרף • ממשי G=(V,E)יהי ומספרב • מהגרף G(p)נסמן המתקבל הגרף Gאת
: הבא מהתליך כתוצאהצלע – כל בהסתברות Gב eעבור אם p-1בחר
. אותה למחוק
xy
Z
- ה – גרף אקראי מדגם
עם G(p): אבחנה• גרף ותחולת nהוא קודקודים : היא הצלעות npמספר
ל) – הסתברות nמתאים עם ברנולי pניסוילהצלחה)
עבור Fיהי: 10.19טענה • מינמלי פורש יערG(p) מסוג הצלעות מספר תוחלת ב F-lightאז
G " י ע n/pחסומה–. בסוף: הוכחה
הפרק על
מהוMST קיימים אלגורתימים 'של Boruvkaהאלג צלעותF-light - F-heavyו - ה – גרף אקראי G(p)מדגםה' • לבעיית ריצה MSTאלג זמן תוחלת עם
לינאריתריצה • זמן ניתוח
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.
הפרק על
מהוMST קיימים אלגורתימים 'של Boruvkaהאלג צלעותF-light - F-heavyו - ה – גרף אקראי G(p)מדגם 'ה לבעיית ריצה MSTאלג זמן תוחלת עם
לינאריתריצה • זמן ניתוח
ריצה זמן ניתוח
' 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קודקודים
ריצה זמן ניתוח
עבור • פורש עץ למציאת הדרוש הריצה Gזמן: בממוצע יקח T(n/8,n/4)החדש
של 7ושלב • בזמן O(n)יתבצעלכן:•
•: ש גורר הנסיגה נוסחאת פתרוןT(n,m)=O(n+m)
טענה 10.19הוכחת
הפרק על
מהוMST קיימים אלגורתימים 'של Boruvkaהאלג צלעותF-light - F-heavyו - ה – גרף אקראי G(p)מדגם 'ה לבעיית ריצה MSTאלג זמן תוחלת עם
לינארית ריצה זמן ניתוח