קובץ שאלות פתורות אביב 2102 שאלה 0 SCC DFS, מצאו תנאי הכרחי ומספיק לכך שגרף מכוון ) ( יקיים את התכונה הבאה: בכל ריצת DFS על, הצומת בעל זמן הסיום הגדול ביותר )אחרון( הינו צומת בעל דרגת כניסה פתרון הצומת בעל זמן הסיום הגדול ביותר הוא שורש עץ ה DFS האחרון שמתקבל בהוכחת האלגוריתם למציאת גרף הרכיבים הקשירים היטב,)SCC( הוכחנו שהצומת בעל זמן הנסיגה הגדול ביותר בכל ריצת DFS חייב להימצא ברכיב שהוא צומת מקור בגרף ה SCC נסמן ב את גרף הרכיבים הקשירים היטב של נסתכל על ריצת DFS כלשהי על, עם זמני סיום ) ( עבור רכיב קשיר היטב נסמן: ) ( בהרצאות הוכחנו שעבור קשת בגרף מתקיים: ) (, ולכן הצומת בעל זמן הנסיגה המקסימלי חייב להיות מוכל ברכיב קשיר היטב שהוא מקור בגרף מקור צומת בעל דרגת כניסה 1 עכשיו, על מנת שבכל ריצת DFS הצומת בעל זמן הנסיגה המקסימלי f יהיה צומת בעל דרגת כניסה, נצטרך שכל רכיב קשיר היטב שהוא מקור ב בפרט, דרגת הכניסה של כל צומת ברכיב כזה יהיה G SCC יהיה בגודל טענה: התנאי בשאלה מתקיים כל רכיב קשיר היטב שהוא מקור ב הוא בגודל הוכחה: נניח בשלילה שקיים רכיב קשיר היטב שהוא מקור ב בגודל גדול מ יהיו נשים לב שדרגת הכניסה של גדולה מ, היות ויש מסלול מכוון מצומת לצומת ולהיפך המשך לעשות זאת עד נסתכל על ריצת DFS הבאה: בכל שלב שיש לבחור צומת ממנו להתחיל את ריצת ה,DFS בחר צומת שאינו ב ש DFS נסוג מכל הצמתים ב נשים לב שלפי משפט המסלול הלבן, אף צומת ב לא התגלה ע"י DFS אחרת, היינו מקבלים סתירה לכך שהרכיב הוא רכיב מקור ב כאשר DFS נסוג מכל צמתי, נמשיך את הריצה החל מהצומת לפי משפט שנלמד בכיתה, כל צמתי יתגלו בעץ ה DFS היוצא מ ולכן שורש עץ ה DFS האחרון, ובפרט הצומת בעל זמן הנסיגה המקסימלי היות ו ) (, קיבלנו סתירה
הוא בגודל נניח שכל רכיב קשיר היטב שהוא מקור ב הצומת בעל זמן הסיום המקסימלי בריצה זו נסתכל על ריצת DFS כלשהי ויהא נמצא ברכיב קשיר היטב מקסימלי שהוא מקור ב לפי האבחנה שביצענו לפני כתיבת הטענה, רכיב קשיר היטב זה יהא } { לפי ההנחה בכיוון זה, רכיב קשיר היטב זה בגודל, בסתירה בגרף גורר קשת נכנסת ל אחרת, קיום קשת ) ( בהכרח מתקיים להיותו מקור ב הערה: ניתן לבדוק האם גרף מקיים את התנאי בשאלה בזמן (E :O(V + 1 נחשב את הגרף G SCC 2 נבדוק שכל מקור ב G SCC מורכב מצומת בודד ע"י האלגוריתם למציאת גרף הרכיבים הקשירים היטב
שאלה 2 MST יהא ) ( גרף לא מכוון עם משקלים על הקשתות נתון עץ פורש מינימום של הגרף כעת, מוסיפים צומת חדש לגרף וקשתות ממושקלות מהצומת לחלק מצמתי הגרף נסמן את הגרף המתקבל כ ) ( הציעו אלגוריתם שזמן ריצתו ) (, אשר בהינתן עפ"מ לגרף מוצא עץ פורש מינימום לגרף פתרון אלגוריתם: 1 חשב את הגרף ( ( כלומר: אשר מכיל את קשתות והקשתות הנוגעות ב { } 2 הרץ אלגוריתם למציאת עפ"מ Kruskal( או )Prim בגרף והחזר את העפ"מ המתקבל טענת עזר: עפ"מ עבור הגרף הינו עפ"מ עבור הגרף הוכחה: ראינו לכל עפ"מ קיימת ריצה של האלגוריתם הגנרי שמוצאת אותו בתרגול: לכל עפ"מ קיימת ריצה של אלגוריתם Kruskal המוצאת אותו בהרצאות: לכל ריצה של אלגוריתם Kruskal קיימת ריצה של האלגוריתם הגנרי השקולה לו נסמן ב את סדרת הפעלות הכללים הכחולים והאדומים אשר מניבה את העפ"מ בגרף נחלק את הסדרה לשתי תתי סדרות, המציינות את הפעלות הכללים הכחולים והאדומים בסדרה, בהתאמה ראינו כי ניתן להחליף את הסדר בין פעולות ו )תוך שמירה על הסדר הפנימי בין הפעולות בתוך כל תת סדרה(, ולהישאר עם סדרה חוקית המניבה את בגרף G G T E T v תוצאת הפעלת אלגוריתם אשר מוצא עפ"מ בגרף
)כלומר, סדרה המפעילה קודם את הכללים האדומים ולאחר מכן את הכללים הכחולים( תהא הפעלת הכלל האדום משמעותה בחירת מעגל בו אין קשת אדומה, וצביעת הקשת הכבדה ביותר במעגל באדום נשים לב שכל מעגל שקיים בגרף קיים גם בגרף, היות ולא הסרנו קשתות או צמתים מהגרף לכן, הפעלת הכללים האדומים בסדרה הינה חוקית גם עבור כעת, נתבונן בהרצה של האלגוריתם הגנרי על הגרף, אשר מתחילה בסדרה לאחר הפעלת הכללים האדומים הנ"ל, נוותר עם קשתות בלבד כקשתות לא צבועות מכאן, הרצה של האלגוריתם הגנרי למציאת עפ"מ, החל משלב זה, ימצא עץ פורש אשר קשתותיו מוכלות ב מכאן, כל עפ"מ עבור הגרף הינו עפ"מ עבור הגרף G G T E T v מצב האלגוריתם לאחר הפעלת כללי נכונות: נובעת ישירות מטענת העזר סיבוכיות: ננתח את סך זמן הריצה: שלב 1 לוקח זמן ) (, שכן ) ( ואנו מוסיפים לעץ צומת יחיד אשר יוצאות ממנו קשתות לכל היותר נשים לב שמתקיים כנדרש שלב 2 לוקח: ( ) ( ( + ))
שאלה 3 SP נתון גרף מכוון ) ( ופונקציית משקל הציעו אלגוריתם המכריע האם קיים מעגל אי-חיובי בגרף על האלגוריתם לרוץ בזמן ) ( )כלומר, מעגל שמשקלו או שלילי( פתרון שלב 0: נבדוק קיום מעגלים בעלי משקל שלילי בגרף ניתן באמצעות אלגוריתם Bellman-Ford לבדוק האם קיים מעגל במשקל שלילי אשר ישיג מהצומת s אשר ממנו מתחיל האלגוריתם כלומר, הרצת Bellman-Ford מצומת כלשהו אינה מבטיחה גילוי מעגלים שליליים בגרף כדי לפתור בעיה זו, בדומה לאלגוריתם Johnson נוסיף צומת חדש s ונחבר אותו לכל צמתי הגרף בקשתות מכוונות בעלות משקל דבר זה יבטיח שכל המעגלים בגרף יהיו ישיגים מ s בדומה לבעיית ה Arbitrage אשר נלמדה בתרגולים, נבצע את רצף הפעולות הבא: נוסיף צומת חדש לגרף אשר יחובר לכל צמתי הגרף בקשתות מכוונות שמשקלן נריץ Bellman-Ford החל מצומת ונבדוק האם קיים מעגל במשקל שלילי בגרף אם כן, נחזיר זאת סיבוכיות: יהא } { ויהא } { ניתן להניח בלי הגבלת הכלליות שגרף התשתית של קשיר אחרת, נפתור את הבעיה בנפרד לכל רכיב קשירות בגרף התשתית לכן, ) ( מכאן, סיבוכיות הזמן של הרצת אלגוריתם ה Bellman-Ford הוא: (( + )( + )) שלב 2: בהינתן שלא קיימים מעגלים במשקל שלילי, נבדוק האם קיימים מעגלים במשקל נקראת שימושית אם קיים מסלול קל ביותר בגרף מהצומת הגדרה: בהינתן צומת, קשת לצומת שמסתיים בקשת אינטואיציה: במעגל C שמשקלו, כל הקשתות שימושיות: - נסתכל על צומת u כלשהו במעגל שמשקלו - ניקח מסלול קל ביותר P s u ונשרשר אליו את המעגל C - זהו גם מסלול קל ביותר, ולכן כל תת מסלול שלו הוא מסלול קל ביותר היא שימושית ) ( + ) ( טענה: קשת הוכחה: הוכח בשיעורי הבית )נכון לסמסטר אביב 2012( במידה ושאלה זו לא הופיע בשיעורי בית, נסו להוכיח טענה זו כתרגיל
עבורה אין מעגלים במשקל שלילי בגרף מכוון בעל פונקציית משקל ( טענה: נתון גרף ) שימושיות כל קשתות מעגל במשקל אזי, יהא הוכחה: לצומת מסלול קל ביותר מהצומת צומת כלשהו במעגל ויהא יהא ) ( נניח ש ) הוא גם מסלול קל ביותר ל ולאחריו קשתות המעגל )המסלול הנוצר משרשור נשים לב ש הוא גם מסלול קל ביותר מתכונות מסלולים קלים ביותר, כל תת מסלול של, כנדרש לצומת היא הקשת האחרונה במסלול קל ביותר מהצומת לכן, כל קשת נניח שכל קשתות שימושיות אזי: [ ] השוויון השני נובע מכך שכל הקשתות שימושיות בשוויון השלישי, עבור כל צומת במעגל, הביטוי ) ( לצומת ופעם אחת בשלילה עבור הקשת שיוצאת מהצומת מופיע בחיוב פעם אחת עבור הקשת שנכנסת לכן, הסכום כולו מתאפס (, מוגדר היטב לכל לגרף ווידאנו כי אין מעגלים במשקל שלילי בגרף )ולכן ) ( אלגוריתם: לאחר שהוספנו את ( לכל בהינתן ) ( נחשב לכל קשת האם היא שימושית או לא )ניתן לעשות זאת סה"כ בזמן ) ( 1 נבדוק האם קיים מעגל שמורכב מקשתות שימושיות בלבד 2 שהוספנו ובדיקה האם יש קשת אחורית בגרף המורכב ניתן לעשות זאת ע"י הרצת DFS מהצומת מקשתות שימושיות בלבד נכונות: נובעת מהטענות לעיל סיבוכיות: מהדיון עבור שלב 1 נובע שסיבוכיות הזמן הכוללת היא ) (
שאלה 4 Greedy נתונים אינטרוולים בקטע ],[ כך שלכל ] [ כך ש קיים הגדרה: כיסוי הוא תת קבוצה ] [, כך שמתקיים: [ ] הציעו אלגוריתם יעיל ככל האפשר, המוצא כיסוי בעל גודל מינימלי פתרון הבחנה: כיסוי חוקי חייב לקחת אינטרוול שמסתיים בנקודה x מבין כל האינטרוולים שמסתיימים בנקודה x, נעדיף לקחת את האינטרוול הארוך ביותר )צעד חמדני(, שכן הוא מכסה קטע ארוך יותר אלגוריתם: נמיין את האינטרוולים לפי זמן הסיום שלהם 1 כל עוד אין בידינו כיסוי: 2 21 מבין כל האינטרוולים שזמן הסיום שלהם מקסימלי, בחר את האינטרוול הארוך ביותר [ אינטרוול זה יהא ] ]: 22 צמצם את כל האינטרוולים הנותרים לקטע ], החלף את זמן הסיום שלו ב עבור כל אינטרוול שמסתיים אחרי הנקודה - [ בכך שנחלק את כל נקודות הקצה ב - נרמל את כל האינטרוולים לקטע ] )צעד זה אינו הכרחי לצורך המימוש, אך עוזר בכדי לתאר את הפתרון באופן רקורסיבי( נכונות: נסמן ב } { את קבוצת האינטרוולים שלקח האלגוריתם החמדן הנ"ל ) נסמן ב } { פתרון אופטימלי לבעיה )מתקיים נניח כי שתי הקבוצות ממוינות לפי זמני הסיום מאופטימליות על מנת להוכיח שהאלגוריתם חמדן הוא אופטימלי, נראה כיצד ניתן לקחת פתרון אופטימלי )OPT( ולהפוך אותו לפתרון החמדני,)Greedy( מבלי לפגוע באופטימליות הדגש בהוכחה הוא התבוננות בנקודה הראשונה שבה האלגוריתמים לא מסכימים נקודה ראשונה כאשר האינטרוולים מסודרים לפי זמן סיום בסדר יורד, בהתאם לכלל החמדני שבחרנו יהא האינדקס הראשון עבורו נסמן: ] [ ובנוסף: ] [ נניח לצורך הוכחת הנכונות שלא מתבצע צעד הנרמול 22 )נכונות האלגוריתם נשמרת(
תהא הנקודה השמאלית ביותר מבין הנקודות אשר מכסים האינטרוולים היות והאינטרוולים מסודרים בסדר יורד לפי זמן יורד, בהכרח מתקיים ובנוסף אחרת, אם לא מכסה את הנקודה אז אף אינטרוול אחר לא באותו אופן עבור p I OPT OPT I i OPT Greedy I i Greedy Greedy I הפתרונות ו ממוינים לפי סדר נקודות קצה ימניים יורד נסתכל על השלב בו האלגוריתם החמדן בחר את היות ולאלגוריתם החמדן בשלב זה הייתה את האפשרות לבחור את, מתקיים כלומר, אם נחליף ב את האינטרוול באינטרוול, נקבל כיסוי חוקי בגודל זהה לגודל כל נקודה ] [ שכוסתה אך ורק על ידי מכוסה כעת ע"י נובע מכך ש ומכך ש נמשיך להפעיל טיעון זה עד שנמיר את ל היות וגודל לא משתנה בתהליך זה, הפתרון נשאר אופטימלי ולכן אופטימלי ( סיבוכיות: מיון האינטרוולים לפי זמן הסיום לוקח ) לצורך מימוש שלב 2 נחזיק עץ חיפוש מאוזן אשר שומר את נקודות הקצה השמאליות של כל האינטרוולים תוחלף בנקודה הימנית ביותר שלא כוסתה( )בהמשך, הנקודה שעוברים דרך כל אינטרוול מוכנס פעם אחת לעץ ויוצא מהעץ פעם אחת לכל היותר לכן, סך הפעולות שמתבצעות על עץ ( מכאן, סיבוכיות הזמן הכוללת של שלב 2 הוא ) החיפוש המאוזן הוא ) (
שאלה 5 DP ו נתונות שתי מחרוזות נאמר שמחרוזת היא מחרוזת-על של כלומר, קיימת סדרת אינדקסים וקיימת סדרת אינדקסים דוגמא: עבור המחרוזות ו עבורה בהתאמה באורכים ואת אם היא מכילה את עבורה לכל ] [ לכל ] [, מחרוזת-על אפשרית של הינה הציעו אלגוריתם אשר בהינתן שתי מחרוזות מחשב את מחרוזת-העל הקצרה ביותר שלהן פתרון נסמן ב את מחרוזת-העל הקצרה ביותר של אותה אנו מחפשים נבנה את Z אות-אות מהסוף להתחלה )אפשר באופן סימטרי לבנות אותה מההתחלה לסוף( אינטואיטיבית, האות האחרונה של Z תהיה אחת האותיות X n או Y m אחרת, אפשר להסיר את האות האחרונה ולהישאר עם מחרוזת-על האם גישה חמדנית תעבוד? )קח את אחת מהאותיות לא בהכרח נניח ש X ab Y abc אם נבחר את X, לא נקבל מחרוזת-על קצרה ביותר X n או )Y m אבל, ברגע שבחרנו באות האחרונה, נותר לנו לפתור את הבעיה באופן רקורסיבי עבור מחרוזות קצרות יותר דבר זה מרמז על שימוש בתכנון דינמי נגדיר: אורך מחרוזת-העל הקצרה ביותר של המחרוזות ו - [ ] טענה: [ ] { + [ ] + { [ ] [ ]} הסבר: אם אחת המחרוזות ריקה, ניקח את המחרוזת השנייה כולה )תנאי בסיס( אחרת, אם X i Y j נבחר אות זו להיות האות האחרונה כעת, נותר לנו לדאוג לכך שהמחרוזות Z תופענה משמאל לאות האחרונה ב Y Y j ו X X i אם X i Y( j או X i ( ניקח את האופציה הטובה ביותר עבור האות האחרונה מבין השתיים Y j
הוכחה: נסמן ב את מחרוזת-העל הקצרה ביותר של המחרוזות ו נוכיח את הטענה באינדוקציה על, לכל כלומר, הנחת האינדוקציה שלנו תהיה שהטענה נכונה עבור הערכים ] [ ] [ בסיס: עבור מחרוזת-העל היא בהכרח ואורכה עבור מחרוזת-העל היא בהכרח ואורכה סגור: נניח נכונות עבור וכל ערך כלומר, הערכים [j L[i אשר מחושבים לפי הנוסחא הרקורסיבית אכן מתאימים לאורכים של המחרוזות,OPT i j בהתאמה נוכיח את הטענה עבור וכל ערך כלומר, עבור (j i) הערך המחושב ע"י הנוסחא הרקורסיבית הוא אכן j OPT i ולהישאר ללא האות האחרונה את המחרוזת נסמן ב, נסמן לצורך נוחיות: נפריד למקרים:, אז לפי טיעונים קודמים אפשר להסיר את האות האחרונה מ : אם אם 0 עם מחרוזת-על למחרוזות ו, בסתירה לאופטימליות אחרת, נשים לב ש היא מחרוזת-על של המחרוזות ו מאופטימליות, נובע ש:, היות ו הוא פתרון כלשהו לבעיה, נניח בשלילה שמתקיים ונשרשר לה את האות, נקבל מחרוזת-על ל ו אם ניקח את המחרוזת שאורכה קצר מ, בסתירה לאופטימליות לכן, ומכאן: [ ] + + + [ ] כאשר השוויון האחרון נובע מהנחת האינדוקציה אם : אם, אז נקבל סתירה לפי טיעונים דומים לאלה שהוצגו עבור מקרה 1 אחרת, נפריד למקרים לפי האות האחרונה של : אם : נשים לב ש היא מחרוזת-על של המחרוזות ו 2 לפי טיעונים דומים למקרה 1, בהכרח ולכן נקבל ש: [ ] + + + [ ] אחרת, אם, נקבל באותו אופן ש: [ ] + + + [ ] ובכך הראנו שטענה מתקיימת
שימו לב שמרבית ההוכחה עסקה בתת המבנה האופטימלי של OPT i j כלומר, לאחר הסרת האות האחרונה אנו מקבלים פתרון אופטימלי לתת הבעיה המתאימה אלגוריתם לחישוב אורך מחרוזת-העל הקצרה ביותר: ) + ( ( בגודל ) + אתחל מטריצה 1 [ אתחל את השורה הראשונה והעמודה הראשונה לפי תנאי הבסיס של ] 2 לכל 3 לפי הנוסחא הרקורסיבית [ חשב את התא ] 31 לכל 311 [ החזר את ] 4 כבר חושבו, היות ואנו [ ] [ ] [ הערכים ] [ נכונות: מובטח לנו שבזמן חישוב ] מחשבים ערכים אלו לפי סדר שורות ו הוא אורך מחרוזת-העל הקצרה ביותר של [ לפי הטענה, מובטח ש ], סה"כ: ) ( סיבוכיות: חישוב כל תא במטריצה לוקח ) ( חישוב מחרוזת-העל הקצרה ביותר: נשמור בכל תא ) ( במטריצה מצביע לתא לפיו חושב הערך ] [ למשל, מצביע לתא ] [ מצביע לתא ] [ מעיד על כך ש מעיד על כך שבחרנו את האות וזו האות האחרונה שנבחר נעדכן מצביעים אלו תוך כדי חישוב הערכים ] [ בסיום הריצה, נתחיל מהתא ] [ במטריצה ונתקדם לפי המצביעים נרכיב את אותיות מחרוזת-העל הקצרה ביותר לפי הכללים שנכתבו לעיל, בזמן ) + ( ( )
שאלה 6 Flow Max גרף מכוון ותהא פונקציית קיבול אי-שלילית על הקשתות פונקציה על הצמתים אשר תקרא פונקציית ביקוש והיצע: ) (, נאמר שלצומת יש היצע של ) ( ) (, נאמר שלצומת יש ביקוש של ) ( יהא ) ( תהא אם אם פונקציה לכל קשת לכל צומת תקרא זרימה מעגלית )סירקולציה(, אם מתקיימים התנאים הבאים: ) ( מתקיים ) ( מתקיים: 1 2 כאשר ) ( היא קבוצת הקשתות היוצאות מ ו ) ( היא קבוצת הקשתות הנכנסות ל ענו על הסעיפים הבאים: א הוכיחו כי ) ( הוא תנאי הכרחי לקיום זרימה מעגלית )כלומר, הביקוש שווה להיצע( ב הוכיחו כי לא קיימת זרימה מעגלית בגרף אם ורק אם קיים חתך ) ( כך ש: ג כאשר } { ) ( הציעו אלגוריתם יעיל ככל שתוכלו המכריע האם קיימת זרימה מעגלית בגרף פתרון סעיף א' : זרימה מעגלית אשר מתאימה לגרף ) ( הנ"ל מקיימת לכל צומת נרצה להראות ש - מתקיים: ( ) ( ) סך הזרימה מקשתות היוצאות מצמתים בגרף ( ) סך הזרימה מקשתות הנכנסות לצמתים בגרף, הגורם ) ( מופיע בחיוב פעם אחת בסכום השמאלי השוויון האחרון נובע מכך שעבור כל קשת )כקשת יוצאת מהצומת ) ופעם אחת בשלילה בסכום הימני )כקשת נכנסת לצומת (
סעיף ב' סעיף זה מקשר בין זרימה מעגלית לקיבולי חתכים ברשת זהו רמז עבה לכך שיש לתאר את הבעיה על ידי רשתות זרימה בעלות מקור ובור יחיד { } : נסמן: } ) ( { } ) ( { נתבונן ברשת הזרימה ) ( הבאה, המתאימה לגרף ) ( צמתים: נוסיף מקור ובור לרשת: קשתות: נחבר את ואת כל הצמתים לכל הצמתים בעלי היצע, כלומר ) (, בעלי ביקוש, כלומר ) (, נחבר לבור : { } { } קיבולים: כל קשת מהצומת לצומת עבורו תהיה בעלת קיבול ) ( כל קשת אל הבור מצומת עבורו תהיה בעלת קיבול ) ( { d(v) 0 d(v) 0 s t טענה: קיימת זרימה מעגלית בגרף הוכחה: נניח שקיימת זרימה מעגלית לכל נקבע ) ( לכל קשת ערך זרימת המקסימום ברשת עבור פונקציית ביקוש והיצע נקבע ) ( לכל קשת מקיימת את חוק הצומת: לכל צומת לכן לפי סעיף א', חוק הצומת מתקיים עבור ערך מקיימת את חוק הקשת: היות ו כנדרש: הזרימה היוצאת מהצומת נקבע ) ( נגדיר זרימה הוספנו זרימה נכנסת של ) ( היא בעלת ערך ) ( ברשת באותו אופן אפשר להראות את הטענה עבור מקיימת זאת ולפי הגדרת קיבולי הקשתות החדשות היא בדיוק סכום ההיצעים של צמתי באופן הבא:, הטענה מתקיימת
נניח ו זרימה חוקית ברשת ובעלת ערך ) ( היות וזהו גם קיבול החתך המוגדר ע"י בלבד, נובע שכל הקשתות היוצאות מהצומת נגדיר את באופן הבא: ) ( חוק הקשת מתקיים מכיוון ש מקיימת את חוק הקשת בנוסף, תנאי הביקוש וההיצע מתקיימים, היות ו מקיימת את חוק הצומת רוויות טענה: לא קיימת זרימה מעגלית בגרף קיים חתך ) ( כך ש: כאשר } { ) ( קטן ממש מ ) ( הוכחה: אם אין זרימה מעגלית, אז לפי הטענה הקודמת ערך זרימת המקסימום ב לפי משפט ה Min-Cut Max-Flow נובע שערך חתך המינימום קטן ממש מסכום זה לפי משפט: ערך זרימת המקסימום = קיבול חתך המינימום היות וקיבולי החתכים המוגדרים ע"י } { או } { הם בדיוק ) (, נובע שחתך המינימום משרה חתך )לא טריוויאלי( על הגרף וקיבולו קטן ממש מ ) (, כנדרש אם התנאי במשפט מתקיים, ערך חתך המינימום קטן ממש מ ) ( לפי משפט ה Min-Cut Max-Flow נובע שערך זרימת המקסימום ברשת קטנה ממש מ ) ( לפי טענת העזר, לא קיימת זרימה מעגלית ב סעיף ג' אלגוריתם: 1 נבנה את הרשת כפי שתואר בזמן ) + ( 2 נמצא זרימת מקסימום ברשת באמצעות אלגוריתם,Edmonds-Karp בזמן ) ( 3 נחזיר זרימה מעגלית )לפי ההוכחה בסעיף ב'( אם"ם קיימת זרימה ברשת בערך ) ( נכונות: נובעת מסעיף ב' סיבוכיות: סה"כ ) (