ברוכים הבאים ליחידת הלימוד בנושא "מודלים גרפיים לבעיות קישוריות ורשתות" במסגרת הקורס "מתמטיקה דיסקרטית ח'". יחידה זו חיונית להבנת האופן שבו ניתן למדל ולפתור מגוון רחב של בעיות הנדסיות, מתכנון רשתות תקשורת ועד לוגיסטיקה ואופטימיזציה של משאבים, באמצעות הכלים העוצמתיים של תורת הגרפים. נתמקד במושגים מרכזיים, אלגוריתמים ומשפטים המהווים את הבסיס לניתוח קישוריות וזרימה ברשתות, תוך שימת דגש על ההיבטים התיאורטיים והמעשיים הנפוצים בבחינות הטכניון.
מושגי יסוד בקישוריות גרפים
קישוריות היא אחד המאפיינים הבסיסיים והחשובים ביותר של גרפים, המבטאת את מידת החיבוריות בין קודקודיו. היא קריטית להבנת עמידות ואמינות של רשתות.
סוגי קישוריות
קשירות קודקודית (Vertex Connectivity)
מספר הקודקודים המינימלי שצריך להסיר כדי לנתק את הגרף (או להפוך אותו לטריוויאלי). מסומן כ-κ(G).
קשירות קשתית (Edge Connectivity)
מספר הקשתות המינימלי שצריך להסיר כדי לנתק את הגרף. מסומן כ-λ(G).
קשירות k
גרף G נקרא k-קשיר קודקודית (או קשתית) אם κ(G) ≥ k (או λ(G) ≥ k). מבטא את "חוזק" הקישוריות של הגרף.
רשתות זרימה ומשפט זרימה מקסימלית-חתך מינימלי
רשתות זרימה הן מודל גרפי מכוון שבו לכל קשת יש קיבולת, והמטרה היא למצוא את הזרימה המקסימלית ממקור (source) לבור (sink).
- קיבולת: 0 ≤ f(u,v) ≤ c(u,v) לכל (u,v) ∈ E.
- שימור זרימה: לכל קודקוד v ≠ s, t, מתקיים Σu f(u,v) = Σw f(v,w) (סך הזרימה הנכנסת שווה לסך הזרימה היוצאת).
אלגוריתמים ויישומים
פתרון בעיות זרימה מקסימלית מתבצע באמצעות אלגוריתמים יעילים.
אלגוריתמים לזרימה מקסימלית
אלגוריתם פורד-פלקרסון (Ford-Fulkerson)
אלגוריתם איטרטיבי המוצא מסלולי שיפור בגרף השאריתי ומעדכן את הזרימה עד שלא ניתן למצוא מסלולים נוספים. יעילותו תלויה בבחירת מסלולי השיפור.
אלגוריתם אדמונדס-קארפ (Edmonds-Karp)
גרסה ספציפית של פורד-פלקרסון שבה מסלולי השיפור נבחרים תמיד להיות המסלולים הקצרים ביותר (במונחי מספר קשתות) בגרף השאריתי. מבטיח סיום בזמן פולינומי.
יישומים נפוצים כוללים הקצאת משימות, תכנון רשתות תקשורת, בעיות שידוך (matching) ובעיות כיסוי.
משפט מנגר והקשר לקישוריות
משפט מנגר מקשר בין קישוריות לבין מספר המסלולים הזרים בגרף, ומהווה הכללה של משפט זרימה מקסימלית-חתך מינימלי לגרפים לא מכוונים.
- גרסא קודקודית: מספר המסלולים הזרים קודקודית המקסימלי בין שני קודקודים s ו-t שווה למספר הקודקודים המינימלי שצריך להסיר כדי לנתק את s מ-t.
- גרסא קשתית: מספר המסלולים הזרים קשתית המקסימלי בין שני קודקודים s ו-t שווה למספר הקשתות המינימלי שצריך להסיר כדי לנתק את s מ-t.
שאלות לדיון
- הסבירו כיצד ניתן למדל בעיית תכנון רשת תקשורת (לדוגמה, מציאת מספר הכבלים המינימלי שיש לחתוך כדי לנתק שתי ערים) כבעיית חתך מינימלי ברשת זרימה.
- כיצד משפט מנגר יכול לסייע בהערכת עמידות של רשתות תקשורת בפני תקלות? תנו דוגמה.
- השוו בין אלגוריתם פורד-פלקרסון לאלגוריתם אדמונדס-קארפ. מהם היתרונות והחסרונות של כל אחד מהם, ומתי נעדיף להשתמש באחד על פני השני?
- הוכיחו באופן אינטואיטיבי את משפט זרימה מקסימלית-חתך מינימלי באמצעות מושג הגרף השאריתי ומסלולי שיפור.
נקודות לתשובת מודל
- לשאלה 1: הגדרת גרף מכוון עם קודקודים המייצגים ערים/צמתים וקשתות המייצגות כבלים. קיבולת הקשתות תהיה 1 (או מספר הכבלים בין הערים). המקור והבור יהיו הערים הרצויות. חתך מינימלי ייתן את מספר הכבלים המינימלי לניתוק.
- לשאלה 2: משפט מנגר קובע שמספר המסלולים הזרים (קודקודית או קשתית) שווה לקישוריות. רשת עמידה תהיה בעלת קישוריות גבוהה, כלומר, מספר רב של מסלולים זרים בין נקודות קריטיות, מה שמבטיח שגם אם מספר רכיבים ייכשלו, עדיין תישמר קישוריות. דוגמה: רשת אינטרנט עם נתיבים חלופיים רבים.
- לשאלה 3: פורד-פלקרסון: כללי יותר, לא מבטיח סיום בזמן פולינומי אם הקיבולות אינן שלמות או אם בחירת המסלולים אינה אופטימלית. אדמונדס-קארפ: מקרה פרטי של פורד-פלקרסון, בוחר תמיד מסלול שיפור קצר ביותר (BFS), מבטיח סיום בזמן פולינומי (O(VE^2)). נעדיף אדמונדס-קארפ לרוב בשל יעילותו המובטחת.
- לשאלה 4: ההוכחה האינטואיטיבית מתבססת על כך שכל זרימה היא לכל היותר קיבולת של כל חתך (כי היא חייבת לעבור דרכו). מצד שני, כאשר לא ניתן למצוא יותר מסלולי שיפור בגרף השאריתי, הדבר יוצר חתך S-T שבו כל הקשתות מ-S ל-T רוויות (או שקיבולתן אפס בגרף השאריתי). קיבולת חתך זה שווה לזרימה הכוללת שהושגה, ובכך הוא מהווה חתך מינימלי.