מבני נתונים ואלגוריתמים - מחברת קורס/גרפים/מסלולים זולים לכלל הזוגות/תרגילים/ווריאציה עם מחירים שליליים/תשובה
1
[עריכה]נניח שיש מעגל סופי מ כלשהו חזרה אליו, ועלות מעגל זה היא . אז אין שום מסלול סופי מ ל שהוא הזול ביותר, כי הספת מעגל זה תוזיל אותו ב.
2
[עריכה]אלגוריתם "הכפלת מטריצות"
[עריכה]באלגוריתם "הכפלת מטריצות", טענו את המשפט הבא:
משפט: נקבע את כמספר הצמתים בגרף. אז מחיר המסלול הזול ביותר מ ל הוא . |
הרעיון מאחורי המשפט היה שהמסלול הזול ביותר מ ל בהכרח קצר מ: אם לא, אז יש צומת אחד (לפחות) שרואים אותו פעמיים. אמנם נכון שאם מחירי הקשתות לא-שליליים (כפי שהיה שם), קל לראות שאפשר להתעלם מאפשרות זו כמסלול הזול ביותר; כאן, לעומת זאת, דווקא נוכחנו שייתכן שנרצה לפגוש אותו צומת פעמיים (ֹויותר).
אלגוריתם Floyd-Warshall
[עריכה]באלגוריתם Floyd-Warshall, טענו את המשפט הבא:
משפט: הוא:
|
קל לראות שחלקו השני של המשפט לא נכון. בזמנו טענו שאם מ ל עוברים דרך , אז מ
ל ומ ל אין צורך
לעבור דרך . כעת דווקא ראינו שמעגל כזה מ
ל דווקא עלול להוזיל את המסלול.
3
[עריכה]אלגוריתם "הכפלת מטריצות"
[עריכה]פשוט יש לחזור על הרעיון הכללי, ולראות שלא השתנה כלום.
נתחיל במשפט שראינו שהשתבש בסעיף הקודם:
משפט: נקבע את כמספר הצמתים בגרף. אז מחיר המסלול הזול ביותר מ ל הוא . |
משפט זה שוב נכון. כל מסלול באורך (או יותר) פוגש לפחות צומת אחד פעמיים. אם אין מעגל שלילי, מסלול כזה בהכרח אינו זול יותר ממסלול אחר ללא המעגל.
כעת נתבונן במשפט הבא:
משפט: לכל , הוא:
|
בהוכחת משפט זה לא הנחנו כלום לגבי סימן מחיר הקשתות. מחיר המסלול הזול ביותר באורך 1 הוא, עפ"י ההגדרה, מחיר הקשת בין שני צמתים. המסלול הזול ביותר באורך מורכב, עפ"ׁ ההגדרה, ממסלול באורך ועוד קשת.
אלגוריתם Floyd-Warshall
[עריכה]פשוט יש לחזור על [[מבני נתונים ואלגוריתמים - מחברת קורס/#|]], ולראות שלא השתנה כלום. נתחיל במשפט הבא:
משפט: נקבע את כמספר הצמתים בגרף. אז מחיר המסלול הזול ביותר מ ל הוא בדיוק . |
משפט זה בוודאי נכון - המסלול הזול ביותר מ ל הוא
הזול ביותר מבין המסלולים שמותר להם לעבור דרך כל צומת בגרף.
נמשיך במשפט שהשתבש מקודם:
משפט: הוא:
|
חלקו הראשון של המשפט נכון לפי ההגדרה.
אם אין מעגלים שליליים, גם חלקו השני נכון. אם מ ל עוברים דרך , אז אין טעמם לבדוק מסלולים שבהם מ ל או מ ל עוברים דרך . מסלולים אלה כוללים מעגל כזה מ ל, ומסלול אחר ללא מעגל זה בהכרח אינו יקר יותר.