minimum spanning trees n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Minimum Spanning Trees PowerPoint Presentation
Download Presentation
Minimum Spanning Trees

Loading in 2 Seconds...

play fullscreen
1 / 30

Minimum Spanning Trees - PowerPoint PPT Presentation


  • 77 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Minimum Spanning Trees' - omar-gardner


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
minimum spanning trees

Minimum Spanning Trees

Linear Time Randomized Algorithm

slide2
על הפרק
  • מהו MST
  • אלגורתימים קיימים
  • האלג' של Boruvka
  • צלעות F-light ו- F-heavy
  • מדגם אקראי – גרף ה-
  • אלג' לבעיית ה MST עם תוחלת זמן ריצה לינארית
  • ניתוח זמן ריצה
slide3
MST
  • בהינתן גרף G=(V,E) ופונקציה: נרצה למצוא עץ פורש T של ,G אשר סכום משקולות צלעותיו מינימלי.
  • כלומר למצוא עץ פורש T המקיים:
slide5
עובדות בסיסיות של MST
  • יהי G גרף קשיר, בעל n קודקודים ו – m צלעות.

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

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

(כאשר G קשיר אז היער מורכב מעץ אחד)

  • משקל ה MSF הוא סכום משקולות העצים ביער.
slide7
על הפרק
  • מהו MST
  • אלגורתימים קיימים
  • האלג' של Boruvka
  • צלעות F-light ו- F-heavy
  • מדגם אקראי – גרף ה-
  • אלג' לבעיית ה MST עם תוחלת זמן ריצה לינארית
  • ניתוח זמן ריצה
slide8
מה קיים?
  • רוב האלג' המבוססים על אסטרטגיה חמדנית – בחירת הצלע המינמלית שאינה סוגרת מעגל.
  • Prim, Kruskal , Boruvka אלג' דטר' אשר עובדים בזמן
  • ניתן להשתמש במבני נתונים מתוחכמים ולהגיע לזמני ריצה של:

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

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

slide9
המטרה שלנו
  • לתכנן אלג' המחשב MST (תמיד מחזיר תשובה נכונה) אשר תוכלת זמן הריצה שלו היא O(n+m).
  • ZPP– Zero error Probabilistic Polynomial Time
slide10
על הפרק
  • מהו MST
  • אלגורתימים קיימים
  • האלג' של Boruvka
  • צלעות F-light ו- F-heavy
  • מדגם אקראי – גרף ה-
  • אלג' לבעיית ה MST עם תוחלת זמן ריצה לינארית
  • ניתוח זמן ריצה
boruvka
האלג' של Boruvka
  • אבחנה: תהי (v,u) הצלע הקלה החוצה את v אזי ה- MST חייב להכיל אותה.

x

7

V

2

3

U

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

ב- MST.

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

O(n+m).

slide16
על הפרק
  • מהו MST
  • אלגורתימים קיימים
  • האלג' של Boruvka
  • צלעות F-light ו- F-heavy
  • מדגם אקראי – גרף ה-
  • אלג' לבעיית ה MST עם תוחלת זמן ריצה לינארית
  • ניתוח זמן ריצה
f h eavy f light
F-heavy, F-light
  • יהי G גרף ממושקל, יהי F יער ב-G ו-u,v קודקודים ב-G.
  • נגדיר: משקל הצלע המקסימלית במסלול מ u ל v ביער F.
    • אם u ו- v נמצאים בעצים שונים אז נקבע:
    • דוגמה:

1

5

x

6

y

V

U

Z

f h eavy f light1
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

f h eavy f light2
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

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

Uses LCA

G=(V,E)

F

slide21
על הפרק
  • מהו MST
  • אלגורתימים קיימים
  • האלג' של Boruvka
  • צלעות F-light ו- F-heavy
  • מדגם אקראי – גרף ה- G(p)
  • אלג' לבעיית ה MST עם תוחלת זמן ריצה לינארית
  • ניתוח זמן ריצה
slide22
מדגם אקראי – גרף ה-
  • יהי גרף G=(V,E) ומספר ממשי
  • נסמן ב G(p) את הגרף המתקבל מהגרף G כתוצאה מהתליך הבא:
    • עבור כל צלע e ב G בחר בהסתברות 1-p אם למחוק אותה.

x

y

Z

slide23
מדגם אקראי – גרף ה-
  • אבחנה: G(p) הוא גרף עם n קודקודים ותחולת מספר הצלעות היא: np
    • (מתאים ל n ניסוי ברנולי עם הסתברות p להצלחה(
  • טענה 10.19: יהי F יער פורש מינמלי עבור G(p) אז תוחלת מספר הצלעות מסוג F-light ב G חסומה ע"י n/p
    • הוכחה: בסוף.
slide24
על הפרק
  • מהו MST
  • אלגורתימים קיימים
  • האלג' של Boruvka
  • צלעות F-light ו- F-heavy
  • מדגםאקראי – גרף ה- G(p)
  • אלג' לבעיית ה MST עם תוחלת זמן ריצה לינארית
  • ניתוח זמן ריצה
findmsf
FindMSF
  • קלט: גרף G לא מכוון, ממושקל עם n קודקודים ו-m צלעות.
  • פלט: יער פורש מינמלי F עבור G.
  • בצע שלושה שלבי Boruvka וקבל גרף G בעל לכול היותר n/8 קודקודים. יהי C קבצ' הצלעות שסומנו ע"י שלושת השלבים.
  • אם G ריק אז החזר C.
  • G’=G(1/2)
  • חשב יער פורש מינמלי F’ עבור G’ רקורסיבית.
  • באמצעות אלג' הקופסא השחורה מצא ומחק את כל הצלעות F’-heavy ב-G
  • חשב רקורסיבית יער פורש מינמלי F עבור G החדש.
  • החזר:
slide26
על הפרק
  • מהו MST
  • אלגורתימים קיימים
  • האלג' של Boruvka
  • צלעות F-light ו- F-heavy
  • מדגםאקראי – גרף ה- G(p)
  • אלג' לבעיית ה MST עם תוחלת זמן ריצה לינארית
  • ניתוח זמן ריצה
slide27
ניתוח זמן ריצה
  • תהי 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 קשתות
slide28
ניתוח זמן ריצה
  • זמן הריצה הדרוש למציאת עץ פורש עבור G החדש יקח בממוצע: T(n/8,n/4)
  • ושלב 7 יתבצע בזמן של O(n)
  • לכן:
  • פתרון נוסחאת הנסיגה גורר ש:

T(n,m)=O(n+m)

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