שאלת מבחן באלגוריתמים - האוניברסיטה הפתוחה 2022 - גרפים
נתון גרף קשיר ולא-מכוון עם משקלים בצלעות. כל המשקלים חיוביים, למעט צלע בודדת שמשקלה שלילי. לשם פשטות נתון שהמשקלים שלמים וייחודיים: לכל .
בשאלה זו נבדוק את נכונותה של "הרצה לסירוגין" של האלגוריתם של Prim משני קצותיה של הצלע השלילית.
הגדרת ההרצה לסירוגין. מאתחלים שני עצים ו- (כל עץ מכיל אך ורק אחד מקצות הצלע השלילית). ממשיכים באיטרציות, המתעלמות מהצלע השלילית; בכל איטרציה:
(א) מוסיפים ל- צלע בעלת משקל חיובי מזערי מבין הצלעות היוצאות מ-; ואז
(ב) מוסיפים ל- צלע בעלת משקל חיובי מזערי מבין הצלעות היוצאות מ-.
האלגוריתם עוצר ברגע שבו פורש את כל קדקודי (העצירה עשויה להתרחש בסוף איטרציה או באמצעה, בהתאם לזוגיות ).
הנחה מקלה. נתון ששני העצים לא התאחדו באף איטרציה — הצלעות שנוספו ל- אינן מובילות ל- ולהפך. לכן מובטח שברגע העצירה הוא עץ פורש של .
הוכיחו או הפריכו את הטענה: " הוא עפ"מ של ".
בשאלה זו נבדוק את נכונותה של "הרצה לסירוגין" של האלגוריתם של Prim משני קצותיה של הצלע השלילית.
הגדרת ההרצה לסירוגין. מאתחלים שני עצים ו- (כל עץ מכיל אך ורק אחד מקצות הצלע השלילית). ממשיכים באיטרציות, המתעלמות מהצלע השלילית; בכל איטרציה:
(א) מוסיפים ל- צלע בעלת משקל חיובי מזערי מבין הצלעות היוצאות מ-; ואז
(ב) מוסיפים ל- צלע בעלת משקל חיובי מזערי מבין הצלעות היוצאות מ-.
האלגוריתם עוצר ברגע שבו פורש את כל קדקודי (העצירה עשויה להתרחש בסוף איטרציה או באמצעה, בהתאם לזוגיות ).
הנחה מקלה. נתון ששני העצים לא התאחדו באף איטרציה — הצלעות שנוספו ל- אינן מובילות ל- ולהפך. לכן מובטח שברגע העצירה הוא עץ פורש של .
הוכיחו או הפריכו את הטענה: " הוא עפ"מ של ".
העתק שאלה
שתף שאלה
סמן כחשוב
סמן כבוצע
האוניברסיטה הפתוחהמועד 91 · 2022 · סמסטר א
★★★★★
גרפיםעץ פורש מינימליפריםאלגוריתמים חמדנייםהוכח או הפרךהוכחה
מה שמצדיק את Prim הוא תכונת החתך: הצלע המזערית היוצאת מהרכיב הקשיר שנבנה עד כה היא בטוחה. שאלו את עצמכם מהו הרכיב שכבר נבנה כאן — האם הוא לבדו? — ומה עלול לקרות כאשר כופים על עץ אחד להתרחב בעוד שהצלע הזולה יוצאת דווקא מן העץ השני.
הטענה אינה נכונה. נפריך אותה בדוגמה נגדית בת ארבעה קדקודים.
הדוגמה הנגדית.
הגרף קשיר; המשקלים שלמים וייחודיים; וכולם חיוביים למעט — כל תנאי השאלה מתקיימים.
מעקב אחר ההרצה לסירוגין.
הפלט הוא שמשקלו
אך אינו עפ"מ. נתבונן ב-: שלוש צלעות הפורשות את ארבעת הקדקודים ומחברות אותם, כלומר עץ פורש, ומשקלו
(אכן, Kruskal בוחר בדיוק את הצלעות ומחזיר את .) לכן הטענה מופרכת.
מדוע ההרצה לסירוגין נכשלת. לאחר שהצלע מחברת בין ל-, הרכיב שנבנה עד כה הוא האיחוד , ולפי תכונת החתך הצעד הבטוח הוא הוספת הצלע המזערית היוצאת מן האיחוד הזה. ואכן, Prim על הגרף המתקבל מכיווץ היה בוחר תחילה את במשקל , ורק אז את במשקל — ומקבל את . ההרצה לסירוגין, לעומת זאת, מחייבת את להוסיף את הצלע המזערית היוצאת ממנו בלבד, ולכן היא כופה עליו את הצלע הכבדה עוד לפני שהתברר שאפשר להגיע ל- בזול דרך הצד השני.
הדוגמה הנגדית.
הגרף קשיר; המשקלים שלמים וייחודיים; וכולם חיוביים למעט — כל תנאי השאלה מתקיימים.
מעקב אחר ההרצה לסירוגין.
- (א) הצלע החיובית היחידה היוצאת מ- היא במשקל ; מוסיפים אותה, וכעת .
- (ב) הצלע החיובית היחידה היוצאת מ- היא במשקל ; מוסיפים אותה, וכעת .
- פורש את , ולכן האלגוריתם עוצר. שני העצים לא התאחדו, כנדרש בהנחה המקלה.
הפלט הוא שמשקלו
אך אינו עפ"מ. נתבונן ב-: שלוש צלעות הפורשות את ארבעת הקדקודים ומחברות אותם, כלומר עץ פורש, ומשקלו
(אכן, Kruskal בוחר בדיוק את הצלעות ומחזיר את .) לכן הטענה מופרכת.
מדוע ההרצה לסירוגין נכשלת. לאחר שהצלע מחברת בין ל-, הרכיב שנבנה עד כה הוא האיחוד , ולפי תכונת החתך הצעד הבטוח הוא הוספת הצלע המזערית היוצאת מן האיחוד הזה. ואכן, Prim על הגרף המתקבל מכיווץ היה בוחר תחילה את במשקל , ורק אז את במשקל — ומקבל את . ההרצה לסירוגין, לעומת זאת, מחייבת את להוסיף את הצלע המזערית היוצאת ממנו בלבד, ולכן היא כופה עליו את הצלע הכבדה עוד לפני שהתברר שאפשר להגיע ל- בזול דרך הצד השני.