קובץ שאלות פתורות אביב 2102

Similar documents
קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות.

Depth-First Search DFS

אלגוריתמים 1 דפי עזר

תכנון אלגוריתמים, אביב 2010, תרגול מס' 7 סריקה לעומק, מיון טופולוגי, רכיבים קשירים היטב. time time 1

. s בנוסף, המרחק בקשתות על העץ מ- s לכל צומת ב- R הוא מינימאלי. נותן פיתרון ל: מציאת מסלול קצר ביותר מהמקור לכל צומת. גלוי צמתים ברי הגעה מהמקור.

הגדרה: משפחת עצים תקרא מאוזנת אם (n.h(t) = O(log

תרגול מס' 01 אלגוריתם דיניץ

מבוא לתכנות ב- JAVA תרגול 7

שאלה ) 1 מבחינה של פרופ' נוגה אלון ( G V עם משקלים על הקשתות, ונתון עץ פורש מינימלי של G. נניח

מבני נתונים תרגיל 4 פתרון

הקיטסיגול הרבחה יעדמל בלושמה גוחה

בעיית שיבוץ משימות.J כל משימה j J מאופיינת על הקלט: קבוצת משימות.t(j) s(j) וזמן סיום ידי זמן התחלה J J של משימות לא חופפות בזמן, הפלט: תת-קבוצה שהיא מ

עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא:

תרגול 8. Hash Tables

Practical Session No. 13 Amortized Analysis, Union/Find

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

סיכום מבני נתונים )שיעור( מרצה: אלכס סמורודניצקי. להערות: אמיר נווה

סיבוכיות זמן ריצה רדוקציות ושלמות ב- NP המחלקה P הגדרה: = המחלקה NP הגדרה: שפה סגירות שפות הגדרה: רדוקציה

מבני נתונים תרגיל 5 שאלות לגבי העבודה יש להעלות בפורום של הקורס או בשעות הקבלה של המרצה או המתרגל האחראיים על העבודה.

Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of

מכונת מצבים סופית תרגול מס' 4. Moshe Malka & Ben lee Volk

שאלות חזרה לקראת מבחן מפמ"ר אינטרנט וסייבר

יסודות מבני נתונים. תרגול :9 ערימה - Heap

חזרה, מיונים פולינה לוצקר

המבנה הגאומטרי של מידה

תוכן העניינים: פרק סדרות סיכום תכונות הסדרה החשבונית:... 2 תשובות סופיות:...8 סיכום תכונות הסדרה ההנדסית:...10

עצים ועצי חיפוש חומר קריאה לשיעור זה. Chapter 5.5 Trees (91 97) Chapter 13 Binary Search Trees ( )

טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי

A R E Y O U R E A L L Y A W A K E?

ANNEXURE "E1-1" FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA)

מבוא למחשב בשפת Matlab

ASP.Net MVC + Entity Framework Code First.

תצוגת LCD חיבור התצוגה לבקר. (Liquid Crystal Display) המערכת.

תרגול 11 תור עץ חיפוש בינארי

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5

מבוא לרשתות - תרגול מס' 11 Transparent Bridges

הקיטסיגול הרבחה יעדמל בלושמה גוחה

שנת לימודים סמסטר מועד ניתן בתאריך מרצה מתרגל שאלות. 0, 3 r. n ויהי : 2 איתי בארלי גרסה / /1/14 פרופ' אהוד לרר איתי בארלי. a.

סה"כ נקודות סה"כ 31 נקודות סה"כ 21 תוכן עניינים של פתרון המבחן. לולאת for )נתון אלגוריתם... מעקב, פלט

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

מושגים בסיסיים תלמידים והורים יקרים,

