שאלה 1 נתון כביש ישר עם תחנות דלק בנקודות , בנקודת המוצא נתונה מכונית עם תא דלק שמספיק ל-100 ק"מ. מחיר מילוי תא הדלק בתחנה.

Slides:



Advertisements
Similar presentations
Completeness and Expressiveness. תזכורת למערכת ההוכחה של לוגיקה מסדר ראשון : אקסיומות 1. ) ) (( 2. )) ) (( )) ( ) ((( 3. ))) F( F( ( 4. ) v) ( ) v ((
Advertisements

מבוא למדעי המחשב לתעשייה וניהול
גרף מכוון Directed Graph a b c f g ed h צמתים חוג עצמי קשתות.
Recitation #9. Q1 גרף מכוון מורכב מקבוצה של צמתים (nodes) ומקשתות מכוונות (arcs) המחברות ביניהם. כל קשת מכוונת יוצאת מצומת אחד ונכנסת לצומת אחר. ( בגרפים.
מתמטיקה בדידה תרגול 3.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
גרפים ממשקלים גרף ממשקל הוא גרף עם משקל לכל קשת עץ פורש הוא עץ שצמתיו הם כל הצמתים של הגרף וקשתותיו הן קשתות הגרף.
מסדי נתונים תשס " ג 1 תכנון סכמות (Design Theory) מסדי נתונים.
Inverse kinematics (Craig ch.4) ב"ה. Pieper’s solution נתבונן ברובוט עם 6 מפרקי סיבוב כאשר שלושת הצירים של המפרקים האחרונים נחתכים. נקודת החיתוך נתונה.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
R. Bar-Yehuda © 1 קומבינטוריקה למדעי - המחשב – הרצאה #14 Graph theory – תורת הגרפים Chapter 1: PATHS IN GRAPHS – 1. מסלולים.
מה החומר למבחן ? כל החומר שנלמד בהרצאות ובתרגולים. לגבי backtracking: לא תידרשו לממש אלגוריתם, אך כן להבין או להשלים מימוש נתון. אחת משאלות המבחן מבוססת.
עבודה סמינריונית Prelude to Ukkonen algorithm ON-LINE CONSTRUCTION OF SUFFIX TREES מגישים : עיד מוחמד טיבי פיראס.
אינטרפולציה רועי יצחק.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
היום נדבר אל נושא אחד בתורת הגרפים. ובהמשך נשתמש בכלים אלו לפתרון כמה בעיות גאומטריות ובפרט להוכחת Szemeredi Trotter theorem.
2 Suffix Tree: Definition Suffix tree T על מחרוזת S שגודלה n, הוא עץ מכוון עם בדיוק n עלים ממוספרים מ -1 עד n. לכל צומת פנימית ( חוץ מהשורש ) יש לפחות.
1 Data Structures, CS, TAU, Splay Tree Splay Tree  מימוש של עץ חיפוש בינארי  מטרה לדאוג ל- Amortized Time  פעולה בודדת יכולה לקחת O(N)  אבל כל רצף.
משפט ההרכבה Composition Theorem תהי C מחלקה של פונקציות בוליניות תהי נגדיר סדרת פונקציות שניתנות לחישוב בזמן פולינומיאלי.
בהסתברות לפחות למצא בעיה במודל PAC עבור בהסתברות ε הפונקציה f טועה מודל ONLINE 1. אחרי כל טעות הפונקציה משתפרת 2. מספר הטעיות קטן.
עיבוד תמונות ואותות במחשב אלכסנדר ברנגולץ דואר אלקטרוני : שיטות קידוד שיטות קידוד אורך מלת קוד ואנטרופיה אורך מלת קוד ואנטרופיה קידוד.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
Data Structures, CS, TAU, Splay Tree 1 Splay Tree - עץ חיפוש בינארי - מטרה לדאוג ל - Amortized Time - פעולה בודדת יכולה לקחת O(N) - אבל כל רצף M פעולות.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
צביעת גרפים: הגדרה: G=(V,E) גרף בלתי מכוון. צביעת G ב-K צבעים 1
תורת הקבוצות חלק ב'. קבוצה בת מניה הגדרה: קבוצה אינסופית X היא ניתנת למניה אם יש התאמה חד-חד ערכית בין X לבין .
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
Faster reliable phylogenetic analysis Article by: Vincent Berry & David Bryant Presented by: Leonid Shuman & Eva Frant.
תזכורת: גרפים גרף (G=(V,E V|=n, |E|=m| מכוון \ לא מכוון דרגה של קדקד
ערמות ; מבני נתונים 09 מבוסס על מצגות של ליאור שפירא, חיים קפלן, דני פלדמן וחברים.
מודל ONLINE לומדמורה 1. כל ניתן לחישוב בזמן פולינומיאלי 2. אחרי מספר פולינומיאלי של טעיות ( ) הלומד לא טועה ז"א שווה ל- Littlestone 1988.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
Motion planning via potential fields תומר באום Based on ch. 4 in “Principles of robot motion” By Choset et al. ב"הב"ה.
ערכים עצמיים בשיטות נומריות. משוואה אופינית X מציין וקטור עצמי מציינת ערך עצמי תואם לוקטור.
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
The Cyclic Multi-peg Tower of Hanoi מעגלי חד-כווני סבוכיות הפתרון בגרסאות עם יותר מ-3 עמודים.
Ray 7 דוגמא אלגוריתם 1.קבל דוגמאות 2. פלט f a עבור הדוגמה a המינימלית החיובית ?
Data Structures, CS, TAU, Perfect Hashing 1 Perfect Hashing בעיה : נתונה קבוצה S של n מפתחות מתחום U השוואה ל - Hash : * טבלה קבועה (Hash רגיל - דינאמי.
גרפים - Graphs גרף G(V,E) מורכב מקבוצת צמתים V וקבוצת קשתות E.
Remember Remember The 5 th of November. תרגול 2 קובץ סדרתי.
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
משטר דינמי – © Dima Elenbogen :14. הגדרת cd ו -pd cd - הזמן שעובר בין הרגע שראשון אותות הכניסה יוצא מתחום לוגי עד אשר אות המוצא יוצא מתחום.
תזכורת : אלגברה ליניארית מסקנה קלט : וקטורים פלט : האם u תלוי ליניארית ב קלט : מערכת של n משואות לינאריות ב -m נעלמים. פלט : פתרון, או שאין כזה. אלגוריתם.
מערכים עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר int grade1, grade2, …, grade20; int grade1, grade2, …, grade20;
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א מודל הלמידה מדוגמאות Learning.
עקרון ההכלה וההדחה.
יחס סדר חלקי.
Data Structures, CS, TAU, RB-Tree 1 עץ אדום-שחור - עץ חיפוש בינארי - בכל צומת ביט אינפורמציה נוסף - צבע « עץ “ כמעט מאוזן ” « (O(log n במקרה גרוע ביותר.
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א.
עצים בינאריים - תזכורת דרגת צומת שורש עלה צומת פנימי מרחק בין 2 צמתים
מתמטיקה בדידה תרגול 2.
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
Points on a perimeter (Convex Hull) קורס – מבוא לעבוד מקבילי מבצעים – אריאל פנדלר יאיר ברעם.
Lecture 13 Maximal Accurate Forests From Distance Matrix.
תרגול 4 21/3/2007 מבני נתונים 07b ליאור שפירא. תזכורת – B-trees  לכל צומת x יש השדות הבאים n[x] מס ' מפתחות ב -x המפתחות עצמם בסדר לא יורד כל צומת פנימי.
Data Structures Hanoch Levi and Uri Zwick March 2011 Lecture 3 Dynamic Sets / Dictionaries Binary Search Trees.
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site:
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה int rand(void);
Tirgul 12 Trees 1.
Formal Specifications for Complex Systems (236368) Tutorial #1
מבוא למדעי המחשב סיבוכיות.
SQL בסיסי – הגדרה אינדוקטיבית
Data Structures, CS, TAU, Splay Tree
בעיות נוספות ב-NPC.
Marina Kogan Sadetsky –
תרגול 11 NP complete.
NG Interpolation: Divided Differences
חזרה חלקית על תרגול 12 גרף G=(V,E)
Computer Programming תרגול 3 Summer 2016
Engineering Programming A
Presentation transcript:

שאלה 1 נתון כביש ישר עם תחנות דלק בנקודות , בנקודת המוצא נתונה מכונית עם תא דלק שמספיק ל-100 ק"מ. מחיר מילוי תא הדלק בתחנה קבוע ולא תלוי בכמות הדלק שממלאים. בהנחה שמחיר המילוי זהה בכל תחנות הדלק, תארו אלגוריתם שמחשב את העלות המינימאלית של נסיעה מ ל . (עלות נסיעה מוגדרת להיות סכום מחירי מילוי הדלק במהלך הנסיעה.) תארו אלגוריתם לבעיה הממושקלת שבה מחיר מילוי הדלק משתנה בין התחנות. אפשר להניח שקיימת סדרת עצירות חוקית דוגמא 100 מטר אפשרות 1: מחיר - 5 אפשרות 1: מחיר - 4

פתרון נניח שהסדרה היא סדרה חוקית של עצירות בגודל מינימלי. נשים לב שאז גם הסיפא שלה היא סדרה חוקית בגודל מינימלי כאשר הפעם המסלול מתחיל ב . לכן, אם נוכל למצוא את העצירה הראשונה, נשאר עם אותה בעיה עבור קלט קטן יותר. טענה: יהי m האינדקס המקסימלי כך ש , אז קיימת סדרת עצירות חוקית באורך מינימלי, כך שהעצירה הראשונה תהיה ב הוכחה: נסמן ב סדרת עצירות חוקית באורך מינימלי, אז ולכן נניח ש j הוא האינדקס הראשון בסדרה כך ש , אז הסדרה תהיה סדרת עצירות חוקית כי וגם . שאר העצירות חוקיות בגלל שהן היו חוקיות בסדרה המקורית. לבסוף, בגלל ש אז j הוא לפחות 2 ולכן אורך הסדרה הוא לכל היותר i , כלומר אורכה הוא מינימלי.

אלגוריתם אתחל רשימה T עם כל עוד אם אם החזר שאין רשימת עצירות חוקית אחרת, הוסף את לסוף הרשימה T אחרת הוסף את לרשימה T החזר את T סיבוכיות: אתחול האלגוריתם לוקח זמן קבוע ואילו הלולאה מתבצעת פעמים, כאשר כל איטרציה מתבצעת בזמן ולכן סה"כ מקבלים סיבוכיות זמן של נשים לב שהנחנו שקיבלנו את נקודות העצירה מסודרות.

הבעיה הממושקלת: בנוסף לנקודות העצירה, נתונים לנו מחירים כאשר המחיר הוא המחיר של מילוי הדלק בתחנה עבור . המטרה היא למצוא את התת סדרה המקיימת לכל והערך שלה הוא מינימלי (לא מחשיבים את התחנה האחרונה לצורך מילוי דלק). נשים לב שמחפשים מינימום עבור סכום של מספרים. בנוסף, רוצים שהתחנות בסדרת עצירות יובילו מהתחנה הראשונה לתחנה בעיה זו מאוד דומה לבעיית מציאת מסלול קל ביותר, ולכן נחפש רדוקציה של הבעיה הזאת, לבעיית מציאת מסלול קל ביותר בין שני צמתים. פתרון:

נתחיל ע"י הגדרת הגרף G כך שהצמתים שלו יהיו התחנות במסלול. הבעיה הממושקלת: נתחיל ע"י הגדרת הגרף G כך שהצמתים שלו יהיו התחנות במסלול. הקשתות בגרף יהוו את התנאי שהתחנות (המתאימות לשני צמתים) במרחק של לכל היותר 100. את המשקלות על הקשתות ניתן בהתאם למחיר שנצטרך לשלם בתחנה. דוגמא: 50 100 120 140 230 10 20 15 30

הבעיה הממושקלת: עתה נוכל לפתור בעיה זו ע"י אלגוריתם למציאת מסלול קצר ביותר. מאחר והמשקלות חיוביים, אז ע"י דייקסטרא נמצא מסלול קצר ביותר בסיבוכיות האם ניתן לפתור בסיבוכיות טובה יותר? נשים לב שכל צומת יכול להיות מעודכן רק ע"י צמתים שנמצאים לפניו בסדר הלינארי. בעצם נתון לנו סידור טופולוגי של הצמתים ולכן נוכל להשתמש בסידור הזה על מנת להגיע לסיבוכיות טובה יותר.

אלגוריתם לכל צומת v בצע עבור ועד מצא מתוך את הצומת כך ש מינימלי החזר את סיבוכיות: אתחול האלגוריתם נעשה בסיבוכיות . לכל צומת הפעולה 3.1 מתבצעת פעמים. הפעולה 3.2 מתבצעת סה"כ סיבוכיות היא כאשר במקרה הכללי ביותר, יכול להיות ש ולכן הסיבוכיות היא . במקרה זה הסיבוכיות לא יותר טובה מזו של דייקסטרא, אבל אם אז אלגוריתם זה יעיל יותר.

וריאציה של השאלה נניח שנתון עתה שמחיר התדלוק בכל תחנה תלוי בכמות הדלק שמתדלקים. כלומר, אם צריך לתדלק ליטרים, בתחנה אז משלמים שקלים. בנוסף, בכל תחנה צריך למלא את מיכל הדלק עד הסוף, כולל בתחנה האחרונה. מה יהיה המחיר המינימאלי אם לכל תחנה (כמו בשאלה הראשונה)? מה יהיה המחיר המינימאלי עבור שונים (כמו בשאלה השנייה)? מה קורה אם מורידים את התנאי שצריך למלא את המיכל לגמרי בכל תחנה?

נתון גרף G סופי, פשוט ומכוון אשר כל קשת בו צבועה בכחול או אדום. שאלה 2 נתון גרף G סופי, פשוט ומכוון אשר כל קשת בו צבועה בכחול או אדום. הציעו אלגוריתם יעיל ככל שתוכלו, שבהינתן צמת s מחליט לכל צמת v בגרף האם יש מסלול (לא בהכרח פשוט) מ-s ל-v שמכיל לכל היותר שלוש קשתות אדומות. הציעו אלגוריתם יעיל ככל שתוכלו שבהינתן צמת s מחליט לכל צמת v בגרף האם יש מסלול (לא בהכרח פשוט) מ-s ל-v שלכל היותר שליש מהקשתות בו אדומות. כלומר, קיים מסלול שמכיל k קשתות כך שלכל היותר k/3 מתוכן אדומות. ניתן להניח שאפשר להגיע מ s לכל צומת אחר בגרף. רמז: הציבו משקלים מתאימים בקשתות שאלה 2 שאלה דומה לזו ראיתם בשיעורי בית. עבור שאלה 2, ישנו פתרון המשתמש בהכפלת הגרף כמו בשאלה הראשונה. במקום זאת נשתמש בשיטה שונה על מנת לפתור בעיה זו.

ננסה לכתוב את התנאי הזה כמו למעלה ונקבל שאלה 2 נשים לב תחילה, שעבור מסלול , ניתן לרשום את האורך שלו ע"י המטרה שלנו היא למצוא האם קיים מסלול כך ש ננסה לכתוב את התנאי הזה כמו למעלה ונקבל לכן, אם ניתן משקלות לקשתות כך שמשקל קשת אדומה יהיה ועבור קשת כחולה המשקל יהיה , אז נקבל שהמסלול מכיל לכל היותר שליש קשתות אדומות אמ"מ . את הבעיה הזאת נוכל לפתור באמצעות אלגוריתם למציאת מסלול במשקל מינימאלי. אם המסלול המינימאלי הוא ממשקל לכל היותר אפס, אז קיים מסלול עם לכל היותר שליש קשתות אדומות. מצד שני אם קיים מסלול עם לכל היותר שליש קשתות אדומות, אז המשקל שלו יהיה לכל היותר אפס, ולכן גם המסלול המינימאלי יהיה לכל היותר אפס.

לכן נוכל למצוא ב את אורך המסלול הקצר ביותר מ לכל צומת אחר. שאלה 2 מאחר ויש קשתות עם משקלים שליליים, נצטרך להריץ את אלגוריתם בלמן פורד על מנת למצוא מסלול קצר ביותר. לכן נוכל למצוא ב את אורך המסלול הקצר ביותר מ לכל צומת אחר. אבל... אלגוריתם בלמן פורד נכון רק אם אין מעגלים שליליים בגרף. איך ניתן לשנות את האלגוריתם כדי שנוכל להשתמש בו בבעיה זו? נשים לב שמעגלים שליליים הם "טובים" עבור הבעיה שלנו. נצטרך, אם כך, למצוא את כל הצמתים שקיים מסלול אליהם שעובר דרך מעגל במשקל שלילי. לצמתים כאלו בהכרח יהיה מסלול (לא בהכרח פשוט) עם משקל שלילי, ולכן קיים מסלול עם פחות משליש קשתות אדומות. צמתים שלא קיים מסלול עבורם העובר דרך מעגל במשקל שלילי, אז פונקצית המרחק עבורם מוגדרת היטב

נסמן את צמתי המעגל ע"י (ומפשטות ) אז סימון: נסמן ב את הפונקציה המחושבת ע"י אלגוריתם בלמן פורד באיטרציה ה i טענה 1: נתונה הרצה של בלמן פורד על גרף מכוון G. אם C מעגל במשקל שלילי פשוט, אז אם מבצעים n איטרציות נוספות של שיפורים על הקשתות, אז לכל צומת במעגל יתקיים ש הוכחה: נסמן את צמתי המעגל ע"י (ומפשטות ) אז

סימון: נסמן ב את כל הצמתים המקיימים נשים לב שאם עבור צומת v לא קיים מסלול מ s העובר דרך מעגל עם משקל שלילי, אז פונקצית המרחק מוגדרת היטב ולכן נשארת קבועה עבור לכן אם אז בהכרח קיים מסלול מ s המגיע אליו ועובר במעגל שלילי. נגדיר עכשיו גרף חדש ע"י איחוד של הצמתים לצומת בודד . נריץ BFS מצומת זה.

נניח ש נמצא בעץ הזה. לכן קיים , כך שיש מסלול , בגרף המקורי ממנו אל . טענה 2: הצמתים בעץ שנוצר השונים מ הם בדיוק הצמתים ב שיש אליהם מסלול העובר במעגל ממשקל שלילי בגרף המקורי. הוכחה: נניח ש נמצא בעץ הזה. לכן קיים , כך שיש מסלול , בגרף המקורי ממנו אל . מאחר ו אז קיים w על מעגל שלילי ומסלול מ w אל u . לבסוף המשקל של w שונה מאינסוף ולכן קיים מסלול מ s אל w. שרשור המסלולים הללו יתן לנו מסלול מ s אל v העובר בצומת השייך למעגל שלילי. אם לעומת זאת v הוא צומת, אשר קיים מסלול מ s אליו העובר ב u השייך למעגל שלילי, אז ולכן קיים מסלול מ אל v בגרף החדש.

טענה 2: הצמתים בעץ שנוצר השונים מ הם בדיוק הצמתים ב שיש אליהם מסלול העובר במעגל ממשקל שלילי בגרף המקורי. V u U w מעגל במשקל שלילי S שימו לב שיכול להיות ש S שייך ל U

אלגוריתם: הרץ את אלגוריתם בלמן פורד במשך 2n איטרציות ומצא את צור את הגרף הרץ BFS החל מהצומת אתחל את לכל צומת אם הצומת נמצא בעץ BFS או ב אז אחרת, אם אז החזר את סיבוכיות: הרצת בלמן פורד לוקחת (גם 2n איטרציות). יצירת הגרף החדש הרצת BFS . הלולאה ב (5) מתבצעת . לכן סה"כ סיבוכיות זמן ריצה תהיה

שאלה 3: סעיף א: נתון האלגוריתם הבא למציאת עפ"מ: בחר צומת אקראי , הסר אותו ואת כל הקשתות הנוגעות בו מהגרף. - מצא עפ"מ (או עפמ"ים אם הגרף הנותר לא קשיר) לצמתים הנותרים באופן רקורסיבי. - חבר את הצומת לכל אחד מהעפ"מים שהתקבלו רקורסיבית באמצעות הקשת הקלה ביותר המחברת בין לעפ"מ. הוכח או הפרך: האלגוריתם הנ"ל תמיד מחזיר עפ"מ.

איפה יכולה להיות בעיה באלגוריתם? לאחר שיצרנו את העפ"מים הנוספים בגרף המושרה ע"י , ישנה בדיוק קשת אחת המחברת כל עפ"מ כזה לצומת . לכן, נרצה לבנות גרף עבורו לאחד העפ"מים הללו, חייבות להיות שתי קשתות לפחות המחוברות ל דוגמא: 10 1 10 10 1

שאלה 3: סעיף ב: נתון גרף פשוט לא מכוון , פונקצית משקל ועץ פורש מינימום לפי פונקצית המשקל הנ"ל. בנוסף נתונה קבוצת קשתות כלשהן שאינן ב- כך שעבור כל קשת בקבוצה Q מתקיים: במסלול בין ל- ב- יש קשת שמשקלה זהה למשקל (כלומר ). הוכח או הפרך: כל עץ פורש בגרף הינו עפ"מ.

תזכורת: אם נתון לנו עץ וקשת שאינה בעץ, ובנוסף נתון שקיימת קשת במסלול המחבר את ל כך ש אז הוא עץ ומתקיים ש לא! האם זה גורר שהטענה נכונה? ההבדל בין הטענה לתזכורת הוא שבתזכורת הוספנו בדיוק קשת אחת לעץ. יכול להיות שקיימות שתי קשתות כך שהקשת בעץ המתאימה להן היא אותה קשת דוגמא: 1 10 1 10

שאלה 3: סעיף ג: נתון גרף פשוט לא מכוון ופונקצית משקל . בנוסף נתונה קשת . הציעו אלגוריתם יעיל ככל שתוכלו המחשב את העץ הפורש במשקל מינימאלי המכיל את e. (כלומר עץ פורש במשקל הכי קטן מבין כל העצים הפורשים המכילים את e.) הוכיחו נכונות ונתחו סיבוכיות. פתרון: היינו רוצים להריץ את אחד מהאלגוריתמים למציאת עפ"מ שאנו כבר מכירים ולהכריח אותו לקחת את הקשת דרך ראשונה היא להקטין את המשקל של כך שהוא יהיה קטן מכל שאר המשקלות בגרף. נשים לב שזה משנה את משקל העפ"מ, אך זה לא ישנה את היחס בין שני עפ"מים המכילים את

נסמן . נגדיר פונקצית משקל חדשה הזהה ל בכל הקשתות פרט ל שם היא נשים לב שבעזרת הפונקציה החדשה נקבל שהמשקל של הוא קטן ממש מכל שאר הקשתות ולכן נקבל את הטענה הבאה טענה 1: הקשת נמצאת בכל עפ"מ בפונקצית המשקל החדשה הוכחה: נבחר חתך כלשהו המכיל את הקשת. מאחר והמשקל שלה קטן ממש מכל המשקלות של שאר הקשתות, אז זה נכון בפרט לחתך הזה, ולכן לפי הכלל הכחול הקשת חייבת להיות בכל עפ"מ בפונקצית המשקל החדשה. טענה זו מראה שניתן להסתכל על עפ"מים בפונקצית המשקל החדשה. נראה עתה שהכיוון השני גם נכון, כלומר מספיק להסתכל רק על העפ"מים בפונקצית המשקל החדשה.

סימון: נסמן ב את קבוצת העצים הפורשים המכילים את הקשת . טענה 2: אם הוא עץ פורש מינימלי בקבוצה , אז הוא עפ"מ בפונקצית המשקל החדשה. הוכחה: נניח ש T הוא עץ כנ"ל ונניח בשלילה שקיים עפ"מ בפונקצית המשקל החדשה, כך ש . לפי הטענה הקודמת, מתקיים ש ולכן . אבל גם ולכן . מאחר ששני העצים מכילים את אז שניהם נמצאים ב ולכן ממינימליות של מתקיים ש וקיבלנו סתירה.

משתי הטענות הנ"ל מקבלים שעץ פורש במשקל מינימאלי המכיל את בפונקצית המשקל הרגילה, הוא עפ"מ בפונקצית המשקל החדשה. מצד שני, עפ"מ בפונקצית המשקל החדשה חייב להכיל את וע"י הסבר דומה לטענה הקודמת מקבלים שהוא במשקל מינימאלי מבין לכן בעית מציאת עפ"מ המכיל את עברה להיות בעיית מציאת עפ"מ בפונקצית המשקל החדשה. אלגוריתם: הגדר את פונקצית המשקל החדשה הרץ אלגוריתם למציאת עפ"מ T לפי פונקצית המשקל החדשה החזר את T סיבוכיות: ההגדרה של פונקצית המשקל החדשה, ניתן לעשות ב כי צריך לחפש את המשקל המינימלי. לאחר מכן ניתן להריץ את אלגוריתם Prim בזמן מכאן שסה"כ סיבוכיות זמן ריצה תהיה

שיטה שניה: ניצור גרף חדש ובו נאחד את שני הצמתים כך ש ונסמן את הצומת החדש ב . נריץ עתה אלגוריתם למציאת עפ"מ בגרף החדש כדי לקבל את . ניצור עתה את העץ ע"י הרחבת הצומת חזרה לשני הצמתים המקוריים והוספת הקשת בינהם. נשים לב שבעצם שיטה זו היא מקרה פרטי של השיטה הקודמת. אם מריצים את אלגוריתם Kruskel אז באיטרציה הראשונה האלגוריתם יאחד את שני הצמתים לעץ בודד. אם מריצים את אלגוריתם Prim כאשר השורש של העץ נבחר להיות אחד מהצמתים הנ"ל, אז גם פה באיטרציה הראשונה, האלגוריתם יאחד את שני הצמתים לעץ. מכאן שהנכונות נובעת מנכונות השיטה הקודמת. סיבוכיות: כדי לאחד את שני הצמתים צריך ליצור את הגרף החדש, ואת זה ניתן לעשות ב לכן גם הפעם נקבל שהסיבוכיות תהיה סיבוכיות האלגוריתם למציאת עפ"מ.