slide1
Download
Skip this Video
Download Presentation
אלגוריתמים – תרגול 4

Loading in 2 Seconds...

play fullscreen
1 / 33

אלגוריתמים – תרגול 4 - PowerPoint PPT Presentation


  • 198 Views
  • Uploaded on

אלגוריתמים – תרגול 4. 3. 1. 4. 2. 5. 2. 3. חידה : מכשף רשע השתלט על קניגסברג , וכלא 4 נסיכות בעיר. הוא שכר גורילות לשמור על הגשרים. ניתן לשחד כל גורילה ע"י מספר שונה של בננות. מהרגע שגורילה שוחדה, ניתן לעבור על הגשר המתאים בחופשיות. יש לנסיך 6 בננות. האם הוא יוכל להציל את כל הנסיכות?.

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 'אלגוריתמים – תרגול 4' - vivian


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
slide1
אלגוריתמים – תרגול 4

3

1

4

2

5

2

3

חידה :

מכשף רשע השתלט על קניגסברג, וכלא 4 נסיכות בעיר. הוא שכר גורילות לשמור על הגשרים. ניתן לשחד כל גורילה ע"י מספר שונה של בננות. מהרגע שגורילה שוחדה, ניתן לעבור על הגשר המתאים בחופשיות. יש לנסיך 6 בננות. האם הוא יוכל להציל את כל הנסיכות?

slide2
הצעות לשיפור
slide3
תכונה כללית של עצים
  • טענה: אם נוסיף קשת לעץ פורש, היא תסגור מעגל יחיד.
  • הוכחה:
    • נסמן את הקשת שהוספנו בתור היות שבעץ כבר היה מסלול בין לבין הקשת בהכרח תסגור מעגל.
    • אם הקשת סוגרת שני מעגלים,
    • נוכל ליצור מעגל מקשתות שני
    • המעגלים, ללא בסתירה
    • לכך שמדובר בעץ.
slide4
שאלה 1 – תכונות של עפ"מים
  • תרגיל: נתונים גרף לא מכוון וקשיר פונקצית משקל ושני עפ"מים הוכיחו שהטענה הבאה מתקיימת עבור כל מספר ממשי: תהי קבוצת הקשתות של שמשקלן לכל היותר הקבוצה מוגדרת באופן סימטרי. הגרפים

ו- מחזיקים בדיוק באותם רכיבי קשירות.

slide5
שאלה 1 – דוגמא

1

1

2

6

1

2

6

2

6

5

1

1

2

6

1

2

6

2

6

5

slide8
שאלה 1 – פתרון
  • נניח בשלילה שקיימים ושני עפ"מים כך שרכיבי הקשירות של ושל אינם זהים:
    • קיימים שני קודקודים הנמצאים באותו רכיב קשירות בגרף אחד, וברכיבים שונים בגרף השני.
    • בה"כ, נניח שקיימת קשת ב- , כך ששני הקודקודים שלה נמצאים ברכיבי קשירות שונים ב- (הוכיחו!)
    • אם נוסיף את לעץ היא תסגור מעגל שלפחות אחת מקשתותיו במשקל גדול מ- נסמן קשת כזו בתור
    • כלומר, אם נחליף את על ידי , נקבל עץ קל יותר. בסתירה לכך ש- הינו עפ"מ.
slide9
למה המעגל בהכרח מכיל קשת כבדה?
  • ב- קיימת הקשת וב- הקודקודים ו- נמצאים ברכיבי קשירות שונים.
  • ב- יש מסלול בין ו- כאשר אנו מוסיפים את הקשת היא סוגרת מעגל יחד עם
  • היות ש- ו- נמצאים ברכיבי קשירות שונים בגרף לפחות אחת מהקשתות של הינה במשקל גדול מ -
slide10
שאלה 2 - רשימות משקלים
  • תרגיל: נתונים גרף לא מכוון וקשירפונקציית משקל ושני עפ"מים

תהי רשימה ממוינת של משקלי

קשתות באופן דומה, תהי רשימה ממוינת של משקלי קשתות הוכיחו שמתקיים