ניפוי שגיאות )Debug( מאת ישראל אברמוביץ

פתרון בעיות תכנון בגרף

הטכנולוגיה בחינוך ד ר קובי גל אוניברסיטת בן גוריון בנגב

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37

Hebrew Ulpan HEB Young Judaea Year Course in Israel American Jewish University College Initiative

פרק היררכי

מבוא למחשב בשפת פייתון

הצגת המשחק תלמידים משחקים סיום. פתיחה 12 min. min. min. min פתיחה. Copyright 2015

A JEW WALKS INTO A BAR: JEWISH IDENTITY IN NOT SUCH JEWISH PLACES

Patents Basics. Yehuda Binder. (For copies contact:

1. מספרים מרוכבים צורות אלגברית ווקטורית של מספרים מרוכבים. הוא זוג סדור. הגדרה 1.1. מספר מרוכב z של מספרים ממשיים. ו- y

4...Informed Search Strategies Partial Order Planning 29...Hierarchical Decomposition Reenforcement Learning 40...Unsupervised Learning

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

תרגול נושאי התרגול כעץ חיפוש בינארי : העץ הימני. Inorder(x) 1) if x NULL 2) then Inorder(left(x)) 3) print key[x] 4) Inorder(right(x))

מספר ת"ז: יש לסמן את התשובה הטובה ביותר בתשובון. לא יינתן ניקוד על סימון תשובה בטופס הבחינה או במחברת הבחינה.

Advisor Copy. Welcome the NCSYers to your session. Feel free to try a quick icebreaker to learn their names.

פרק מיון וחיפוש - לשם מה? הגדרה

P NP DTIME( nc ) :,A p B

םימתירוגלאו םינותנ ינבמ המירעו תינס, חמ רות רקצול הנילופ

תורת הקומפילציה

פתרון בעיית צביעת הגרפים בעזרת אלגוריתם גנטי ואלגוריתמי Beam-Search

Computer Structure. Exercise #1 יש להגיש את התשובות הסופיות על גבי טופס זה.

בוחן בתכנות בשפת C בצלחה

אוניברסיטת בן גוריון בנגב

Name Page 1 of 6. דף ט: This week s bechina starts at the two dots in the middle of


