לדלג לתוכן

מבני נתונים ואלגוריתמים - מחברת קורס/שיעורי בית 11/שאלות

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי


יחסי המרה
שקל דולר דינאר דונג
שקל 1 0.2 100
דולר 4.5 1 3 10000
דינאר 0.2 1 1000
דונג 0.001 0.00009 0.0009 1

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




דוגמה:

בטבלה שמשמאל:

  1. ניתן להמיר שקל ל דולר.
  2. ניתן להמיר דולר ל שקל.
  3. אי אפשר להמיר ישירות שקל לדינאר.



הגדרה:

נאמר שקיים ארביטראז' אם קיימת סדרת המרות שמסתיימת ברווח חד-משמעי.




דוגמה:

בטבלה שמשמאל, נניח שאנו מתחילים עם שקל.

  1. נמיר את השקל ל דולר.
  2. נמיר את הדולר ל דונג.
  3. נמיר את הדונג ל שקלים.

הכפלנו את כספנו!


אנא מצא אלגוריתם יעיל המוצא האם בטבלת המרות כלשהי קיים ארביטראז'.


רמז:

השתמש בזהות הידועה .

נניח שברשת השיורי יש מסלול משפר. אנא הוכח בצורה מדויקת שאפשר להגדיל את הזרימה.


שימו לב:

שים לב שאתה אכן מוכיח את טענתך. השתמש בהגדרות הזרימה החוקית וגודל הזרימה.

שאלה זו מובילה משיטת Ford-Fulkerson לאלגוריתם Ford-Fulkerson.


הגדרה: שיטת Ford-Fulkerson

בהינתן רשת הזרימה:

  1. ראשית קבע את זרימת האפס (כלומר הזרימה המשייכת לכל קשת זרימה 0). (זו בוודאי זרימה חוקית.)
  2. כל עוד יש מסלול משפר ברשת השיורית, שפר את הזרימה דרך מסלול זה.

נתונה רשת זרימה שבה גרף .


הגדרה:

  1. נאמר שרשת זרימה היא שלמה אם הקיבול הוא מספר שלם לכל .
  2. נאמר שזרימה היא שלמה אם הזרימה היא מספר שלם לכל .
  1. נתונה רשת זרימה שלמה. האם כל זרימה מירבית היא בהכרח שלמה? אנא הוכח או הראה דוגמה נגדית.
  2. אנא הראה ששיטת Ford-Fulkerson פועלת מספר סופי של איטרציות במקרה של רשת זרימה שלמה.
  3. בהנתן רשת זרימה שלמה, האם בהכרח קיימת זרימה מירבית שהיא שלמה? אנא הוכח או הראה דוגמה נגדית.

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

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


.
.

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

נתון מערך רצון התעסוקה W, שבו זוגות. אם הזוג (i, j) מופיע בW, אז המשמעות היא שסטודנט מוכן לעבוד בחברה , וחברה מוכנה להעסיק את סטודנט . כמו כן, נתון מערך פוטנציאל ההעסקה P, שבו מספרים שלמים. P[j] מתאר את מספר המשרות הפנויות בחברה .

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

  1. אם הזוג (i, j) מופיע בW', אז הוא גם מופיע בW.
  2. אם הזוג (i, j) מופיע בW', אז אין זוג אחר בW' שאברו הראשון .
  3. מספר הזוגות מהצורה (i, j) בW' בעלי אותו , הוא לכל היותר .