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

נזכיר את בעיית המסלולים המזעריים ממקור יחיד: נתון גרף מכוון עם משקלים וקדקוד מקור ; מחפשים מסלולים מזעריים מ- ליתר הקדקודים. נניח לשם פשטות שאין ב- שני קדקודים שונים בעלי אותו מרחק מהמקור. יהי העץ ש-Dijkstra מתחזק במהלך ריצתו.

הוכיחו באינדוקציה את הטענה:

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

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

הנחה. נניח שבסיום איטרציה קיים כך ש- פורש בדיוק את הקדקודים שמרחקם מ- הוא .

צעד. אם באיטרציה האלגוריתם הסתיים, לא השתנה ו-. אחרת נוסף קדקוד חדש , שהוא בעל -הערך המזערי ב- (בחירת Dijkstra). נסמן . מכיוון ש-Dijkstra מוסיף קדקודים בסדר מרחק לא-יורד:
  • לכל (כולל אלו מהאיטרציות הקודמות ו-) מתקיים ;
  • לכל מתקיים (אחרת היה נבחר במקום ).


לכן פורש בסיום איטרציה בדיוק את הקדקודים שמרחקם .