slide11
שאלה 2 – דוגמא (על הגרף משאלה 1)

1

1

2

6

2

5

משקלי הקשתות: 1,1,2,2,5,6

1

2

1

2

6

5

slide12
שאלה 2 – פתרון
  • תהי רשימה ממוינת של המשקלים בגרף. נוכיח את הטענה באינדוקציה עבור המשקלים שאינם גדולים מ-
    • בסיס האינדוקציה – נראה שבשני העצים יש אותו מספר קשתות במשקל
    • מהשאלה הקודמת עם עבור שני העצים, הקשתות במשקל זה יוצרות את אותם רכיבי קשירות. לכן, מספר הקשתות זהה.
slide13
שאלה 2 – פתרון
  • צעד האינדוקציה – נניח שרשימות המשקלים זהות עד האיברים בגודל ונראה שיש בשני העצים אותו מספר של קשתות במשקל
    • לפי השאלה הקודמת עם אם נזרוק את הקשתות שגדולות ממשקל זה, נקבל בשני העצים את אותם רכיבי הקשירות.
    • זאת אומרת שיש בשני העצים אותו מספר קשתות במשקל .
    • (כי בעץ עם קודקודים יש קשתות.)
    • מהנחת האינדוקציה, יש בשני העצים אותו מספר קשתות עם
    • משקל . לכן, יש בשני העצים אותו מספר של קשתות במשקל
slide14
שאלה 3 – קשתות צבועות
  • תרגיל: נתונים גרף לא מכוון וקשירופונקציית משקל בנוסף, כל קשת צבועה בכחול או באדום. תארו אלג' שמוצא עפ"מ המכיל מספר מקסימאלי של קשתות אדומות (מבין העפ"מים).
slide16
רעיון לפתרון
  • נגדיר קבוע קטן ונתייחס למשקל של קשת כחולה כאל
slide17
נכונות הרעיון
  • נניח ש מאוד קטן. (נסביר עוד מעט בדיוק כמה קטן).
  • נריץ את האלגוריתם של Kruskal על הגרף עם פונקצית המשקל החדשה, ונמצא עפ"מ.
slide18
פורמלית
  • נגדיר פונקצית משקל חדשה ,כאשר לכל קשת אדומה , , ולכל קשת כחולה .
  • טענה: עפ"מ ב עם הוא גם עפ"מ ב עם .
slide19
הוכחת הטענה
  • טענה: עפ"מ ב עם הוא גם עפ"מ ב עם .
  • הוכחה: שיעורי בית.
  • מהטענה, כיוון שהאלגוריתם של Kruskal מוצא עפ"מ
  • ב - עם ,הוא מוצא עפ"מ ב המכיל מספר מקסימאלי של קשתות אדומות (מבין העפ"מים).
slide20
עד כמה קטן צריך להיות?
  • נסמן את משקל העפ"מים (בגרף המקורי) בתור ואת משקל העץ השני הקל ביותר ב-
  • נרצה שיתקיים
  • ליתר ביטחון, אפשר לקחת , כאשר
  • ההפרש הקטן ביותר בין משקלי 2 קשתות בגרף.
  • כמה זמן יקח לחשב את ?
slide21
פתרון נוסף
  • פתרון: במקום להוסיף לקשתות כחולות, נסדר את הקשתות לפי משקל ואז לפי צבע בהרצת קרוסקל.
  • הוכחה: האלגוריתם של קרוסקל בוחר את הקשתות לפי הסדר שהוא מקבל אותם. אם נבטיח שיקבל את הקשתות האדומות קודם, הוא תמיד יוסיף אותן אם יוכל.
  • מסקנה: אם נרצה שעפ"ממסויים יבחר, תמיד נוכל לסדר את הקשתות כך שקרוסקל יבחר אותו!
slide22
טענת ביניים
  • יהי גרף קשיר ולא מכוון, תהי
  • פונקציית משקל, ו- פונקציה מונוטונית עולה (ממש). תהי פונקצית משקל כך ש .
  • טענה: הוא עפ"מ של ביחס ל- אם"ם הוא עפ"מ ביחס ל- .
