01/13 - Algorithms
Transcription
01/13 - Algorithms
מס' מחברת: ת.ז:. מבחן באלגוריתמים סמסטר א' תשע"ג ,מועד א' תאריך 31 :בינואר 2013 מרצה :פרופ' מיכה שריר מתרגלים :רני הוד ,שי ורדי משך הבחינה 3 :שעות. חומר עזר מותר :דף A4אחד ,כתוב משני הצדדים. במבחן 5שאלות .יש לענות על כולן. • תשובות נכונות ומלאות על 4מהשאלות יזכו אותך ב־ 90נקודות ,ותשובות נכונות ומלאות על כל השאלות ב־ 100נקודות. • על התשובה לכל שאלה להופיע במסגרת המתאימה .יש להשתדל לקצר בהסברים ולא לחרוג מן המסגרות שהוקצו להם. • מחברת הבחינה משמשת כטיוטא בלבד ולא תיבדק ,אך יש להגישה עם המבחן. • ודאו היטב את תשובתכם לפני כתיבתה בטופס המבחן .בסוף הטופס מצורף זוג מסגרות נוסף, לשימוש במקרי "חירום". • התשובה לכל שאלה העוסקת באלגוריתם צריכה להיות יעילה ככל האפשר ,ומלווה בהסבר מתאים. • בכל השאלות המתייחסות לגרפים ,אם לא מצוין אחרת ,הכוונה לגרף פשוט )בלי לולאות ובלי קשתות מקבילות( .בנוסף ,אם לא מצוין אחרת ,כל גרף מיוצג ע"י רשימת שכנויות. בהצלחה! 1 2 3 4 5 עמוד 1מתוך 9 מס' מחברת: ת.ז:. שאלה 1 נתון גרף לא מכוון ) .G = (V, Eתארו אלגוריתם יעיל לחישוב קבוצת הצמתים U ⊆ Vשנמצאים על איזשהו מעגל פשוט ב.G- )במילים אחרות ,לכל u ∈ Uיש מעגל פשוט כלשהו שעובר דרכו(. יעילות: אלגוריתם והסבר: עמוד 2מתוך 9 מס' מחברת: ת.ז:. שאלה 2 נתון גרף מכוון ) G = (V, Eעל קבוצת הצמתים } V = {v1 , v2 , . . . , vnעם פונקציית משקל w : E → Rוידוע שאין ב G-מעגלים שליליים ביחס ל .w-תארו אלגוריתם יעיל שמחשב ,לכל ,1 ≤ i < j ≤ nאת משקל המסלול הקל ביותר vi vjמבין המסלולים שלא עוברים באף אחד מבין הצמתים } .{vj+1 , vj+2 , . . . , vn )כמובן שאם לזוג i, jמסוים קבוצת המסלולים הנ"ל ריקה ,לא צריך לחשב מסלול זה(. יעילות: אלגוריתם והסבר: עמוד 3מתוך 9 מס' מחברת: ת.ז:. שאלה 3 ע"י מטריצה A ∈ Rm×n נתונה מערכת משוואות לינארית nעם mמשוואות ו n-נעלמים המוגדרת m ¯ ¯ ווקטור .b ∈ Rנאמר שוקטור x¯ ∈ Rהוא פתרון -מקורב של המערכת A, bאם מתקיים ! m = x − ¯b i i=1 ¯x − ¯b∞ = max A ¯. A הראו כיצד ניתן להשתמש בתכנות לינארי כדי לחשב פתרון מקורב טוב ביותר )דהיינו- ,מקורב עבור מינימלי(. ¯ )במילים אחרות ,אנו רוצים שהסטייה המקסימלית של רכיבי A¯xמאיברי bהמתאימים תהיה קטנה ככל האפשר(. הסבר: עמוד 4מתוך 9 מס' מחברת: ת.ז:. שאלה 4 נתונה רשת זרימה ) G = (V, Eעם קיבולים ,c : E → R+מקור sובור .tתארו אלגוריתם יעיל שמחשב ,בהנתן זוג קשתות ,e1 , e2 ∈ Eהאם קיים חתך מינימלי ברשת שמכיל בדיוק אחת משתי הקשתות .e1 , e2 יעילות: אלגוריתם והסבר: עמוד 5מתוך 9 מס' מחברת: ת.ז:. שאלה 5 לקראת הבחירות בדמוקרטיה קטנה במערב התיכון ,מתכנסים המועמדים של שתי הרשימות "אחדות־ משכננו" ו"התעסוקה" לצילום משותף .כל רשימה מורכבת מ n-מועמדים ,נסמנם a1 , a2 , . . . , an ו b1 , b2 , . . . , bn -בהתאמה ) a1הבכיר ביותר ו an -הזוטר ביותר; כך גם ברשימה השנייה( .בתמונה יעמדו 2nהמועמדים בשורה אחת ,ויש לקבוע את הסדר שלהם בכפוף להנחיות הבאות: • על־פי התקנון של מפלגת "אחדות־משכננו" ,אסור לפרסם תמונה בה מועמד עומד מימין למועמד בכיר ממנו )כלומר a1 ,צריך לעמוד הכי מימין ו an -הכי משמאל מבין ;(a1 , . . . , an • על־פי התקנון של מפלגת "התעסוקה" ,אסור לפרסם תמונה בה מועמד עומד משמאל למועמד בכיר ממנו )כלומר b1 ,צריכה לעמוד הכי משמאל ו bn -הכי מימין מבין ;(b1 , . . . , bn • לכל זוג סדור של מועמדים ) x, yלאו דווקא ממפלגות שונות( נתון סקר דעת קהל ,הקובע שאם xעומד בתמונה מייד לשמאלו של yאז ) L (x, yאנשים יעשו לה likeבפייסבוק .במילים אחרות ,עבור סדר c1 , c2 , . . . , c2nשל המועמדים יתקבלו בסה"כ ) L (c1 , c2 ) + L (c2 , c3 ) + · · · + L (c2n−1 , c2n לייקים .הטבלה Lנתונה מראש. תארו אלגוריתם יעיל שמחשב את סדר המועמדים כך שהתמונה תקבל מספר מירבי של לייקים. משמעות לערכי האלכסון; יתרה מזאת, הערה :בהסתכלות על Lכמטריצה ,2n × 2nשימו לב שאין Laa Lab אם נפרק את Lלארבעה בלוקים בגודל n × nכ"א Lba Lbb מעל האלכסון של ) Laaובהתאמה ,מתחת לאלכסון של (Lbbבגלל תקנוני המפלגות. = Lאז אין משמעות לערכים 8 9 דוגמא :עבור n = 2והקלט 7 ? 2 1 ? ? ? ? 3 5 ? 6 L = יש 6 = 42אופציות: 4 0 a2 , a1 , b1 , b2 → 6 + 2 + 7 a2 , b1 , a1 , b2 → 1 + 4 + 8 b1 , a2 , a1 , b2 → 3 + 6 + 8 a2 , b1 , b2 , a1 → 1 + 7 + 0 b1 , a2 , b2 , a1 → 3 + 9 + 0 b1 , b2 , a2 , a1 → 7 + 5 + 6 והאופטימלית מביניהן היא האחרונה )עם 18לייקים(. עמוד 6מתוך 9 מס' מחברת: ת.ז:. שאלה ) 5המשך( יעילות: אלגוריתם והסבר: עמוד 7מתוך 9 ת.ז:. מסגרת "חירום" לשאלה מספר מס' מחברת: ,סעיף : עמוד 8מתוך 9 ת.ז:. מסגרת "חירום" לשאלה מספר מס' מחברת: ,סעיף : עמוד 9מתוך 9