מספר השאלון: Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א נ ג ל י ת (MODULE F) ספרות )מילון הראפס אנגלי-אנגלי-ערבי(

תורשכ ירפס לכ ץבוק " ב י קלח יללכ רעש

כפתור רדיו בחירה בודדת מתוך רשימת אפשרויות

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

ãówh,é ËÓÉÔê ÌW W É Å t" Y w f É ËÓÉÑ É èw É f Ñ u ð NNM YóQ' ÌW W É Y ÉgO d óqk É w f ym Éd É u ð NNM ÌWNQMH uqo ð NNM ÌWNQMH

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי

Structural Vs. Nominal Typing

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

תאריך הבחינה: מבוא למדעי המחשב ד "ר פז כרמי פרופ' מייק קודיש ד "ר חן קיסר ד "ר צחי רוזן שם הקורס: מבוא למדעי המחשב מספר הקורס:

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון א' Corresponds with Module A (Without Access to Information from Spoken Texts) גרסה א'

THINKING ABOUT REST THE ORIGIN OF SHABBOS

מבחן מועד ב' אנא קיראו היטב את ההראות שלהלן:

מדריך למשתמש התקנה עצמית

תשואה לגודל ומקסום רווחים הביקוש לגורמי ייצור עודף היצרן

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

למבחן ביסודות מדעי המחשב דוגמא

קריאת גרפים. לצפייה בפתרון בווידאו לתרגילים שבחוברת, כנסו ל "קריאת גרפים" בשאלון 801 שבאתר 116

ASTM UL / FM / BS abesco

חוק זכויות הסוכן חוק חוזה סוכנות )סוכן מסחרי וספק(

Reflection Session: Sustainability and Me

אנגלית (MODULE E) בהצלחה!

שבות תחום מצוות עשה שזמן גרמא סמיכה תקיעה, שברים, תרועה. The אי ור of performing any מלאכה on Rosh HaShanah שופר in preparation of the

שאלון ו' הוראות לנבחן

SPSS 10.0 FOR WINDOWS

QUANTUM COMPUTATION. By Uri Kanonov

DNS פרק 4 ג' ברק גונן מבוסס על ספר הלימוד "רשתות מחשבים" עומר רוזנבוים 1

The Art of Rebuke. Source #1: Story of Kamtzah and Bar Kamtzah Talmud Gittin 55b-56a

BEAUTY AND UGLINESS. Global Day of Jewish Learning: Curriculum. A Project of the Aleph Society

מבוא לחישוב נומרי הכנה לקראת המבחן

Extended Introduction to Computer Science CS1001.py Lecture 25: Summary

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

FAIL CONFR URE ONTING

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי

Transcription:

קובץ שאלות פתורות אביב 2102 שאלה 0 SCC DFS, מצאו תנאי הכרחי ומספיק לכך שגרף מכוון ) ( יקיים את התכונה הבאה: בכל ריצת DFS על, הצומת בעל זמן הסיום הגדול ביותר )אחרון( הינו צומת בעל דרגת כניסה פתרון הצומת בעל זמן הסיום הגדול ביותר הוא שורש עץ ה DFS האחרון שמתקבל בהוכחת האלגוריתם למציאת גרף הרכיבים הקשירים היטב,)SCC( הוכחנו שהצומת בעל זמן הנסיגה הגדול ביותר בכל ריצת DFS חייב להימצא ברכיב שהוא צומת מקור בגרף ה SCC נסמן ב את גרף הרכיבים הקשירים היטב של נסתכל על ריצת DFS כלשהי על, עם זמני סיום ) ( עבור רכיב קשיר היטב נסמן: ) ( בהרצאות הוכחנו שעבור קשת בגרף מתקיים: ) (, ולכן הצומת בעל זמן הנסיגה המקסימלי חייב להיות מוכל ברכיב קשיר היטב שהוא מקור בגרף מקור צומת בעל דרגת כניסה 1 עכשיו, על מנת שבכל ריצת DFS הצומת בעל זמן הנסיגה המקסימלי f יהיה צומת בעל דרגת כניסה, נצטרך שכל רכיב קשיר היטב שהוא מקור ב בפרט, דרגת הכניסה של כל צומת ברכיב כזה יהיה G SCC יהיה בגודל טענה: התנאי בשאלה מתקיים כל רכיב קשיר היטב שהוא מקור ב הוא בגודל הוכחה: נניח בשלילה שקיים רכיב קשיר היטב שהוא מקור ב בגודל גדול מ יהיו נשים לב שדרגת הכניסה של גדולה מ, היות ויש מסלול מכוון מצומת לצומת ולהיפך המשך לעשות זאת עד נסתכל על ריצת DFS הבאה: בכל שלב שיש לבחור צומת ממנו להתחיל את ריצת ה,DFS בחר צומת שאינו ב ש DFS נסוג מכל הצמתים ב נשים לב שלפי משפט המסלול הלבן, אף צומת ב לא התגלה ע"י DFS אחרת, היינו מקבלים סתירה לכך שהרכיב הוא רכיב מקור ב כאשר DFS נסוג מכל צמתי, נמשיך את הריצה החל מהצומת לפי משפט שנלמד בכיתה, כל צמתי יתגלו בעץ ה DFS היוצא מ ולכן שורש עץ ה DFS האחרון, ובפרט הצומת בעל זמן הנסיגה המקסימלי היות ו ) (, קיבלנו סתירה

הוא בגודל נניח שכל רכיב קשיר היטב שהוא מקור ב הצומת בעל זמן הסיום המקסימלי בריצה זו נסתכל על ריצת DFS כלשהי ויהא נמצא ברכיב קשיר היטב מקסימלי שהוא מקור ב לפי האבחנה שביצענו לפני כתיבת הטענה, רכיב קשיר היטב זה יהא } { לפי ההנחה בכיוון זה, רכיב קשיר היטב זה בגודל, בסתירה בגרף גורר קשת נכנסת ל אחרת, קיום קשת ) ( בהכרח מתקיים להיותו מקור ב הערה: ניתן לבדוק האם גרף מקיים את התנאי בשאלה בזמן (E :O(V + 1 נחשב את הגרף G SCC 2 נבדוק שכל מקור ב G SCC מורכב מצומת בודד ע"י האלגוריתם למציאת גרף הרכיבים הקשירים היטב

שאלה 2 MST יהא ) ( גרף לא מכוון עם משקלים על הקשתות נתון עץ פורש מינימום של הגרף כעת, מוסיפים צומת חדש לגרף וקשתות ממושקלות מהצומת לחלק מצמתי הגרף נסמן את הגרף המתקבל כ ) ( הציעו אלגוריתם שזמן ריצתו ) (, אשר בהינתן עפ"מ לגרף מוצא עץ פורש מינימום לגרף פתרון אלגוריתם: 1 חשב את הגרף ( ( כלומר: אשר מכיל את קשתות והקשתות הנוגעות ב { } 2 הרץ אלגוריתם למציאת עפ"מ Kruskal( או )Prim בגרף והחזר את העפ"מ המתקבל טענת עזר: עפ"מ עבור הגרף הינו עפ"מ עבור הגרף הוכחה: ראינו לכל עפ"מ קיימת ריצה של האלגוריתם הגנרי שמוצאת אותו בתרגול: לכל עפ"מ קיימת ריצה של אלגוריתם Kruskal המוצאת אותו בהרצאות: לכל ריצה של אלגוריתם Kruskal קיימת ריצה של האלגוריתם הגנרי השקולה לו נסמן ב את סדרת הפעלות הכללים הכחולים והאדומים אשר מניבה את העפ"מ בגרף נחלק את הסדרה לשתי תתי סדרות, המציינות את הפעלות הכללים הכחולים והאדומים בסדרה, בהתאמה ראינו כי ניתן להחליף את הסדר בין פעולות ו )תוך שמירה על הסדר הפנימי בין הפעולות בתוך כל תת סדרה(, ולהישאר עם סדרה חוקית המניבה את בגרף G G T E T v תוצאת הפעלת אלגוריתם אשר מוצא עפ"מ בגרף

)כלומר, סדרה המפעילה קודם את הכללים האדומים ולאחר מכן את הכללים הכחולים( תהא הפעלת הכלל האדום משמעותה בחירת מעגל בו אין קשת אדומה, וצביעת הקשת הכבדה ביותר במעגל באדום נשים לב שכל מעגל שקיים בגרף קיים גם בגרף, היות ולא הסרנו קשתות או צמתים מהגרף לכן, הפעלת הכללים האדומים בסדרה הינה חוקית גם עבור כעת, נתבונן בהרצה של האלגוריתם הגנרי על הגרף, אשר מתחילה בסדרה לאחר הפעלת הכללים האדומים הנ"ל, נוותר עם קשתות בלבד כקשתות לא צבועות מכאן, הרצה של האלגוריתם הגנרי למציאת עפ"מ, החל משלב זה, ימצא עץ פורש אשר קשתותיו מוכלות ב מכאן, כל עפ"מ עבור הגרף הינו עפ"מ עבור הגרף G G T E T v מצב האלגוריתם לאחר הפעלת כללי נכונות: נובעת ישירות מטענת העזר סיבוכיות: ננתח את סך זמן הריצה: שלב 1 לוקח זמן ) (, שכן ) ( ואנו מוסיפים לעץ צומת יחיד אשר יוצאות ממנו קשתות לכל היותר נשים לב שמתקיים כנדרש שלב 2 לוקח: ( ) ( ( + ))

שאלה 3 SP נתון גרף מכוון ) ( ופונקציית משקל הציעו אלגוריתם המכריע האם קיים מעגל אי-חיובי בגרף על האלגוריתם לרוץ בזמן ) ( )כלומר, מעגל שמשקלו או שלילי( פתרון שלב 0: נבדוק קיום מעגלים בעלי משקל שלילי בגרף ניתן באמצעות אלגוריתם Bellman-Ford לבדוק האם קיים מעגל במשקל שלילי אשר ישיג מהצומת s אשר ממנו מתחיל האלגוריתם כלומר, הרצת Bellman-Ford מצומת כלשהו אינה מבטיחה גילוי מעגלים שליליים בגרף כדי לפתור בעיה זו, בדומה לאלגוריתם Johnson נוסיף צומת חדש s ונחבר אותו לכל צמתי הגרף בקשתות מכוונות בעלות משקל דבר זה יבטיח שכל המעגלים בגרף יהיו ישיגים מ s בדומה לבעיית ה Arbitrage אשר נלמדה בתרגולים, נבצע את רצף הפעולות הבא: נוסיף צומת חדש לגרף אשר יחובר לכל צמתי הגרף בקשתות מכוונות שמשקלן נריץ Bellman-Ford החל מצומת ונבדוק האם קיים מעגל במשקל שלילי בגרף אם כן, נחזיר זאת סיבוכיות: יהא } { ויהא } { ניתן להניח בלי הגבלת הכלליות שגרף התשתית של קשיר אחרת, נפתור את הבעיה בנפרד לכל רכיב קשירות בגרף התשתית לכן, ) ( מכאן, סיבוכיות הזמן של הרצת אלגוריתם ה Bellman-Ford הוא: (( + )( + )) שלב 2: בהינתן שלא קיימים מעגלים במשקל שלילי, נבדוק האם קיימים מעגלים במשקל נקראת שימושית אם קיים מסלול קל ביותר בגרף מהצומת הגדרה: בהינתן צומת, קשת לצומת שמסתיים בקשת אינטואיציה: במעגל C שמשקלו, כל הקשתות שימושיות: - נסתכל על צומת u כלשהו במעגל שמשקלו - ניקח מסלול קל ביותר P s u ונשרשר אליו את המעגל C - זהו גם מסלול קל ביותר, ולכן כל תת מסלול שלו הוא מסלול קל ביותר היא שימושית ) ( + ) ( טענה: קשת הוכחה: הוכח בשיעורי הבית )נכון לסמסטר אביב 2012( במידה ושאלה זו לא הופיע בשיעורי בית, נסו להוכיח טענה זו כתרגיל

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

שאלה 4 Greedy נתונים אינטרוולים בקטע ],[ כך שלכל ] [ כך ש קיים הגדרה: כיסוי הוא תת קבוצה ] [, כך שמתקיים: [ ] הציעו אלגוריתם יעיל ככל האפשר, המוצא כיסוי בעל גודל מינימלי פתרון הבחנה: כיסוי חוקי חייב לקחת אינטרוול שמסתיים בנקודה x מבין כל האינטרוולים שמסתיימים בנקודה x, נעדיף לקחת את האינטרוול הארוך ביותר )צעד חמדני(, שכן הוא מכסה קטע ארוך יותר אלגוריתם: נמיין את האינטרוולים לפי זמן הסיום שלהם 1 כל עוד אין בידינו כיסוי: 2 21 מבין כל האינטרוולים שזמן הסיום שלהם מקסימלי, בחר את האינטרוול הארוך ביותר [ אינטרוול זה יהא ] ]: 22 צמצם את כל האינטרוולים הנותרים לקטע ], החלף את זמן הסיום שלו ב עבור כל אינטרוול שמסתיים אחרי הנקודה - [ בכך שנחלק את כל נקודות הקצה ב - נרמל את כל האינטרוולים לקטע ] )צעד זה אינו הכרחי לצורך המימוש, אך עוזר בכדי לתאר את הפתרון באופן רקורסיבי( נכונות: נסמן ב } { את קבוצת האינטרוולים שלקח האלגוריתם החמדן הנ"ל ) נסמן ב } { פתרון אופטימלי לבעיה )מתקיים נניח כי שתי הקבוצות ממוינות לפי זמני הסיום מאופטימליות על מנת להוכיח שהאלגוריתם חמדן הוא אופטימלי, נראה כיצד ניתן לקחת פתרון אופטימלי )OPT( ולהפוך אותו לפתרון החמדני,)Greedy( מבלי לפגוע באופטימליות הדגש בהוכחה הוא התבוננות בנקודה הראשונה שבה האלגוריתמים לא מסכימים נקודה ראשונה כאשר האינטרוולים מסודרים לפי זמן סיום בסדר יורד, בהתאם לכלל החמדני שבחרנו יהא האינדקס הראשון עבורו נסמן: ] [ ובנוסף: ] [ נניח לצורך הוכחת הנכונות שלא מתבצע צעד הנרמול 22 )נכונות האלגוריתם נשמרת(

תהא הנקודה השמאלית ביותר מבין הנקודות אשר מכסים האינטרוולים היות והאינטרוולים מסודרים בסדר יורד לפי זמן יורד, בהכרח מתקיים ובנוסף אחרת, אם לא מכסה את הנקודה אז אף אינטרוול אחר לא באותו אופן עבור p I OPT OPT I i OPT Greedy I i Greedy Greedy I הפתרונות ו ממוינים לפי סדר נקודות קצה ימניים יורד נסתכל על השלב בו האלגוריתם החמדן בחר את היות ולאלגוריתם החמדן בשלב זה הייתה את האפשרות לבחור את, מתקיים כלומר, אם נחליף ב את האינטרוול באינטרוול, נקבל כיסוי חוקי בגודל זהה לגודל כל נקודה ] [ שכוסתה אך ורק על ידי מכוסה כעת ע"י נובע מכך ש ומכך ש נמשיך להפעיל טיעון זה עד שנמיר את ל היות וגודל לא משתנה בתהליך זה, הפתרון נשאר אופטימלי ולכן אופטימלי ( סיבוכיות: מיון האינטרוולים לפי זמן הסיום לוקח ) לצורך מימוש שלב 2 נחזיק עץ חיפוש מאוזן אשר שומר את נקודות הקצה השמאליות של כל האינטרוולים תוחלף בנקודה הימנית ביותר שלא כוסתה( )בהמשך, הנקודה שעוברים דרך כל אינטרוול מוכנס פעם אחת לעץ ויוצא מהעץ פעם אחת לכל היותר לכן, סך הפעולות שמתבצעות על עץ ( מכאן, סיבוכיות הזמן הכוללת של שלב 2 הוא ) החיפוש המאוזן הוא ) (

שאלה 5 DP ו נתונות שתי מחרוזות נאמר שמחרוזת היא מחרוזת-על של כלומר, קיימת סדרת אינדקסים וקיימת סדרת אינדקסים דוגמא: עבור המחרוזות ו עבורה בהתאמה באורכים ואת אם היא מכילה את עבורה לכל ] [ לכל ] [, מחרוזת-על אפשרית של הינה הציעו אלגוריתם אשר בהינתן שתי מחרוזות מחשב את מחרוזת-העל הקצרה ביותר שלהן פתרון נסמן ב את מחרוזת-העל הקצרה ביותר של אותה אנו מחפשים נבנה את Z אות-אות מהסוף להתחלה )אפשר באופן סימטרי לבנות אותה מההתחלה לסוף( אינטואיטיבית, האות האחרונה של Z תהיה אחת האותיות X n או Y m אחרת, אפשר להסיר את האות האחרונה ולהישאר עם מחרוזת-על האם גישה חמדנית תעבוד? )קח את אחת מהאותיות לא בהכרח נניח ש X ab Y abc אם נבחר את X, לא נקבל מחרוזת-על קצרה ביותר X n או )Y m אבל, ברגע שבחרנו באות האחרונה, נותר לנו לפתור את הבעיה באופן רקורסיבי עבור מחרוזות קצרות יותר דבר זה מרמז על שימוש בתכנון דינמי נגדיר: אורך מחרוזת-העל הקצרה ביותר של המחרוזות ו - [ ] טענה: [ ] { + [ ] + { [ ] [ ]} הסבר: אם אחת המחרוזות ריקה, ניקח את המחרוזת השנייה כולה )תנאי בסיס( אחרת, אם X i Y j נבחר אות זו להיות האות האחרונה כעת, נותר לנו לדאוג לכך שהמחרוזות Z תופענה משמאל לאות האחרונה ב Y Y j ו X X i אם X i Y( j או X i ( ניקח את האופציה הטובה ביותר עבור האות האחרונה מבין השתיים Y j

הוכחה: נסמן ב את מחרוזת-העל הקצרה ביותר של המחרוזות ו נוכיח את הטענה באינדוקציה על, לכל כלומר, הנחת האינדוקציה שלנו תהיה שהטענה נכונה עבור הערכים ] [ ] [ בסיס: עבור מחרוזת-העל היא בהכרח ואורכה עבור מחרוזת-העל היא בהכרח ואורכה סגור: נניח נכונות עבור וכל ערך כלומר, הערכים [j L[i אשר מחושבים לפי הנוסחא הרקורסיבית אכן מתאימים לאורכים של המחרוזות,OPT i j בהתאמה נוכיח את הטענה עבור וכל ערך כלומר, עבור (j i) הערך המחושב ע"י הנוסחא הרקורסיבית הוא אכן j OPT i ולהישאר ללא האות האחרונה את המחרוזת נסמן ב, נסמן לצורך נוחיות: נפריד למקרים:, אז לפי טיעונים קודמים אפשר להסיר את האות האחרונה מ : אם אם 0 עם מחרוזת-על למחרוזות ו, בסתירה לאופטימליות אחרת, נשים לב ש היא מחרוזת-על של המחרוזות ו מאופטימליות, נובע ש:, היות ו הוא פתרון כלשהו לבעיה, נניח בשלילה שמתקיים ונשרשר לה את האות, נקבל מחרוזת-על ל ו אם ניקח את המחרוזת שאורכה קצר מ, בסתירה לאופטימליות לכן, ומכאן: [ ] + + + [ ] כאשר השוויון האחרון נובע מהנחת האינדוקציה אם : אם, אז נקבל סתירה לפי טיעונים דומים לאלה שהוצגו עבור מקרה 1 אחרת, נפריד למקרים לפי האות האחרונה של : אם : נשים לב ש היא מחרוזת-על של המחרוזות ו 2 לפי טיעונים דומים למקרה 1, בהכרח ולכן נקבל ש: [ ] + + + [ ] אחרת, אם, נקבל באותו אופן ש: [ ] + + + [ ] ובכך הראנו שטענה מתקיימת

שימו לב שמרבית ההוכחה עסקה בתת המבנה האופטימלי של OPT i j כלומר, לאחר הסרת האות האחרונה אנו מקבלים פתרון אופטימלי לתת הבעיה המתאימה אלגוריתם לחישוב אורך מחרוזת-העל הקצרה ביותר: ) + ( ( בגודל ) + אתחל מטריצה 1 [ אתחל את השורה הראשונה והעמודה הראשונה לפי תנאי הבסיס של ] 2 לכל 3 לפי הנוסחא הרקורסיבית [ חשב את התא ] 31 לכל 311 [ החזר את ] 4 כבר חושבו, היות ואנו [ ] [ ] [ הערכים ] [ נכונות: מובטח לנו שבזמן חישוב ] מחשבים ערכים אלו לפי סדר שורות ו הוא אורך מחרוזת-העל הקצרה ביותר של [ לפי הטענה, מובטח ש ], סה"כ: ) ( סיבוכיות: חישוב כל תא במטריצה לוקח ) ( חישוב מחרוזת-העל הקצרה ביותר: נשמור בכל תא ) ( במטריצה מצביע לתא לפיו חושב הערך ] [ למשל, מצביע לתא ] [ מצביע לתא ] [ מעיד על כך ש מעיד על כך שבחרנו את האות וזו האות האחרונה שנבחר נעדכן מצביעים אלו תוך כדי חישוב הערכים ] [ בסיום הריצה, נתחיל מהתא ] [ במטריצה ונתקדם לפי המצביעים נרכיב את אותיות מחרוזת-העל הקצרה ביותר לפי הכללים שנכתבו לעיל, בזמן ) + ( ( )

שאלה 6 Flow Max גרף מכוון ותהא פונקציית קיבול אי-שלילית על הקשתות פונקציה על הצמתים אשר תקרא פונקציית ביקוש והיצע: ) (, נאמר שלצומת יש היצע של ) ( ) (, נאמר שלצומת יש ביקוש של ) ( יהא ) ( תהא אם אם פונקציה לכל קשת לכל צומת תקרא זרימה מעגלית )סירקולציה(, אם מתקיימים התנאים הבאים: ) ( מתקיים ) ( מתקיים: 1 2 כאשר ) ( היא קבוצת הקשתות היוצאות מ ו ) ( היא קבוצת הקשתות הנכנסות ל ענו על הסעיפים הבאים: א הוכיחו כי ) ( הוא תנאי הכרחי לקיום זרימה מעגלית )כלומר, הביקוש שווה להיצע( ב הוכיחו כי לא קיימת זרימה מעגלית בגרף אם ורק אם קיים חתך ) ( כך ש: ג כאשר } { ) ( הציעו אלגוריתם יעיל ככל שתוכלו המכריע האם קיימת זרימה מעגלית בגרף פתרון סעיף א' : זרימה מעגלית אשר מתאימה לגרף ) ( הנ"ל מקיימת לכל צומת נרצה להראות ש - מתקיים: ( ) ( ) סך הזרימה מקשתות היוצאות מצמתים בגרף ( ) סך הזרימה מקשתות הנכנסות לצמתים בגרף, הגורם ) ( מופיע בחיוב פעם אחת בסכום השמאלי השוויון האחרון נובע מכך שעבור כל קשת )כקשת יוצאת מהצומת ) ופעם אחת בשלילה בסכום הימני )כקשת נכנסת לצומת (

סעיף ב' סעיף זה מקשר בין זרימה מעגלית לקיבולי חתכים ברשת זהו רמז עבה לכך שיש לתאר את הבעיה על ידי רשתות זרימה בעלות מקור ובור יחיד { } : נסמן: } ) ( { } ) ( { נתבונן ברשת הזרימה ) ( הבאה, המתאימה לגרף ) ( צמתים: נוסיף מקור ובור לרשת: קשתות: נחבר את ואת כל הצמתים לכל הצמתים בעלי היצע, כלומר ) (, בעלי ביקוש, כלומר ) (, נחבר לבור : { } { } קיבולים: כל קשת מהצומת לצומת עבורו תהיה בעלת קיבול ) ( כל קשת אל הבור מצומת עבורו תהיה בעלת קיבול ) ( { d(v) 0 d(v) 0 s t טענה: קיימת זרימה מעגלית בגרף הוכחה: נניח שקיימת זרימה מעגלית לכל נקבע ) ( לכל קשת ערך זרימת המקסימום ברשת עבור פונקציית ביקוש והיצע נקבע ) ( לכל קשת מקיימת את חוק הצומת: לכל צומת לכן לפי סעיף א', חוק הצומת מתקיים עבור ערך מקיימת את חוק הקשת: היות ו כנדרש: הזרימה היוצאת מהצומת נקבע ) ( נגדיר זרימה הוספנו זרימה נכנסת של ) ( היא בעלת ערך ) ( ברשת באותו אופן אפשר להראות את הטענה עבור מקיימת זאת ולפי הגדרת קיבולי הקשתות החדשות היא בדיוק סכום ההיצעים של צמתי באופן הבא:, הטענה מתקיימת

נניח ו זרימה חוקית ברשת ובעלת ערך ) ( היות וזהו גם קיבול החתך המוגדר ע"י בלבד, נובע שכל הקשתות היוצאות מהצומת נגדיר את באופן הבא: ) ( חוק הקשת מתקיים מכיוון ש מקיימת את חוק הקשת בנוסף, תנאי הביקוש וההיצע מתקיימים, היות ו מקיימת את חוק הצומת רוויות טענה: לא קיימת זרימה מעגלית בגרף קיים חתך ) ( כך ש: כאשר } { ) ( קטן ממש מ ) ( הוכחה: אם אין זרימה מעגלית, אז לפי הטענה הקודמת ערך זרימת המקסימום ב לפי משפט ה Min-Cut Max-Flow נובע שערך חתך המינימום קטן ממש מסכום זה לפי משפט: ערך זרימת המקסימום = קיבול חתך המינימום היות וקיבולי החתכים המוגדרים ע"י } { או } { הם בדיוק ) (, נובע שחתך המינימום משרה חתך )לא טריוויאלי( על הגרף וקיבולו קטן ממש מ ) (, כנדרש אם התנאי במשפט מתקיים, ערך חתך המינימום קטן ממש מ ) ( לפי משפט ה Min-Cut Max-Flow נובע שערך זרימת המקסימום ברשת קטנה ממש מ ) ( לפי טענת העזר, לא קיימת זרימה מעגלית ב סעיף ג' אלגוריתם: 1 נבנה את הרשת כפי שתואר בזמן ) + ( 2 נמצא זרימת מקסימום ברשת באמצעות אלגוריתם,Edmonds-Karp בזמן ) ( 3 נחזיר זרימה מעגלית )לפי ההוכחה בסעיף ב'( אם"ם קיימת זרימה ברשת בערך ) ( נכונות: נובעת מסעיף ב' סיבוכיות: סה"כ ) (