אלגוריתמים
תרגיל בית 5
להגשה עד 18בינואר
הנחיה כללית :בכל שאלה בה אתם מציגים אלגוריתם ,יש להוכיח נכונות ולנתח את זמן הריצה .ניתן להסתמך על טענות
שהוכחו בכיתה.
.1נתונה רשת זרימה ) G = (V, Eמ s-ל t-עם קיבולים שלמים .ידוע כי הקשת e∗ ∈ Eהינה הקשת היחידה בעלת קיבול
אי־זוגי ,וכן כי ערך הזרימה המקסימלית אי־זוגי אף הוא .הוכיחו או הפריכו :הקשת ∗ eרוויה בכל זרימה מקסימלית.
.2נתונה רשת זרימה ) G = (V, Eמ s-ל t-עם קיבולים שלמים ונתונה זרימה מקסימלית בה f : E → Zשחושבה ע"י
אלגוריתם .FordFulkersonתארו אלגוריתם יעיל לעדכון fבמקרים הבאים:
)א( מגדילים ב 1-את הקיבול של קשת מסוימת .e∗ ∈ E
)ב( מקטינים ב 1-את הקיבול של קשת מסוימת .e∗ ∈ E
.3נתונה רשת זרימה ) G = (V, Eמ s-ל t-ונתונה קשת .e ∈ E
)א( תארו אלגוריתם יעיל הבודק האם קיים חתך ) (s, tמקיבול מינימלי כך ש־ eחוצה אותו.
)ב( תארו אלגוריתם יעיל הבודק האם eחוצה כל חתך ) (s, tמקיבול מינימלי.
Sל k -חלקים זרים כאשר 1 .1 < k < n
.4נסמן } S = {1, 2, . . . , nותהיינה } {A1 , . . . , Ak } , {B1 , . . . , Bkשתי חלוקות של
תארו אלגוריתם יעיל לחישוב תת־קבוצה T ⊂ Sבת kאיברים החותכת את כל 2kהקבוצות )אם קיימת כזו(; כלומר,
לכל 1 ≤ i ≤ nמתקיים ∅ =.Bi ∩ T 6= ∅ ,Ai ∩ T 6
.5נתונות mמכונות ו n-משימות .עבור כל משימה iנתונה רשימה } Li ⊆ {1, . . . , mשל מכונות המסוגלות לבצעה,
P
ונסמן את סך ארכי הרשימות ב .N = ni=1 |Li |-עבור השמה של המשימות למכונות )קרי :כל משימה משוייכת
למכונה אחת בדיוק( ,נגדיר את העומס Wjשל מכונה jלהיות מספר המשימות שעליה לבצע ונגדיר את העומס הכללי
.W = max {Wj }mתארו אלגוריתם יעיל למציאת השמה הממזערת את העומס הכללי.
כj=1 -
.6נתון גרף לא מכוון ) .G = (V, Eתארו אלגוריתם יעיל המכוון את קשתות הגרף כך שלכל צומת דרגת יציאה לפחות 3
)או מודיע שלא ניתן לעשות זאת(.
.7נתונים גרף קשיר ולא מכוון ) ,G = (V, Eפונקצית משקל ,w : E → Rקשת ,e ∈ Eומספר שלם .k > 0תארו
אלגוריתם יעיל ככל האפשר שיקבע האם ניתן להסיר מן הגרף לכל היותר kקשתות ,כך שהקשת eתהיה שייכת לעץ
פורש מינימלי של הגרף שיתקבל.
רמז :מומלץ להשתמש באלגוריתם שראינו באחד מהתירגולים בנושא זרימה.
.8שי ואילן מחליטים לפרוש בשיא מחיי האקדמיה ולנסות להפיק סרט קולנוע .בידם רשימה } A = {a1 , a2 , ..., an
של שחקנים אשר מוכנים להשתתף בסרט .שחקן aiדורש שכר piעבור השתתפותו בסרט .בנוסף ,ישנה קבוצה
} B = {b1 , b2 , ..., bmשל משקיעים המעוניינים להשקיע בסרט .משקיע bjמוכן להשקיע בסרט מימון בשווי ,qjאבל
רק בתנאי שכל השחקנים האהובים עליו ישתתפו בסרט .נסמן ב Aj ⊆ A-את קבוצת השחקנים האהובים על משקיע
.bjתארו אלגוריתם ליהוק יעיל שימצא בחירת שחקנים ומשקיעים המניבה רווח הפקה )קרי :סך המימון שהתקבל פחות
עלויות השכר לשחקנים שהועסקו( מירבי.
רמז :הגדירו רשת זרימה והרהרו במשמעות קיבול החתך המינימלי.
1במילים אחרותBi = S ,
Sk
i=1
= Ai
Sk
i=1
ולכל .Ai ∩ Aj = Bi ∩ Bj = ∅ ,1 ≤ i < j ≤ k
© Copyright 2025