Professional Documents
Culture Documents
Https:/moodle2.cs - Huji.ac - Il/nu22/pluginfile - Php/449332/mod Resource%2
Https:/moodle2.cs - Huji.ac - Il/nu22/pluginfile - Php/449332/mod Resource%2
( .1זרימה מקסימלית) יהי 𝑁 ∈ 𝑛 ותהי ]𝑛[ → ]𝑛[ 𝜋:תמורה (פונקציה חח"ע ועל מקבוצה לעצמה) .בהנתן קבוצה
]𝑛[ × ]𝑛[ ⊆ 𝐴 נאמר שהתמורה 𝜋 היא חוקית ביחס ל 𝐴-אם:
𝐴 ⊆ }𝑛 {(𝑖, 𝜋(𝑖))|𝑖 = 1, … ,
.1הציעו אלגוריתם יעיל אשר בהינתן הזוג )]𝑛[ × ]𝑛[ ⊆ 𝐴 (𝑛,מחזיר האם קיימת תמורה חוקית או לא ,כלומר
האם קיימת תמורה 𝜋 כך שמתקיים 𝐴 ⊆ }𝑛 .{(𝑖, 𝜋(𝑖))|𝑖 = 1, … ,
.2הוכיחו את נכונות האלגוריתם לבעיית ההכרעה הנתונה.
.3נתחו את זמן הריצה של האלגוריתם (שימו לב שזמן הריצה צריך להיות מבוטא כתלות בנתונים לבעיה
המקורית(.
( .2זרימה מקסימלית) למנהל המופעים יש צוות של 𝑛 זמרים ו 𝑚-נגנים .לכל זמר ולכל נגן יש רשימת ערים שהוא
מוכן להופיע בהן ביום העצמאות .בכדי שהופעה תתקיים ,יש צורך גם בזמר וגם בנגן .מנהל המופעים רוצה למקסם
את מספר האירועים ביום העצמאות.
נתונות 𝑘 ערים }𝑘 ,{1, … ,וכמו כן לכל זמר }𝑛 𝑖 ∈ {1, … ,ונגן }𝑚 𝑗 ∈ {1, … ,נתונות רשימות הערים בהם הם
מוכנים להופיע ,נסמנן ]𝑘[ ⊆ 𝑖𝑠 ו 𝑝𝑗 ⊆ [𝑘]-בהתאמה .הציעו אלגוריתם הממקסם את מספר הערים שיכולות
לקיים הופעות בו זמנית ,ומחזיר כפלט את רשימת הערים הללו .הוכיחו את נכונות האלגוריתם ונתחו את זמן הריצה
שלו.
( .3זרימה מקסימלית) מזכירות ביה"ס להנדסה מתכננת את תקופת המבחנים הקרבה .לשם כך ,לכל קורס בפקולטה על
המזכירות למצוא כיתה פנויה שיכולה להכיל את כמות הסטודנטים בקורס המתאים ,ודודה לניהול הבחינה בקורס,
כאשר כל דודה יכולה לנהל בחינה אחת בזמן נתון ,ולכל היותר 5בחינות בתקופת הבחינות .אם כך ,הקלט לבעיה
הוא:
𝑛𝑠 – 𝑆 = 𝑠1 , … . ,כאשר 𝑖𝑠 מייצג את כמות הסטודנטים בקורס ה,i-
𝑚𝑐 – 𝐶 = 𝑐1 , … . ,כאשר 𝑖𝑐 מייצג את כמות הנבחנים שהכיתה ה i-יכולה להכיל,
𝑟𝑡 – 𝑇 = 𝑡1 , … . ,זמנים אפשריים לניהול בחינה,
𝑝𝑑 – 𝐷 = 𝑑1 , … . ,כאשר לכל דודה 𝑖𝑑 נתון 𝑇 ⊆ 𝑖𝑇 הזמנים בהם הדודה פנויה ויכולה לנהל בחינה .בנוסף כל
דודה יכולה לנהל לכל היותר 5בחינות ,אך בחינה אחת בכל זמן נתון.
הפלט לבעיה הוא רשימה של (כיתה ,זמן ,דודה) עבור כל קורס בפקולטה .במידה ולא ניתן למצוא סידור כזה ,עליכם
להחזיר כי לא קיים סידור אפשרי.
תארו אלגוריתם הפותר את הבעיה ,הוכיחו את נכונותו ונתחו את זמן הריצה שלו.
(חתך מינימלי) תהי )𝑡 𝑁 = (𝑉, 𝐸, 𝑐, 𝑠,רשת זרימה .יהיו ) (𝑆 ′ , 𝑇 ′ו (𝑆 ′′ , 𝑇 ′′ )-שני חתכים מינימליים ברשת זו. .5
הוכיחו כי גם ) (𝑆 ′ ∩ 𝑆 ′′ , 𝑇 ′ ∪ 𝑇 ′′מהווה חתך מינימלי ברשת הנתונה.
(חתך מינימלי) תהי )𝑡 𝑁 = (𝑉, 𝐸, 𝑐, 𝑠,רשת זרימה עם קיבולים טבעיים (כלומר .)𝑐: 𝐸 → 𝑁 ,בהנתן אלגוריתם .6
שמוצא חתך מינימלי ברשת ,תארו אלגוריתם המוצא חתך מינימלי ברשת בעל מספר קשתות מינימלי גם כן .הוכיחו את
נכונות האלגוריתם ונתחו את זמן הריצה שלו .רמז :לפתרון השאלה אין צורך לשנות את מבנה הגרף ,מספיק לשנות את
קיבולי הצלעות.