שאלת מבחן באלגוריתמים - האוניברסיטה הפתוחה 2020 - בלמן-פורד

נתון גרף מכוון עם משקלים אי-שליליים על הצלעות, וקדקוד מוצא . הביטו באלגוריתם הבא:

(i) מאתחלים מערך : ו- לכל .
(ii) לולאה חיצונית: חוזרים שוב ושוב על הפעולה הבאה:

> (ii.1) לולאה פנימית: סורקים את הצלעות בסדר לקסיקוגרפי; לכל
מבצעים: אם אז מעדכנים .
> (ii.2) אם בהרצה הנוכחית של כל הלולאה הפנימית לא בוצע אף עדכון — האלגוריתם מסתיים.


(א) מה האלגוריתם מחשב? (אין צורך להוכיח.)

(ב) יהי המספר המרבי של איטרציות של הלולאה החיצונית על גרפים בעלי קדקודים. חשבו את , והציגו סדרת גרפים שעליהם מתבצעות בדיוק איטרציות.

(ג) הציגו סדרת גרפים אחרת שעבורם נכנסים ללולאה החיצונית פעמיים בלבד, וזאת למרות שמספר הצלעות שלהם זהה לגרפים מסעיף (ב), כלומר .
העתק שאלה
שתף שאלה
סמן כחשוב
סמן כבוצע
האוניברסיטה הפתוחהמועד 72 · 2020 · סמסטר ב
בלמן-פורדגרפיםמסלולים קצריםניתוח אלגוריתמים
(א) זהו בלמן-פורד — מסלולים מזעריים מ-. (ב) שרשרת עם סדר סריקה הפוך מאלץ התקדמות של צומת אחד בכל מעבר, לכן . (ג) כוכב במרכז עם צלעות: הכול מתעדכן במעבר אחד, ולכן איטרציות.
(א) זהו אלגוריתם בלמן-פורד. בסיום, = משקל המסלול המזערי (הקל ביותר) מ- ל-, ו- אם אינו ניתן להשגה מ-.

(ב) . הלולאה החיצונית מבצעת לכל היותר איטרציות ( מעברים עד התכנסות, ועוד מעבר אחד לזיהוי שאין עדכון). כדי להגיע בדיוק ל-, ניקח את גרף-השרשרת : מסלול מכוון , כל צלע במשקל , עם , כאשר שמות הקדקודים נבחרים כך שהסדר הלקסיקוגרפי סורק את הצלעות מהסוף להתחלה (הצלע נסרקת ראשונה, אחרונה). אז כל איטרציה חיצונית מקבעת בדיוק קדקוד אחד נוסף: איטרציה 1 מעדכנת את , איטרציה 2 את , ..., איטרציה את , ואיטרציה לא מבצעת אף עדכון ועוצרת — סה"כ בדיוק איטרציות.

(ג) ניקח את גרף-הכוכב : מרכז עם צלעות מכוונות לכל , כל אחת במשקל . מספר הצלעות הוא — זהה לגרף-השרשרת מסעיף (ב). מ- כל הקדקודים מגיעים במרחק צלע אחת, ולכן איטרציה 1 מעדכנת את כולם, ואיטרציה 2 כבר לא מבצעת אף עדכון ועוצרת — בדיוק איטרציות.