שאלה על עצים פורשים מינימליים

Blade2

New member
שאלה על עצים פורשים מינימליים

יש לי שאלה בתרגיל - מגדירים k-עץ, כתת גרף, כך שקיימות בדיוק k קשתות שניתן להסיר ממנו על מנת לקבל עץ. עלי למצוא אלגוריתם יעיל למציאת k-עץ פורש, מינימלי (כלומר, k-עץ פורש, מינימלי במשקלו מבין כל ה k-עצים הפורשים) לדעתי, חשבתי להציע אלגוריתם כזה, למצוא עץ פורש מינימלי (נניח עם אלגוריתם של פרים), ואז להוסיף לו את k הקשתות הקטנות ביותר שלא שייכות לו. על מנת להוכיח נכונות (בתקווה שזה בכלל נכון), חשבתי להוכיח את הטענה הבאה - אם Tk הוא k-עץ פורש מינימלי, אזי Tk+1, השווה ל Tk איחוד הקשת המינימלית במשקלה שאינה שייכת ל Tk, הוא k+1 עץ פורש מינימלי. הנחתי בשלילה את שלילת הטענה, ולכן קיים T'k+1 שהוא k+1 עץ פורש מינימלי שמשקלו קטן מ Tk איחוד הקשת המינימלית (נסמנה e) מפה אני לא מצליח להגיע לסתירה. עיקר המכשול שלי הוא שאני כלל לא בטוח שלא ייתכן שמצב שיהיה k-עץ פורש שאינו מינימלי, אך אם נוסיף לו קשת כלשהי נקבל k+1-עץ פורש מינימלי. בכל מקרה, איני יודע כיצד להוכיח את הטענה, ואשמח לקבל מכם עזרה וכיווני חשיבה. תודה!
 

johnny d

New member
יש לי כיוון כללי

אבל אני בכלל לא בטוח שהוא נכון. אחרי שמצאת את העץ שלך נסמנו ב- Tk המורכב משתי קבוצות זרות נסמנם ב- T (העפ"מ) וב-W הקשתות שהוספתה. תניח שקיים Nk עץ k בלה בלה, כך שמשקל קשתותיו קטן מזה של Tk. לכל קשת ששיכת ל Tk ואינה שייכת ל- Nk ניתן להוסיף אותה ל- Nk ולהוריד קשת אחרת כמשקלה, זאת מכיוון שאם אין קשת השוקלת לפחות כמוה במעגל כלשהו שנוצר אז T אינו עפ"מ, ואם כל הקשתות שוקלות יותר ממנה אז החלפת הקשת נקבל עץ k בלה בלה קטן מ0- Nk בסתירה. לאחר התהליך תקבל שT מוכל ב Nk. לאחר הפרדת T מ- Nk תקבל קבוצה, תסדר אותה ותשווה ל-W (סדור גם כן) בכדי להראות שNk שווה ל- Tk
 
למעלה