מבחן באלגוריתמים, מועד ב`

‫מס‪ .‬מחברת‬
‫ת‪.‬ז‪.‬‬
‫מבחן באלגוריתמים‪ ,‬מועד ב'‬
‫סמסטר א' תשע"ד‪ ,‬אוניברסיטת תל־אביב‬
‫מרצה‪ :‬פרופ' עמוס פיאט‬
‫מתרגלים‪ :‬שי ורדי‪ ,‬אילן כהן‬
‫משך הבחינה‪ :‬שלוש שעות‪.‬‬
‫חומר עזר מותר‪ :‬דף ‪ A4‬אחד‪ ,‬כתוב משני הצדדים‪.‬‬
‫במבחן ‪ 5‬שאלות‪ .‬יש לענות על כולן‪.‬‬
‫• תשובות נכונות ומלאות על ‪ 4‬מהשאלות יזכו אותך ב־‪ 90‬נקודות‪ ,‬ותשובות נכונות ומלאות על‬
‫כל השאלות ב־‪ 100‬נקודות‪.‬‬
‫• על התשובה לכל שאלה להופיע במסגרת המתאימה‪ .‬יש להשתדל לקצר בהסברים ולא לחרוג‬
‫מן המסגרות שהוקצו להם‪.‬‬
‫• מחברת הבחינה משמשת כטיוטא בלבד ולא תיבדק‪ ,‬אך יש להגישה עם המבחן‪.‬‬
‫• ודאו היטב את תשובתכם לפני כתיבתה בטופס המבחן‪ .‬בסוף הטופס מצורף זוג מסגרות נוסף‪,‬‬
‫לשימוש במקרי "חירום"‪.‬‬
‫• התשובה לכל שאלה העוסקת באלגוריתם צריכה להיות יעילה ככל האפשר‪ ,‬ומלווה בהסבר‬
‫מתאים‪.‬‬
‫• בכל השאלות המתייחסות לגרפים‪ ,‬אם לא מצוין אחרת‪ ,‬הכוונה לגרף פשוט )בלי לולאות ובלי‬
‫קשתות מקבילות(‪ .‬בנוסף‪ ,‬אם לא מצוין אחרת‪ ,‬כל גרף מיוצג ע"י רשימת שכנויות‪.‬‬
‫ניקוד‬
‫שאלה‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫‪4‬‬
‫‪5‬‬
‫סה"כ‬
‫בהצלחה!‬
‫‪1‬‬
‫מס‪ .‬מחברת‬
‫ת‪.‬ז‪.‬‬
‫∈ ‪ u, v‬צמתים שונים‪ .‬תארו אלגוריתם יעיל‬
‫‪ .1‬יהא )‪ G(V, E‬גרף מכוון‪ ,‬יהיו ‪/ U ,U ⊆ V‬‬
‫ככל האפשר שייקבע האם יש מסילה בגרף מ‪ u−‬ל‪ v−‬שאינה מכילה שלושה צמתים‬
‫עוקבים של ‪ ,U‬ואם יש כזו‪ ,‬ימצא כזו שמספר קשתותיה מינימאלי‪.‬‬
‫יעילות‪:‬‬
‫אלגוריתם והסבר‪:‬‬
‫‪2‬‬
‫מס‪ .‬מחברת‬
‫ת‪.‬ז‪.‬‬
‫‪.‬‬
‫‪ .2‬יהא )‪ G(V, E‬גרף פשוט‪ ,‬קשיר לא מכוון‪ ,‬עם משקלים שלמים חיובים על הקשתות‬
‫כאשר כאן ‪ |V | = n‬ו־ ‪ E = {e1 , e2 , . . . , em } .|E| = m‬ומשקל הקשת ‪ ei‬נתון ע"י‬
‫‪i2‬‬
‫‪c‬‬
‫‪ .w(ei ) = 5 + b 10‬הקשתות נתונות בסדר ממויין‪ .‬תארו אלגוריתם יעיל ככל האפשר‬
‫שימצא את הקשתות ‪ ei‬שמוכלות באיזה שהוא עץ פורש מינימאלי של ‪ ,G‬זאת אומרת‪,‬‬
‫ימצא את הקבוצה הבאה‪} :‬קיים עץ פורש מינימאלי של ‪ G‬שמכיל את ‪.{ei |1 ≤ i ≤ m, ei‬‬
‫סיבוכיות‪:‬‬
‫אלגוריתם והסבר‪:‬‬
‫‪3‬‬
‫מס‪ .‬מחברת‬
‫ת‪.‬ז‪.‬‬
‫‪ .3‬נתונה מטריצה ‪ A = (ai,j )nXn‬כשכל ‪ ai,j‬שלם אי שלילי‪ ,‬ונתונים מספרים שלמים‬
‫‪ r1 , r2 , . . . , rn‬ו ‪ .c1 , c2 , . . . , cn‬תארו אלגוריתם יעיל ככל האפשר שייקבע אם יש‬
‫מטריצה ‪ B = (bi,j )nXn‬של מספרים שלמים המקיימים ‪ 0 ≤ bij ≤ aij‬לכל ‪ i, j‬וכן‬
‫‪n‬‬
‫‪n‬‬
‫‪X‬‬
‫‪X‬‬
‫לכל ‪.1 ≤ j ≤ n‬‬
‫לכל ‪ ,1 ≤ i ≤ n‬וכן ‪bij = cj‬‬
‫‪bij = ri‬‬
‫‪i=1‬‬
‫‪j=1‬‬
‫סיבוכיות‪:‬‬
‫אלגוריתם והסבר‪:‬‬
‫‪4‬‬
‫מס‪ .‬מחברת‬
‫ת‪.‬ז‪.‬‬
‫הערך‬
‫‪ .4‬יהא )‪ G(V, E‬גרף לא מכוון‪ ,‬תארו אלגוריתם מבוסס תכנות לינארי שיחשב את‪X‬‬
‫יש‬
‫המירבי ‪ ,T‬כך שלכל משקלים אי שלילים על הקשתות המקיימים ‪w(e) = 1‬‬
‫‪e∈E‬‬
‫‪X‬‬
‫‪.‬‬
‫צומת ‪ v ∈ V‬המקיים ‪w(e) ≥ T‬‬
‫‪v∈e‬‬
‫אלגוריתם והסבר‪:‬‬
‫‪5‬‬
‫מס‪ .‬מחברת‬
‫ת‪.‬ז‪.‬‬
‫‪ .5‬נתונות ‪ m‬פונקציות ‪ ,f1 , f2 , . . . , fm : {0, 1, . . . , m} → Z +‬תארו אלגוריתם יעיל ככל‬
‫‪m‬‬
‫‪X‬‬
‫עבורם הערך‬
‫האפשר שיימצא ערכים שלמים ‪ xi ≥ 0‬שסכומם מקיים ‪xi ≤ m‬‬
‫) ‪fi (xi‬‬
‫‪m‬‬
‫‪X‬‬
‫‪i=1‬‬
‫הוא מקסימאלי‬
‫‪i=1‬‬
‫סיבוכיות‪:‬‬
‫אלגוריתם והסבר‪:‬‬
‫‪6‬‬
‫ת‪.‬ז‪.‬‬
‫מסגרת חירום לשאלה מספר‬
‫מס‪ .‬מחברת‬
‫‪:‬‬
‫‪7‬‬
‫ת‪.‬ז‪.‬‬
‫מסגרת חירום לשאלה מספר‬
‫מס‪ .‬מחברת‬
‫‪:‬‬
‫‪8‬‬