slide24
הוכחת הטענה
  • נניח ש עפ"מ של עץ ביחס ל - . נסדר את הקשתות כך שקרוסקל ייצר את . נפעיל את על המשקולות ונקבל את אותו הסדר, ולכן הפעלת קרוסקל תייצר גם כן את .
  • ההוכחה בכיוון השני זהה.
slide25
שאלה 4 – עלים מנדטוריים
  • תרגיל: נתונים גרף קשיר ולא מכוון פונקציית משקל ותת קבוצה של קודקודים תארו אלג' המוצא עץ במשקל מינימאלי מבין העצים הפורשים שכל איברי הם עלים שלהם (או מודיע שלא קיים עץ כזה).
slide26
שאלה 4 – פתרון
  • נגדיר גרף כך ש- ו- הינה קבוצת הקשתות ששני הקודקודים שלהם ב-
  • האלגוריתם:
    • נבנה את
    • אם הגרף אינו קשיר, נודיע שלא קיים עץ מתאים.
    • אחרת, נמצא עפ"מ ב- .
    • עבור כל קודקוד ב- נמצא את הקשת הקלה ביותר שמחברת בינו לבין ונוסיף אותה לעץ (אם לא קיימת קשת ל- נודיע שלא קיים עץ מתאים).
slide27
הרצה לדוגמא
  • נבנה את
  • אם הגרף אינו קשיר, נודיע שלא קיים עץ מתאים.
  • אחרת, נמצא עפ"מ ב- .
  • עבור כל קודקוד ב- נמצא את הקשת הקלה ביותר שמחברת בינו לבין ונוסיף אותה לעץ (אם לא קיימת קשת ל- נודיע שלא קיים עץ מתאים).
slide28
דוגמא נוספת
  • נבנה את
  • אם הגרף אינו קשיר, נודיע שלא קיים עץ מתאים.
slide29
סיבוכיות
  • נבנה את
  • נמצא עפ"מ ב- . אם לא קיים עפ"מ כיוון שהגרף אינו קשיר, האלג' יודיע שלא קיים עפ"מ כמבוקש.
  • עבור כל קודקוד ב-
    • נמצא את הקשת הקלה ביותר שמחברת בין הקודקוד לבין העץ שמצאנו בשלב השני, ונוסיף אותה לעץ.
slide30
הוכחת נכונות
  • נגדיר את התנאי להיות – כל עלה מחובר בקשת ל-
  • נראה שקיים עץ פורש מתאים ב- אם"םמתקיימים שני התנאים שהאלג' בודק:
    • קשיר וגם מתקיים  קיים עץ פורש ב- שאיברי עלים בו.
    • קיים עץ פורש ב- שאיברי עלים שלו  קשיר (אם נזרוק את העלים מהעץ, הגרף עדיין יהיה קשיר), וגם מתקיים
slide31
מינימאליות העץ הפורש
  • נבחן את חיבור העלים לעץ:
    • מההגדרה, קודקוד מחובר בעץ לקשת בודדת
    • בנוסף, מחוברת לקודקוד מ-
    • בעץ המינימאלי, קודקוד יהיה מחובר לשאר העץ דרך הקשת הקלה ביותר שמחברת אותו ל-
    • אם זה אינו המצב, נוכל לקבל עץ קל יותר ע"י חיבור לקשת קלה יותר.
slide32
מינימאליות העץ הפורש
  • היות ואנו יודעים בדיוק איזה קשתות סמוכות לאיברי נותר רק למצוא עפ"מ של
slide33

עוד דברים כייפים שאפשר לעשות עם עפ"מים

Use of the Minimum Spanning Tree Model for Molecular Epidemiological Investigation of a Nosocomial Outbreak of Hepatitis C Virus Infection (Spada et al., 2003)

The MST model was applied to the molecular data and, together with the available clinical-epidemiological data, was used to identify the root of transmission of the outbreak and the most probable patient-to-patient chain of transmission. The basic concept of the model is that the outbreak and the most probable patient-to-patient chain of transmission are considered as a special graph connecting all patients with the minimum viral genetic distances among them.

ad