logn) = nlog. log(2n

Σχετικά έγγραφα
פתרון תרגיל מרחבים וקטורים. x = s t ולכן. ur uur נסמן, ur uur לכן U הוא. ur uur. ur uur

לוגיקה ותורת הקבוצות פתרון תרגיל בית 8 חורף תשע"ו ( ) ... חלק ראשון: שאלות שאינן להגשה נפריד למקרים:

מתמטיקה בדידה תרגול מס' 13

חורף תש''ע פתרון בחינה סופית מועד א'

. {e M: x e} מתקיים = 1 x X Y

יסודות לוגיקה ותורת הקבוצות למערכות מידע (סמסטר ב 2012)

פתרון תרגיל 8. מרחבים וקטורים פרישה, תלות \ אי-תלות לינארית, בסיס ומימד ... ( ) ( ) ( ) = L. uuruuruur. { v,v,v ( ) ( ) ( ) ( )

דף פתרונות 7 נושא: תחשיב הפסוקים: צורה דיסיונקטיבית נורמלית, מערכת קשרים שלמה, עקביות

Logic and Set Theory for Comp. Sci.

שדות תזכורת: פולינום ממעלה 2 או 3 מעל שדה הוא פריק אם ורק אם יש לו שורש בשדה. שקיימים 5 מספרים שלמים שונים , ראשוני. שעבורם

לוגיקה ותורת הקבוצות פתרון תרגיל בית 4 אביב תשע"ו (2016)

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

מבחן מועד ב' בהצלחה! אנא קיראו היטב את ההוראות שלהלן: ודאו כי כל עמודי הבחינה נמצאים בידכם.

תכנון אלגוריתמים 2016 עבודה 1 שאלה 1 פתרון נתונות שתי בעיות. יש למצוא: אורך מסלול קצר ביותר המתחיל באחד מן הקודקודים s 1,..., s k ומסתיים ב t.

פתרון תרגיל 5 מבוא ללוגיקה ותורת הקבוצות, סתיו תשע"ד

מבני נתונים ואלגוריתמים תרגול #8-9

כלליים זמן: S מחסנית, top(s) ראש המחסנית. (Depth First Search) For each unmarked DFS(v) / BFS(v) רקורסיבי. אלגוריתם :BFS

תרגיל 13 משפטי רול ולגראנז הערות

רשימת בעיות בסיבוכיות

gcd 24,15 = 3 3 =

' 2 סמ ליגרת ןורתפ םיפרגה תרותב םימתירוגלא דדצ 1 : הלאש ןורתפ רבסה תורעה

brookal/logic.html לוגיקה מתמטית תרגיל אלון ברוק

משוואות רקורסיביות רקורסיה זו משוואה או אי שוויון אשר מתארת פונקציה בעזרת ערכי הפונקציה על ארגומנטים קטנים. למשל: יונתן יניב, דוד וייץ

( )( ) ( ) f : B C היא פונקציה חח"ע ועל מכיוון שהיא מוגדרת ע"י. מכיוון ש f היא פונקציהאז )) 2 ( ( = ) ( ( )) היא פונקציה חח"ע אז ועל פי הגדרת

מתמטיקה בדידה תרגול מס' 5

ל הזכויות שמורות לדפנה וסטרייך

מודלים חישוביים תרגולמס 5

מודלים חישוביים מבחן מועד א', סמסטר א' תשע''ה (2015)

הגדרה: קבוצת פעילויות חוקית היא קבוצה בה כל שתי פעילויות

לדוגמה: במפורט: x C. ,a,7 ו- 13. כלומר בקיצור

לוגיקה ותורת הקבוצות מבחן סופי אביב תשע"ב (2012) דפי עזר

תרגול מס' 1 3 בנובמבר 2012

גרפים אלגוריתמים בתורת הגרפים הרצאה 1 גיא פלג 15 במרץ 2012 הגדרה: מגן דוגמאות: זוגות לא סדורים כיוון שבקבוצה סדר לא חשוב.

{ : Halts on every input}

חידה לחימום. כתבו תכappleית מחשב, המקבלת כקלט את M ו- N, מחליטה האם ברצוappleה להיות השחקן הפותח או השחקן השappleי, ותשחק כך שהיא תappleצח תמיד.

אלגברה ליניארית (1) - תרגיל 6

תורת הקבוצות תרגיל בית 2 פתרונות

רשימת משפטים וטענות נכתב על ידי יהונתן רגב רשימת משפטים וטענות

בחינה בסיבוכיות עמר ברקמן, ישי חביב מדבקית ברקוד

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

מושגים: קשיר. o בעל 1 קשתות בדיוק.

פרק 8: עצים. .(Tree) במשפטים הגדרה: גרף ללא מעגלים נקרא יער. דוגמה 8.1: תרגילים: הקודקודים 2 ו- 6 בדוגמה הוא ).

אלגוריתמים בתורת הגרפים חלק רביעי

3-9 - a < x < a, a < x < a

שאלה 1 V AB פתרון AB 30 R3 20 R

רשימת משפטים והגדרות

אלגוריתמים בתורת הגרפים חלק שני

תורישק :תורישקה תייעבב בוש ןייענ?t- t ל s- s מ לולסמ שי םאה 2

לוגיקה למדעי המחשב תרגולים

תרגילים באמצעות Q. תרגיל 2 CD,BF,AE הם גבהים במשולש .ABC הקטעים. ABC D נמצאת על המעגל בין A ל- C כך ש-. AD BF ABC FME

לוגיקה ותורת הקבוצות מבחן סופי אביב תשע"ד (2014) דפי עזר

אלגוריתמים / תרגיל #1

תרגול מס' 6 פתרון מערכת משוואות ליניארית

סדרות - תרגילים הכנה לבגרות 5 יח"ל

c ארזים 26 בינואר משפט ברנסייד פתירה. Cl (z) = G / Cent (z) = q b r 2 הצגות ממשיות V = V 0 R C אזי מקבלים הצגה מרוכבת G GL R (V 0 ) GL C (V )

גבול ורציפות של פונקציה סקלרית שאלות נוספות

אלגברה ליניארית 1 א' פתרון 2

[ ] Observability, Controllability תרגול 6. ( t) t t קונטרולבילית H למימדים!!) והאובז' דוגמא: x. נשתמש בעובדה ש ) SS rank( S) = rank( עבור מטריצה m

אלגברה ליניארית 1 א' פתרון 7

קבוצה היא שם כללי לתיאור אוסף כלשהו של איברים.

אלגוריתמים בתורת הגרפים חלק ראשון

פתרון תרגיל 6 ממשוואות למבנים אלגברה למדעי ההוראה.

אלגברה מודרנית פתרון שיעורי בית 6

תורת הקבוצות מושגי יסוד בתורת הקבוצות קבוצה אוסף של אלמנטים הנקראים אברי הקבוצה. אין חשיבות לסדר האיברים בקבוצה. אין חשיבות לחזרות.

תורת המספרים 1 פירוק לגורמים ראשוניים סיכום הגדרות טענות ומשפטים אביב הגדרות 1.2 טענות

מתכנס בהחלט אם n n=1 a. k=m. k=m a k n n שקטן מאפסילון. אם קח, ניקח את ה- N שאנחנו. sin 2n מתכנס משום ש- n=1 n. ( 1) n 1

תוכן עניינים I בעיות מיון 2 1 סימון אסימפטוטי... 2 II מבני נתונים 20 8 מבני נתונים מופשטים משפט האב גרפים... 37

1 תוחלת מותנה. c ארזים 3 במאי G מדיד לפי Y.1 E (X1 A ) = E (Y 1 A )

שאלה 1 נתון: (AB = AC) ABC שאלה 2 ( ) נתון. באמצעות r ו-. α שאלה 3 הוכח:. AE + BE = CE שאלה 4 האלכסון (AB CD) ABCD תשובה: 14 ס"מ = CD.

מבני נתונים ואלגוריתמים תרגול #11

תשובות מלאות לבחינת הבגרות במתמטיקה מועד ג' תשע"ד, מיום 0/8/0610 שאלונים: 315, מוצע על ידי בית הספר לבגרות ולפסיכומטרי של אבירם פלדמן

אוטומטים- תרגול 8 שפות חסרות הקשר

1 סכום ישר של תת מרחבים

x a x n D f (iii) x n a ,Cauchy

מבני נתונים אדמיניסטרציה ד"ר אלכס סמורודניצקי, רוס 210, שני 5:30 4:15. ציון:

תכנון דינאמי. , p p p והמטריצה המתקבלת היא בגודל

חשבון אינפיניטסימלי 1 סיכום הרצאות באוניברסיטה חיפה, חוג לסטטיסטיקה.

מתמטיקה בדידה תרגול מס' 2

תרגול 1 חזרה טורי פורייה והתמרות אינטגרליות חורף תשע"ב זהויות טריגונומטריות

סיכום- בעיות מינימוםמקסימום - שאלון 806

תרגול פעולות מומצאות 3

תורת הגרפים - סימונים

אלגברה לינארית (1) - פתרון תרגיל 11

תשובות מלאות לבחינת הבגרות במתמטיקה מועד חורף תשע"א, מיום 31/1/2011 שאלון: מוצע על ידי בית הספר לבגרות ולפסיכומטרי של אבירם פלדמן.

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

תורת הגרפים על פי הרצאות מאת פרופ' אהוד פרידגוט 11 ביולי 2010

פתרון תרגיל בית 6 מבוא לתורת החבורות סמסטר א תשע ז

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

(2) מיונים השאלות. .0 left right n 1. void Sort(int A[], int left, int right) { int p;


חשבון אינפיניטסימלי 1

I. גבולות. x 0. מתקיים L < ε. lim אם ורק אם. ( x) = 1. lim = 1. lim. x x ( ) הפונקציה נגזרות Δ 0. x Δx

לוגיקה ותורת הקבוצות אביבתשס ז מבחןסופי מועדב בהצלחה!

מתמטיקה בדידה תרגול מס' 12

(ספר לימוד שאלון )

קומבינטוריקה על פי הרצאות מאת פרופ' גיל קלעי 19 ביולי = 2 n k. k= ( 1) n n + 1

תרגול משפט הדיברגנץ. D תחום חסום וסגור בעל שפה חלקה למדי D, ותהי F פו' וקטורית :F, R n R n אזי: נוסחת גרין I: הוכחה: F = u v כאשר u פו' סקלרית:

אלגברה ליניארית 1 א' פתרון 11

s ק"מ קמ"ש מ - A A מ - מ - 5 p vp v=

תורת הקבוצות יובל קפלן סיכום הרצאות פרופ ארז לפיד בקורס "תורת הקבוצות" (80200) באוניברסיטה העברית,

Transcript:

תכנוןוניתוחאלגוריתמים סיכוםהתרגולים n log O( g( n)) = Ω( g( n)) = θ ( g( n)) = תרגול.3.04 סיבוכיות { f ( n) c> 0, n0 > 0 n> n0 0 f ( n) c g( n) } { f ( n) c> 0, n0 > 0 n> n0 0 c g( n) f ( n) } { f ( n) c > 0, c > 0, n > 0 n> n 0 c g( n) f ( n) c g( n) } log( n 0 logn log( n + n) =θ (logn) 0 Ω היאחסםתחתוןלסיבוכיותשלבעיה. θ היאחסםהדוק. g( n) Ω( f ( n)) f ( n) O( g( n)) f ( n) O( g( n)) f ( n) θ ( g( n)) f ( n) Ω( g( n)) + n) log(n ) = logn + = log n+ : log( n!) נוכיחש n) = θ ( n log n n n logn+ log( n ) +... + log log n+ log( n ) +... + log= log( n!) logn = nlog n log בחזקהקבועהכלשהי. ניתןלראותזאתע"ישימוש 3 5 3 n+ log n= θ ( n ) n בחזקהקבועהכלשהיתמידיותרגדולמ בכלללופיטל (כש n שואףלאינסוף). =n log (אין השפעה לבסיס) θ (log3 n ) logn = o(log n) n = o( n) logn log logn= o( logn) תכנון דינמי כיצד נזהה שניתן לפתור בעיה באמצעות תכנון דינמי?

תתיבעיותחופפות. תתמבנהאופטימלי. הפתרוןהאופטימלישלהבעיהצריךלהיותמורכבמהפתרוןהאופטימלישל הבעיותהקודמות. - - i תרגיל לאורךנהריש n תחנות. בכלתחנה. j = i+,..., n איאפשרלשוטנגדהזרם. מחיריההשכרותנתוניםבמטריצה i =,...,n A nxn כך שהאיבר ניתןלשכורסירה ואפשרלהחזירהבכלתחנה a ij והחזרתהב. j איןתשלוםנוסףעלהחלפות. מצאאתסדרתההחלפותשתאפשרשייטבמחירמינימלימתחנה לתחנה מייצג את מחיר השכרת סירה בתחנה. n תתיהבעיותהכלליות כיצדמגיעיםבצורההאופטימליתלתחנה i. תתיבעיותבסיסיות הבעיותשמתחיליםמהן. סדרהפתרון. פתרוןתתבעיהכללית. פתרוןהשאלהכולה. - - - - -. M[i] נסמןאותוב.i אלגוריתם נחפשלכלתחנה i אתהמחירהמינימליהדרושלהגיעמתחנה עד נתחילמתחנה. נסמן 0 = [ ]M ונמשיךלפיסדרהתחנות. פתרוןתתבעיהמסדר i יהיה: M [ i] = min M[ j] + a j i ( ) ji לאחרפתרוןכלתתיהבעיות, פתרוןהשאלהיהיה. M[n].O( n.o(n) לכןסה"כסיבוכיות ) סיבוכיות: יש n תתיבעיות. כלבעיהנפתרתבסיבוכיותלכלהיותרשל. k הוכחהבאינדוקציהעלסדרהפתרון. בדיקה המסלולהאופטימלימתחנה לעצמהיהיהבמחיר 0 (נשאריםבמקום). i. הנחה לכלi M[k], k הואהמחירהמינימלילהגיעמתחנה לתחנה.ii : M[ i] OPT[ i] נוכיחש.iii נסמן OPT[i] - סדרתההחלפותשנותנתמחירמינימלימתחנה לתחנה.i - התחנהשבה OPT[i] לקחאתהסירההאחרונהלפני.i נסמן j. j עדתחנה OPT[i] המסלולשל - OPT j נסמן [i] OPT[ i] = OPT [ i] + a M[ j] + a min M[ r] + a M[ i ( ) ] j ji ji ri = r i הנחתהאינדוקציהעל j DAG גרףמכווןללאמעגלים (גמ"ל) מיוןטופולוגי - בהנתןDAG, מיוןטופולוגיהואסדרעלהקודקודים, כךשאםישקשתמקודקוד i לקודקוד i, j יופיעלפני j במיון.

ישכמהאפשרויותסידורשיהיומיוןטופולוגי. אםהגרףהואמלא, איןאפשרותכזו. v u y x v,u,x,y u,v,x,y תרגול 9.3.04 תרגיל נתוןעץT. מצאכמהקבוצותבלתיתלויותשלקודקודיםישבT. קבוצהבלתיתלויהשלקודקודיםהיא קבוצהשלקודקודיםכךשלאףאחדמהקודקודיםבקבוצהאין קשרלאחרים. v v v 3 v 4 v 5 v 6 קבוצותשלקודקודיםבודדים: v, v, v, v, v, v { } { } { } { } { } { } 3 4 5 6 זוגותוכו': v, v { }

T v.t v נחפשלכלקודקוד v אתמס' תתיהקבוצות הבלתיתלויותבתתהעץשהואמגדיר נתחילמהעלים. בתתעץשלעלהיששתיקבוצותבלתיתלויותשלקודקודים. סדרהפתרוןיכוללהיותכלסדרשמבטיחשבזמןהפתרוןשל v כלתתיהבעיותשמתאימות לקודקודי יהיופתורות. לדוגמא: סדרלפירמות..T v נסמן v] - N[ מספרהקבוצותהבלתיתלויותב מס' הקבוצותשכוללותאת + v מס' הקבוצותשלאכוללותאת v N[ v ] = Π ( ) Π ( ) N[ v] = N[ u] + N[ u] u onof v u grandonof v פתרון הבעיה כולה הוא N[roo]. N[ v ] = N[ v ] N[ v ] + N[ v ] 0 3 N[ v ] = N[ v ] + N[ v ] N[ v ] N[ v ] 3 4 5 6 סיבוכיות: כלקודקודנכנסלחישוב 3 פעמים: בחישובשלו, בחישובשלאבאשלוובחישובשלסבאשלו. לכן הסיבוכיותהיא n).o( הוכחת נכונות: נעשה זאת באמצעות אינדוקציה על סדר הפתרון. בסיסהאינדוקציה: מס' הקבוצותהבלתיתלויותבתתעץשלעלההוא : העלהעצמווהקבוצההריקה.. N[ u] T u הנחה: לכל קודקוד הוא מס' הקבוצותהבלתיתלויותב u T v

T v שכוללותאת v ועודמספר T v הואמס' הקבוצותהבלתיתלויותב מס' הקבוצותהבלתיתלויותב הקבוצותשלאכוללותאת. v מס' הקבוצותשלאכוללותאת v שווהלמספרהאפשרויותלאחדקבוצותבלתיתלויותמתתיהעציםשל הבניםולכן שווהלמכפלההקרטזיתשלמס' הקבוצותבכלבן. לפיהנחתהאינדוקציהמס' הקבוצותבכל. N[ u] לכןמס' הקבוצותמסוגזההוא. N[ u] הוא v שהואבןשל u Π u onof v ( ) שאלה נתונות 3 מחרוזות. באורךn. X באורךm. Y באורךn+m. Z תאראלגוריתםהקובעהאם Z הואמיזוגשל X וY. x, x,..., x y, y,..., y n n דוגמא למיזוג: Z = x, x, y, x, x, x, y, y 3 4 5 3. X j Y i z i + j,i נרשום '' אם. בתא j ( m+ ) ( n+ נבנה מטריצה בגודל ( ו היא מיזוג של Y i \ X j 0 0 n m תתיהבעיותיהיוהשורה j) (0, והעמודה i,0) (. נפתוראתתתיהבעיותהבסיסיותע"יהשוואהשל X לZ וY לZ. סדרהפתרוןיהיהלפיסדרהשורות. הפתרוןיהיהבתאהימנימלמטה. ( ) ( ) if Z[ i+ j] = X[ j] and A[ i, j ] = or Z[ i+ j] = X[ i] and A[ i, j] = A[ i, j] = 0 ele תרגול 3 6.3.04 קשתותשקיימותב BFS בגרףלאמכוון קשתותעץ, קשתותחוצות. u v אזי, v u v u הוכחאוהפרך אםישמסלולמכווןמ הסריקה. ל בגרףמכווןG ובDFS מתגלה לפני בעץ צאצא של דוגמא נגדית:

u v גרףנקראדוצדדיאםאפשרלחלקאתהקודקודיםשלולשתיקבוצות הקבוצות.,V, V כךשכלהקשתותהןבין תרגיל G= בהינתןגרףלאמכוון E) ( V, מתאימהשלהקודקודים. תאר אלגוריתם הקובע האם הוא דו צדדי ואם כן מוצא חלוקה V נבצעסריקתBFS עלהגרף. אםנגלהקשתחוצהבתוךאותהרמה, אזהגרףהואלאדוצדדי. אחרת הגרףהואדוצדדיוהחלוקההמתאימהתתקבללפיהזוגיותשלהרמות (קודקודיםברמהזוגיתיהיו בקבוצההראשונהוקודקודיםברמהאיזוגיתיהיובקבוצההשניה). כיוון : אינדוקציה: נניחשהגרףדוצדדי. הקודקודיםברמה i הםשכניםשלהקודקודיםברמה i. לפיהנחתהאינדוקציהכלהקודקודיםב.V לכןכלהקודקודיםברמה i חייביםלהיותב i הםבאותהקבוצה. נניחבליהגבלתהכלליותלגבי ולכןלאיכולהלהיותקשתביןשניקודקודיםברמה i. משפט: גרף הואדוצדדיאםורקאםאיןבומעגליםבאורךאיזוגי. כיוון : נניחשאיןקשתות חוצותבאותהרמהב.BFS נבצעחלוקהשלהקודקודיםלפיהזוגיותשלהרמות. לאתתכןקשתביןקודקודאיזוגילאיזוגימשוםשאיןקשתותבאותהרמה (לפיההנחה) ואיןקשתותבין רמותלאסמוכות (לפיתכונותהסריקה). באופןסימטריאיןקשתביןקודקודזוגילזוגיולכןהגרףדוצדדי. סיבוכיות: ) E. O( V + תרגיל נתונה מערכת של m אי שוויונים מהצורה x i < x j משתנים n על השמהמספקתהיאקביעתערךלמשתניםכךשכלאיהשוויוניםמתקיימים. תאראלגוריתםהבודק אםישהשמהמספקתואםכןמוצאכזאת.. x, x,..., xn

נבנה גרף מכוון כך שהקודקודים יהיו המשתנים ועבור כל אי שוויון x נבנה קשת מכוונת i < x j. x i x j בגרף שקיבלנו יהיה מעגל אם ורק אם אין השמה מספקת. מ כיווןראשון:. v v... vi נניחשישמעגלבגרף. נסמןאותוב v. vi איןשנימספריםשיכוליםלקייםאתהתנאיםעל לכןלפיבנייתהגרף v < v <... < vi וגם < v, v ולכןאיןהשמהמספקת. vi i j i j כיווןשני: נניחשאיןבגרףמעגלים. כלומרהגרףהוא.DAG לכןניתןלמייןאותוטופולוגית. ניתןערכיםלמשתנים לפיהמיקוםשלהםבמיוןהטופולוגי. יהי x < x אישוויוןמהנתון. אזיישקשת. x x לכן יופיעלפני במיוןולכןיקבלערךקטן x j x i. x j סיבוכיות:. O( m+ בנייתהגרף: (n. O( m+ בדיקתמעגלים: (n. O( m+ מיוןטופולוגי: (n. O( m+ סה"כ: (n תרגול 4 3.3.04 w:. נגדירעוצמהשלקודקוד: V תרגיל יהיהG גרףמכווןעםמשקליםעלהקודקודים R P( u) = max{ w( v) {ישמסלולמכווןמ u ל v מצא את עוצמת כל קודקודי G. v V נניחשהגרףהוא.DAG נמייןאתהגרףטופולוגיתונמצאלכלקודקודאתהעוצמהשלו. נתחילמהקודקודהאחרוןבמיון, כאשרהעוצמהשלותהיהשווהלמשקלשלו. נמשיךמהסוףלהתחלה.. P( u) = max w( u), P( v) e( u, v) עבורקודקוד u נקבע: E ( { }). O( V + E) סיבוכיות: מיוןטופולוגי: E). O( V + מספרהבדיקותבתכנוןהדינמייהיהכמספרהקשתות. לכןסיבוכיותהתכנוןהדינמיתהיה סה"כ: E). O( V + הוכחה באינדוקציה על סדר הפתרון: בסיס: עבורהקודקודהאחרון.

לאיוצאתממנואףקשת. לכןהקודקודהיחידשניתןלהגיעאליוהואהקודקודעצמוולכןהעוצמהשלו היאהמשקלשלו.. ( { }). P( v) = max w( v), P( z) e( v, z) E v u הנחה: שאחרי לכל קודקוד היא במיון, העוצמהשל v z אם v הואהקודקודהכבדביותרשניתןלהגיעאליומ מסלולמ u ל. v לכן ) v. P( v) w( אם נניח בשלילה ש א. v = v אז, v, P v אזיששתיאפשרויות: ( ) > w( v ). w v סתירה. ( ) > w( v ) ב. קיים u, שכןשל כך ש P u ( ) > w( v ) כךש, v אושקיים u שכןשל v וקיים ואז לפי הנחת האינדוקציה קיים מסלול מ u לקודקוד w z ואז קיים מסלול גם מ ) v > w( ) ( v ל. z סתירה. אםהגרףמכילמעגלים נבנהגרף G המתקבלמG ע"יכיווץהרכיביםהקשיריםהיטבלקודקודים. משקלכל קודקודכזהיהיהמשקלהקודקודהמקסימליברכיב. עלהגרףשקיבלנו G (שהואDAG ) נריץאתהאלגוריתםהקודם. עוצמתכלקודקודבG תהיההעוצמהשלהקודקודהמתאיםלוב G. לדוגמא: סיבוכיות: E). O( V + v v, u G וקיים מסלול מ ל u.

לכןאםניקחאתאותומסלולב לקודקודהמתאיםל u ב G. אםישמסלולמקודקוד v לקודקוד ל u. כלקודקודבמסלולב לכןנקבלמסלולבG. G, חלקמהקשתותבויתכווצוונקבלמסלולמהקודקודהמתאיםל v v, u,g קודקודיםבG כךש u ב מתאים ל v u מתאים, v G ניתןלפתיחהלמסלולב G, כיווןשהקודקודמייצגרכיבקשירהיטב.. תרגיל יהיG גרףלאמכווןו קודקודבG. מצאאתהמעגלהפשוטהקצרביותרהמכילאת פתרון: נזכורעבורכלקודקודבאיזהתתעץהואובאיזורמההואנמצא. נעבורעלכלהקשתותבגרף. אםיש קשתחוצההסוגרתמעגלביןשניתתיעציםשונים, אזהיאשייכתלמעגל. 3 הערה: המעגליםשנמצאלאיהיוכלהמעגליםהמכיליםאת, אךהמעגלהמינימלייהיהאחדמאלה. זאתמשוםשיכוללהיותמעגלשישבוכמהקשתותחוצות. מעגלמסוגזהלאיהיהלעולםמינימלי. תרגול 5 30.3.04 (המשך התרגיל מהשבוע שעבר) 3

המעגלהמינימליהואהסכוםהקטןביותרשלשתיהרמותשלתתיהעציםושלהקשתהחוצה. נריץBFS מ ונזכורלכלקודקודאתהרמהשלובסריקהואתהקודקודהשניבמסלולמ אליובסריקה (השורששלתתעץשהואבןשל ). נעבורעלכלהקשתותהחוצותהמחברותקודקודיםמתתיעצים שונים. לכלקשתכזוגודלהמעגלשהיאסוגרתיהיה סכוםהרמותשלהקודקודיםשלהועודאחד. נמצא אתהקשתהנותנתסכוםמינימלי. המעגלשקיבלנומורכבמהקשת (,v, )e,u ממסלולמ לu וממסלולמ לv. בגללשv,u נמצאים בתתיעציםשוניםשלבניםשל, המסלוליםהנ"לזריםולכןהמעגלפשוטומכילאת. ניקחמעגלפשוטכלשהוהמכילאת. המעגלמכיללפחותקשתאחתחוצהביןשניתתיעציםשונים. נסמןקשתזוכ v). e( u, המעגלמורכבממסלולמ לu, מסלולמ לv (המסלוליםזרים) והקשת (v. )e,u מכיווןשBFS מוצא אתהמסלוליםהקצריםביותר, המעגלהמתקבלמהמסלוליםבעץמ לu ומ לv עםהקשת (v )e,u הוא באורךקטןאושווהלמעגלשבחרנווהואפשוטומכילאת. לכןהמעגלהמינימליהפשוטהמכילאת מכילבדיוקקשתאחתחוצה..O( E) O() סיבוכיות:. O( V + E) :BFS בדיקה: מעברעלכלהקשתות, כלקשתב סה"כ: E). O( V + פעולות.. A, B גרףמכווןעםשתיתתיקבוצותשלקודקודים G= יהיה E) ( V, נגידכיA ניתנתלהפרדהמB אםאפשרלחלקאתקודקודיהגרףלשתיקבוצות V, V V ל ישאותוכיוון. V B ולכלהקשתותבין V, A כךש V ( V UV = V, V IV = ) בהנתןגרףוקבוצותכנ"לקבעהאם A ניתנתלהפרדהמ B. A B,a ונבדוקהאםקיימיםמסלוליםמ a לb ומb לa (למשלע"י b לקודקודים A, נכווץאתהקבוצות B.(BFS אםקיימיםשניהמסלולים, אזאיןחלוקהכזו. אחרתישחלוקה.

V נניחשיששנימסלולים: מסלולמa לb ומסלולמb לa. כלחלוקההמפרידהבין a לb חותכתאתשני המסלוליםולכןמכילהקשתותבכיווניםמנוגדים. לכןאיןחלוקה. a b V נניחשאיןאתשני המסלוליםונניחבליהגבלתהכלליותשאיןמסלולמB לA. V נסמןב אתכלהקודקודיםהניתניםלהגעהמ B. מכיווןשאיןמסלולמB לA, אז קודקודיםמA. A V B V נניחשישקשת v) ( u, כךש סיבוכיות: שתי סריקותBFS : לא כולל, v V u V אזיישמסלולמB לu ולכןישמסלולמB לv. סתירה. V. O( V + E) =G. תאראלגוריתםהמוצאקבוצתקודקודים U בעלתגודלקטןביותר, כך נתוןגרףמכוון E) ( V, לv. עבורוישמסלולמכווןמu u U קיים v ( V U שלכל ) אםהגרףהוא,DAG נבחראתהקבוצה U ע"יבחירתכלהקודקודיםבעלידרגתכניסה 0 (קודקודים שאיןאליהםאףקשת). אחרתנכווץרכיביםקשיריםהיטבעבורכלקודקודבעלדרגתכניסה 0 בגרף המכווץ. אםהואקודקודיחידבגרףהמקורי, נוסיףאותול U. אםהואמייצגרכיבקשירות, נבחרקודקוד אחדבאופן שרירותימהרכיב. תרגול 6 3.4.04 (המשךהאלגוריתםמהתרגולהקודם) עבורגרףחסרמעגלים, אם u קודקודבעלדרגתכניסה 0, u חייבלהיותבקבוצה u (כיאיןמסלול מקודקודאחראליו). לכןכלהקודקודיםבעלידרגתכניסה 0 חייביםלהיותבקבוצה. אם u קודקודעםדרגתכניסהגדולהמ 0, קייםקודקוד כךשקיימתקשת u). e( u, u בעלדרגתכניסה 0, סיימנו. אחרתקיים אם דרגתכניסה 0, מכיווןשהגרףחסרמעגלים. u u וכךהלאה. התהליךיעצררקכשנגיעלקודקודעם אםהגרףמכילמעגלים, u קודקודבעלדרגה 0 בגרףהחדשו u קודקודברכיבש u מייצג. מכלמסלולמ u לקודקודאחר v בגרףהחדשאפשרלבנותמסלולמ u ל v בגרףהמקורי. לכן הקבוצהשבחרנוחוקית. תהי U קבוצהחוקית. לרכיב u בגרףהחדשישדרגתכניסה 0. לכןעבורקודקודבתוךהרכיבאפשר להגיעאליורקמהקודקודיםהאחריםברכיב. משוםכך U מכילהלפחותקודקודאחדמהרכיבבעל דרגה 0 ולכןהקבוצהשבחרנומינימלית.

מסלוליםקליםביותר =G עםמשקליםאישלילייםעלהקשתותונתוניםקודקודים נתוןגרף E) ( V, אנומחפשיםאתהמשקל הקלביותר (סכוםהקשתותבמסלול) מ ל.., האלגוריתםשלדייקסטרה נגדיר 3 סוגיםשלקודקודים:. קודקודיםשמצאנועבורםאתהמרחקהקצרביותרמ. קודקודיםשמצאנולהםמרחקזמנימ (מועמדים)..3 קודקודיםשעדייןלאמצאנועבורםאתהמסלולמ. (קודקודים פתורים). מתחיליםבקודקוד כמועמדעםמרחקזמני 0. שלבב': איטרציה מוצאיםאתהקודקוד v בעלהמרחקהזמניהקטןביותרמביןהמועמדים, הופכיםאת המרחקהזמנילקבוע (מעביריםאת v לפתורים). עבורכל u שכןשל v נעדכןאתהמרחקהזמני u). M[ u] = min M[ u], M[ v] + w( v, ( ) תתהבעיההכלליתהיאמציאתהמרחקהמינימלי מ דינמי. לכלקודקוד. נמצאאתהפתרוןבאמצעותתכנון v 8 v 9 0 0 5 v 3 3 9 7 5 4 v 4 7 6 סיבוכיות: עלמבנההנתוניםלבצעאתהפעולותהבאות: - הוצאתמינימום. - עדכון. - הכנסה. בשימושבערימההסיבוכיותהכלליתהיא ) V.O( E log האלגוריתםשלדייקסטרהלאיעבודאםישנןקשתותשליליות. אםישנומספרקבועשלקשתות שליליות, אנויכוליםלמצואאלגוריתםאחרשיפתוראתהבעיהבאותהסיבוכיות. תרגיל: G= גרףמכווןעםמשקליםאישלילייםעלהקשתות, פרטלקשתאחת v) e( u, בעלת יהי E) ( V, משקלשליליונתוןקודקוד. מצאאתהמרחקמ ליתרהקודקודיםבגרף. נניחשאיןמעגליםבעלי משקלשלילי.

u -5 v 0 e נורידאתהקשת e ונמצאאתהמרחקמ לכלהקודקודיםבמסלוליםשלאמשתמשיםב דייקסטרהמ. נסמןב d אתהמרחקים. נמצאאתהמרחקמ v לכליתרהקודקודיםע"ידייקסטרהמ. v לכלקודקוד x נחשבאתהמרחק: x). d ( x) = min d ( x), d ( u) + w( e) + d ( ע"י ( ) v תרגול 7 0.4.04 סיבוכיות: O( E log V ) ברורשהמסלולשמצאנוהואמסלולחוקי. אפשרלהניחשהמסלולהקלביותרמ לקודקודכלשהו x הואפשוט. יהיP המסלולהקלביותרמ ל x (אנומניחיםכי P הואמסלולפשוט הואלאיכוללהיותמעגל משוםשמשקלוהואאישלילי). אםP לאעוברדרך, e אזP קייםגםבגרףללאהקשתהשליליתולכן w( p) d מכיווןשדייקסטרה u (מסלולפשוטלא ( ). w( p) d ( x) min d ( x), d ( u) + w( e) + d ( x) v P מוצאאתהמסלולהמינימלי. לכן e, P= P כךש ל מסלול מ אםP עוברדרךהקשתהשלילית, אז P דרך.( e. x ל v מ e מסלולפשוטלאדרך P מנכונותדייקסטרהנקבל: w( P ) d ( u) w P d x ( ) v ( ) לכן min(...). w( P) d ( u) + w( e) + d ( x) אםישנומספרקבועשלקשתותשליליות, אנויכוליםלהפעילאלגוריתםהדומהלאלגוריתםהזה. אםאין לנומספרקבועשלקשתותשליליות, לאנוכללהשתמשבו. v יהיG גרףמכווןעםמשקליםאישלילייםעלהקשתות. קודקודבG. כלקשתבG צבועהבצבע כחולאואדום. מסלולמתחלףבגרףהואמסלולשאיןבושתיקשתותרצופותבאותוצבע.

מצאאתהמסלולהמתחלףהקלביותרמ ל. 5 36 4 ניתןלכלצומתשניערכים: משקלאדוםומשקלכחול, לפיצבעהקשתהאחרונהשהגיעהאליו. נריץ דייקסטרה. לאחרמכןנבחרעבורכלקודקודאתהמינימלימביןשניהערכים. B R :( vb המסלולהמתחלף לכלקודקודנחפששניערכים (מתייחסיםלקודקוד v כאלשניקודקודים, vr הקלביותרמ אליוהמסתייםבקשתאדומהוהמסלולהמסתייםבקשתכחולה. האתחוליהיההכנסת אדוםו כחוללמועמדים עםמשקלזמני 0. בשלב האיטרציהמוציאיםאתהמועמדהמינימליללאחשיבותלצבע, הופכיםאתהערךשלולסופיבצבע המתאיםומסתכליםרקעלהשכניםשלובצבעהנגדי. בסיוםהאלגוריתםבוחריםאתהמינימלימבין., סיבוכיות: מריציםדייקסטרהעל n קודקודים. בכלשלבנוספתבדיקהאחת (צבעשלקשת). לכןהסיבוכיותהיא ) V.O( E log הוכחה באינדוקציה על סדר הפתרון: 4 בסיס: המסלול המתחלף הקל ביותר מ לעצמוהואבמשקל.0 הנחת האינדוקציה: כל הקודקודים שנפתרו לפני =x ( נפתרונכון (הערךשלהםהואערךהמסלולהמתחלףהקל B, R ) v x ביותרהמסתייםבצבעהמתאים - M ( ) R u או.( M ( ) B u. v R נוכיחעבור, OPT המסלולהמתחלףהקלביותרמ ל v המסתייםבקשתאדומה. R יהי ) v (. OPT ( v R נסמן : u הקודקודהאחרוןבמסלוללפני v במסלול ). OPT R ( v) = OPT R ( v) u er לכן v) ( u, לפיהנחתהאינדוקציה: v) M [ u] OPT ( (בעצםהואשווה, אךמספיקההמסקנההזאת) ( ) B R u OPT ( v) M [ u] + w( e ) min M [ x] + w( e ( x, v)) = M ( v) R B R B R R x er ( x, v) E תרגול 8 4.5.04

נתוןגרףמכווןעםקיבוליםאישלילייםעלהקשתות. קיבולתשלמסלולמוגדרתכקיבולתהקשת המינימליתבמסלול. בהנתןקודקוד מצאעבורכלקודקוד v אתהקיבולתהמקסימליתשלמסלולמ ל. v 6 5 3 4 9 7 8 האלגוריתםיפעלבדומהלדייקסטרה, פרטלשינוייםהבאים: אתחול נאתחלאתכלהקודקודיםבקיבולזמני 0 ונכניסאת למועמדיםעםקיבולזמני. שלב נוציאאתהמועמדבעלהקיבולהזמניהגדולביותר (נחזיקערימתמקסימום), נהפוךאותולפתור ונעדכןאתהשכניםשלו. אם u מעדכןאת, v אז v)) c( v) = max c( v),min c( u), w( e( u, { { }}.( d( v) = min { d( v), d( u) + w( e( u, v)), v אז } u e( u, v) E (בדייקסטרה אם u מעדכןאת { { c u w e u v }} c( v) = max min ( ), ( (, )) סיבוכיות: השינוימדייקסטרההואערימת מקסימוםבמקוםמינימוםוחישובשונהבכלעדכון. לכןהסיבוכיותהיא.O( E log V ) הוכחה באינדוקציה:. בסיס: המסלול הריק מ לעצמו הוא בקיבול.u c( u), v u הנחה: עבור כל קודקוד שנפתר לפני ל הוא הקיבולת המקסימלית של מסלול מ v אתהקודקודהאחרוןלפני u נסמןב. v ל המסלולבעלהקיבולתהמקסימליתמ, OPT v נסמן. e( u, v) בליהקשתהאחרונה OPT v OPT אתהמסלול v u. OPT v נסמןב במסלול. OPTv = min( OPT v u, w( e( u, v)) ) ( ) { } { ( )} x e( x, v) E לפי ההגדרה OPT = min OPT, w( e( u, v)) min c( u), w( e( u, v)) max min c( x), w( e( x, v)) = c( v) v v u הנחת האינדוקציה על מקסימום על קבוצה גדול u או שווה לכל איבר בה

,. קשת e תקרא נתוןגרףמכוון G עםמשקליםאישלילייםעלהקשתות. נתוניםשניקודקודים מיותרתאםהיאלאשייכתלאףמסלולקלביותרמ ל. תאראלגוריתםהמוצאאתכלהקשתות המיותרותבG. ל. d נריץדייקסטרהמ ונקבללכלקודקוד u אתהמרחקמ ל.u נסמן u) ( נהפוךאתהגרףונריץדייקסטרהמ בגרףההפוך. נקבללכלקודקוד u אתהמרחקהקלביותרמ. d ( u) בגרףההפוך. נסמן u נעבורעלכלהקשתותבגרף. קשת (v )e,u המקיימתאתהשוויון ) d ( u) + w( e( u, v)) + d ( v) = d ( היאקשתלאמיותרת. כלהשארמיותרות. סיבוכיות: פעמייםדייקסטרה ) V.O( E log.o( E ) הפיכת הגרף ) E.O( חישוב קבוע לכל קשת סה"כ: ) V.O( E log.u d ( u) מנכונות דייקסטרה נובע כי ל הוא המרחק הקל ביותר מ הואהמרחקהקלביותרמ ל v בגרףההפוךולכןהואגםהמרחקהקלביותרבגרףהמקורימ. d ( u) + w( e) + d ( v) > d ( ) v) e( u, מיותרתאםורקאם d ( v). ל v נוכיחש e d ( u) כיווןראשון: נניחש ). d ( u) + w( e) + d ( v) = d ( לכןאםנבנהאתהמסלולהמתאיםל בשרשור עם, נקבלמסלולמ ל העוברדרך e ומשקלומינימלי. לכן e d ובשרשורעםהמסלולהמתאיםל v) ( לאמיותרת. ל העוברדרך e ומקיים ). w( P) = d ( הואמסלולמ v ל. P u ו P כיווןשני: נניחש e לאמיותרת. לכןקייםמסלול בנוי בצורה מ ל הוא מסלול מ P P e, כךש P P P משום ש הוא תת מסלול של מסלול קל ביותר מ ל, נקבל u) w( P ) = d ( ובכיווןההפוךלגבי נקבל v). w( P ) = d ( לכן v). d ( ) = w( P) = w( P ) + w( e) + w( P ) = d ( u) + w( e) + d ( P תרגול 9.5.04 תרגיל נתוןגרףלאמכווןG עםמשקליםאישלילייםעלהקשתות. המכילאת. קודקודבG. מצאאתהמעגלהקלביותר

נריץדייקסטרה. נבנהעץמהקשתותביןהצמתיםלאבותשבונהדייקסטרה. בדומהלאלגוריתםהדומהבו השתמשנובBFS, הקשתהחוצהשביחדעםערכישניצמתיםבעלימסלולכלשהול, נותנתמסלול מינימלי, היאזושבונהאתהמעגלהקלביותר. הוכחאוהפרך בכלגרףלאמכווןG קייםקודקוד כך שעץ המסלולים הקלים ביותר מ הוא עץ פורש מינימלי. דוגמא נגדית: 3 3 דייקסטרה 3 עץ פורש מינימלי =G גרף. יהי E) ( V, חתךבגרףהואחלוקהשלהקודקודיםלשתיקבוצות:.V.V, V V V = V V = V V וקודקודשנינמצאב קשתבחתךהיאקשתשקודקודאחדשלהנמצאב קשתטובה קשתשהיאמינימליתבחתךמסויים.

קשתרעה קשתשהיאמקסימליתבמעגלמסויים. הוכח: =G גרףלאמכווןעםמשקליםאישלילייםעלהקשתות, כךשכלהמשקליםשונים, אזי אם E) ( V, קשת e לאיכולהלהיותגםטובוגםרעה. אנומניחיםשהגרףקשיר. e אם e קשתרעה, אזקייםמעגלש e היאהמקסימליתבו. לכןכלחתךהמכילאת לפחותבעודמקוםאחד. לכן e לאמינימליתבחתך. הוכח: באותם תנאים כל קשת היא טובה או רעה. חותך את המעגל עץ פורש מינימלי הסבר: ניקחעץפורשמינימלי. עבורכלקשתבעץניתןלהגדירחתך. קשתזותהיהבהכרחטובה. כל קשתאחרתבחתךסוגרתמעגלבונמצאתהקשתהטובה. הקשתהסוגרתאתהמעגלהיאהגדלהביותר בעץולכןהיאקשתרעה. =G עםמשקליםאישלילייםעלהקשתות. נתוןשכלהמשקליםשונים. נתוןגרףלאמכוון E) ( V, בהנתןקשתמסויימת v) e( u, קבעהאםהיאטובהאורעה. נמחקאת e ואתכלהקשתותשמשקלןגדולמ e מהגרף. נריץBFS מ u ונבדוקהאםבגרףהחדשיש מסלולל e. v היאקשתרעהאםורקאםישמסלולמ u ל v בגרףהחדש.

e לכן. e נניחשישמסלולבגרףהחדשמ u ל. v המסלולהנ"לסוגר מעגלעם. e e היאמקסימליתבמעגלכיווןשכלשארהקשתותקיימותבגרףהחדשולכןקטנותמ רעה. קשת ל מהמעגל, נקבלמסלולמ u e נניחש e קשתרעה. לכןקייםמעגלשהיאמקסימליתבו. אםנמחקאת v שכלהקשתותבוקטנותמ e ולכןהמסלולקייםגםבגרףהחדש. סיבוכיות: בניית הגרף החדש.O( E ). O( V + E ) BFS סה"כ: ) E. O( V + =G עםמשקליםאישלילייםונתון T עץפורשמינימלישל G. מוסיפיםלגרףקשת נתוןגרף E) ( V, חדשה. e מצאאתהעץהפורשהמינימלישלהגרףהחדש. נוסיףאת e לעץהפורשהמינימליונזרוקאתהקשתהמקסימליתבמעגלשנוצר. נניחשכלהמשקליםשונים. הקשתותבגרףהמקורי, פרטלקשתותT היורעות, כלומרהיהמעגלכךשהן מקסימליותבו. המעגליםהנ"ללאמשתניםעםהוספתקשתחדשה. לכןהקשתותנשארותרעות. הקשתהמקסימליתבמעגלשנסגרהיאקשתרעה. לכןזרקנואתכלהקשתותפרטלn קשתות ומשוםכךקיבלנועץפורשמינימלי. תרגול 0 8.5.04 מציאתהשמהמספקתל SAT (לאחרשמצאנושישפתרון) נכווץרכיביקשירותונבצעמיוןטופולוגי. אנויודעיםשאףמשתנהלאנמצאבאותורכיבקשירותכמו שלילתו, כלומראיןמעגלהמכילמשתנהושלילתו.. x = i,( x i x i x i x i שלביה - הנחה: איןמעגלהמכילמשתנהושלילתו. - נכווץרכיביקשירותונעשהמיוןטופולוגי. - אם מופיעלפני במיוןהטופולוגי, = 0 x. אחרת (אם מופיע אחרי i i j נוכיחשהביטוי ) x ( x הואבעלהערך. קיימותהקשתותהבאותבגרף: x i x j נניחבשלילהשההשמהשבנינואינהמספקת, כלומרש = 0 x ו 0 = x. נגדיר:. x ו j x - המקוםשל i N( x) j i הצומתבמיוןהטופולוגי. אנויודעיםש ) x. N( x ) < N( x ), N( x ) < N( x ), N( x ) < N( x ), N( x ) < N( j i j j i i i j קיבלנוש ) x N( x ) < N( x ) N( x ) < N( x ) N( וזאתסתירה. לכןההשמההיאמספקת. i i j j i שאלה

צריךלמצואעץבעלמשקלמינימליעלn. G= נתוןגרףלאמכווןוממושקל E) ( V, קודקודים. נתוןהאלגוריתםהבא: - מצאעץפורשמינימלישלG. - מצאאתהעלהשהסרתוגורמתלהקטנתהמשקלשלהעץבאופןמקסימלי. - החזראתהעץ, פרטלעלההנ"ל. הוכחאוהפרךאתהאלגוריתם. דוגמאנגדית: 0 0 30 5 6 3 האלגוריתםיתןלנועץעםמשקל 49 (ימחקאתהקשתבעלתהמשקל 6 ). העץהפורשהקטןביותרשל n צמתיםהואבמשקל.45 - שאלה נתוןגרףלאמכווןעםקיבולחיוביעלהקשתות. קיבולשלמסלולהואהקיבולהמינימלישלקשת במסלול. - יהיT העץהפורשהמקסימלישלהגרף. הוכחשהקיבולשלהמסלולהיחידבעץביןשני. v ל u שווהלקיבולהמקסימלישלמסלולמ u, קודקודים v תהי e הקשתהמינימליתבמסלולבין u ל v בעץ. נניחשישמסלולבגרףבין u ל v שהקיבולתשלוגדולהמהמסלולבעץ. לכןכלאחתמהקשתות במסלולהנ"לגדולהממשמ. e e מגדירהחתךבגרףהמפרידבין u ל. v לכןכלמסלולבין u ל v עוברבחתךהנ"ללפחותפעם אחת. משוםכךהמסלולבעלהקיבולהגדולביותרבין u ל v מכיללפחותקשתאחתבחתךהנ"לולכן e אינהמקסימליתבחתךשהיאמגדירה. זאתבסתירהלכךש e נמצאתבעץפורשמקסימום. מצא בזמן בגרף. ( log + ) O E V V אתהקיבולהמקסימלישלמסלולעבורכלזוגקודקודים

נמצאעץפורשמקסימום. מכלקודקוד v בעץנריץסריקה (למשלBFS ) ונחשבאתהקיבולמ v u (נניח u קרוביותרל,( v נסמן קודקודיהגרף. כאשרמגליםבסריקהקשת x. M[ v, x] = min M[ v, u], w ( u, x) ליתר ( ( )) תכונותשלעציםפורשיםמינימלים: האלגוריתםשלעץפורשמינימלייעבודגםעלקשתותשליליות. אםמעליםאתכלהקשתותבסכום מסויים, קשתשהיתהמינימליתבחתךתישארמינימליתבחתך. דרךנוספת לראותזאתהיאדרךמשקל העץ. אםאנומעליםאתכלהקשתותבסכוםקבוע, עץשהיהמינימלילפניכןישארעץפורשמינימלי. תרגול.6.04 רשתותזרימה, ופונקצייתקיבולאישליליתעל רשתזרימה ) ( N,, היאגרףמכווןעםקודקודים הקשתות e). c( זרימהברשתהיאפונקציהעלהקשתות e) f ( כךשהזרימהבכלקשתהיאבין 0 לקיבולהקשת, ( סכוםהזרימההנכנסתשווהלסכוםהזרימההיוצאת. ולכלקודקוד (פרטל זרימהמקסימליתהיאזרימהחוקיתכךשסכוםהזרימההיוצאתמ הואמקסימלי. ערךהזרימה סכוםהזרימההיוצאתמ. חתךברשת חלוקהשלהקודקודיםלשתיקבוצות, כךשקבוצהאחתמכילהאת והשניהאת. c( e) קיבולתשלחתך - e( u, v) u V v V f ( e) f ( e) זרימהבחתך - e( u, v) e( u, v) u V u V v V v V טענה בזרימה חוקית הזרימה בכל חתך שווה. משפט min ca= max flow החתךעםהקיבולהמינימליברשתשווהלערךהזרימההמקסימלית.

55 v v 05 5 47 4 3 30 v 3 30 v 4 c= f = 7 FF מתחיליםעםזרימה 0. בכלשלבמחפשיםמסלולמשפרזרימהומזרימיםבוככלשניתן. כאשראיןיותרמסלוליםמשפרים, עוצרים. מסלולמשפר מסלוללאמכווןמ ל, כךשכלקשתקדימהלארוויהוכלקשתאחורהלא ריקה. פוטנציאלשיפורשלמסלול מינימוםפוטנציאלהשיפורשלהקשתותבו. פוטנציאלשיפורשלקשתבמסלול: קשתקדימה e) c( e) f ( קשתאחורה e) f ( סיבוכיותהאלגוריתםתלויהבערךהזרימה. לכןהסיבוכיותהיא ) F. O( E 55 5 v v 05 הגרף לאחר שיפור אחד: 57 34 03 30 v 3 30 v 4

EC האלגוריתםפועלכמו FF עםהבדלאחד: המסלולהמשפרשנבחריהיההקצרביותרהאפשרי. V סיבוכיות: ) V. O( E טענה באלגוריתםהנ"למשתמשיםבכלקשתלכלהיותר הדגמתהרצתFF : מתחיליםעםזרימה 0: פעמים. 05 v v 05 0 07 04 03 00 v 3 00 v v v3 v4 (המסלולהמשפרהראשוןיכוללהיותרק המסלולהמשפרהראשון: עםקשתותקדימה, משוםשבקשתותאחורההזרימההיא 0). פוטנציאלשיפור 3. v 4 35 3 v v 05 07 04 33 30 v 3 v 4 30. v v פוטנציאלשיפור 3. 3

35 v v 05 3 37 34 03 30 v 3 30. v v v3 v4 המסלולשבחרנובהתחלהנהפךשובלמסלולמשפר, משוםשהגרף השתנה. פוטנציאלהשיפורהוא 3. v 4 65 v v 05 6 37 34 33 60 v 3 v 4 60. v v פוטנציאלשיפור. 3 65 6 v v 05 47 44 3 60 v 3 60 v 4. v v פוטנציאלשיפור 3

95 v v 05 9 77 44 3 60 v 3 v 4 60. v v v v פוטנציאלשיפור. 3 4 05 0 v v 05 37 44 33 70 v 3 70 וזוהי הזרימה המקסימלית. v 4 טענה החתך הוא מינימלי אם ורק אם עבור כל זרימה מקסימלית כל הקשתות קדימה יהיו רוויות וכל הקשתות אחורה ריקות. תרגיל נתונהרשתזרימהוזרימהמקסימליתבה. מצאחתךמינימלי. נסרוקמ ונתקדםרקעלקשתותקדימהלארוויותאואחורהלאריקות. כאשרלאנוכללהתקדםעוד נקבלחתךמינימלי. סיבוכיות:.BFS תרגיל בהנתןרשתזרימהוזרימהמקסימלית, מצאאלגוריתםהבודקהאםישנוחתךמינימלייחיד.

נשתמשבאלגוריתםהקודם. לאחרמכןנתחילמ ונלךהפוך. נתקדםכלפעםשישקשתאחורהלא רוויה. נתקדםעדשנקבלחתךמינימלי. אםזהואותוחתךשמצאנו, הואיחיד. אםלא, הואלאיחיד. כיוון : אםמצאנועודחתך, סימןשהואלאיחיד. כיוון : צריךלהוכיחשאםמצאנובשתיהסריקותאתאותוהחתך, זהוהחתךהיחיד. החתךהראשוןשמצאנובסריקההראשונההואהחתךהמינימליהקרובביותר ל. כלחתךמינימליאחר. V V בגרףבהכרחיכילאתהקבוצההמכילהאת. הוכחנושהחתךהואהכיקרובל. אםאנומפעיליםאתהאלגוריתםמהכיווןהשני, הואהכיקרובל. אםזהואותוחתך, אזזהוהחתךהיחיד. תרגול 8.6.04. ומ חתךשנמצאע"יהרצתהאלגוריתםמ - ( V, V ) עבור כל חתך מינימלי ( V, V מתקיים ). V V V ו V V V = V = V e תאראלגוריתםהקובעהאם. e( u, v) תרגיל נתונהרשתזרימהוזרימהמקסימליתבה. כמוכןנתונהקשת שייכתלאחד (אויותר) מהחתכיםהמינימלייםברשת. טענה: קשת e שייכתלחתךמינימליאםורקאם כלהקטנהשלהקיבולתשלהמקטינהאתערךהזרימה המקסימליתברשת. נמצאמסלולעםזרימהחיוביתמ ל העוברדרך. e נקטיןאתהזרימהבמסלולב ε ונקטיןאת יכולתהקיבולשל e ב ε. נחפשמסלולמשפרזרימהמ ל e. שייכתלחתךמינימליאםורקאם איןמסלולכזה. נניחש e שייכתלחתךמינימלי M. הקטנהשלהקיבולתשל e ב ε מקטינהאתהקיבולשל M ב ε. לכןקיבלנוחתךבקיבולתקטנהמהמינימלי בגרףהמקוריולכןהזרימההמקסימליתקטנהיותר. נניחש e לאשייכתלאףחתךמינימלי. נסמן: M החתךהמינימלי, M החתךהקטןביותרהמכילאת M M. e מההנחהנובעש. M > M לכןאםנקטיןאתהקיבולשל e ב, החתכיםהיחידים M M שיפגעוהםהחתכיםהמכיליםאת e וקיבולםיהיהגדולאושווהל M. M < לכןהזרימה המקסימליתאינהמשתנה. שימושים של זרימה

שידוך בגרף דו צדדי שידוך הוא תת קבוצה של קשתות שאין לאף שתים מהן קודקוד משותף. גודלהשידוךהואמספרהקשתות (מספרהזוגותהמשודכים). שידוךמקסימליהואשידוךחוקיעםמספר מקסימלישלקשתות. מציאתהשידוךהמקסימלינעשיתע"יהוספתכיווןלקשתותמהקבוצההראשונהאלהקבוצההשניה. נוסיףקודקוד וקודקוד. נמתחקשתותמכוונותמ אלכלאחדמהקודקודיםבקבוצההראשונה. נמתחקשתותמהקבוצההשניהל. נגדירשלכלהקשתותישקיבול. הקיבולהמקסימלייהיהכל הקשתותשלהגרףהדוצדדישזורםבהןמשהו. כלקשתרוויהבגרףהדוצדדיהיאקשתבשידוך. הסבר: ישרקקשתאחתמ לכלקודקודבקבוצההראשונה. לכןאםהזרימההיא, תוכללהיותממנורק קשתאחתביןשתיהקבוצותבהישזרימה (אלגוריתם FF יתןערךשלםשלזרימהעבורקיבולתשלמה שלקשתות). סיבוכיות: לפיFF הסיבוכיותתהיה. O( E V ) ניתןלהראותהתאמהביןזרימהלשידוך. אםניתנתזרימה, ניתןלבנותשידוךחוקיבאותוגודל. אםניתן שידוך, ניתןלבנותממנוזרימה. אםאנולוקחיםזרימהמקסימלית, ניתןלהתאיםלהשידוך. השידוךהוא מקסימלי, משוםשאםהואהיהיותרגדולהיהניתןלבנותממנוזרימהגדולהיותרמהזרימההמקסימלית. תרגיל

,...,m}.{ צריך y,..., yn,..., S. הקבוצותאינןבהכרחזרות. כולןמוכלותבקבוצה נתונות n קבוצות Sn,..., x ו למצוא (אולהגידשאין) מערכתכפולהשלנציגים, כלומרמספרים xn,...,,..., y שונים. yn ו x xn וכלהמספרים xi, yi Si כך ש קבוצות מספרים M m קשתותלפי שייכותבקיבול S M S n אם הזרימה המקסימלית שווה ל, n ישנציגיםכאלה. אםהיאקטנהמ, n איןנציגיםכאלה.. V = m סיבוכיות: הסיבוכיותהיאשל.FF נתרגםאת n<. לכן m לנתוניהשאלה. אנויודעיםש O( E V ) = E S i תרגול 3 5.6.04 (סכום גודל הקבוצות). A V V משפטהול (משפטהחתונה) =G גרףדוצדדי. בG יששידוךהמכסהאת יהי ) V ( V, V, מתקיים אם ורק אם לכל. 3 N( A) - קבוצתהשכנים. A N( A),V אזלכלקודקודהשייךל נוכיחשאםיששידוךהמכסהאת לפחותבגודלשלהקבוצה. משוםכךלכל A A V מתקיים. ישבןזוג. לכןמספרהשכניםהוא N( A) A V מספרהשכניםשלהגדולאושווהמגודלה. נניחשהתנאימתקיים, כלומרלכלתתקבוצהשל,V נוכיחאת נוכיחאתהטענהבעזרתרשתזרימה. אםנראהשברשתהזרימהשיצרנוישזרימהבגודל הטענה.

V V נבנה רשת זרימה ונוכיח שיש בה זרימה בגודל נראה שהחתך המינימלי הוא בגודל. V V. V בקיבולתגדולהאושווהל חתךכלליבגרףיראהבצורההבאה ולכן הזרימה ברשת היא בגודל V וקודקודים מ (, קודקודיםמ :(V. V נראהשכלחתךהוא V V N( A) A V עלינולהראותשישבחתךלפחות שלA. V A+ N( A) V קשתות. אנויודעיםשמספרהשכניםשל A גדולאושווהמהגודל k הוכחשבגרףיש.( k תרגיל נתוןגרףדוצדדי k רגולרי (דרגתושלכלקודקודהיאבדיוק מושלמיםזרים (איןאףזוגדומהבאףאחדמהשידוכים). שידוכים הוכחהבאינדוקציה: בסיס: = k. גרף רגולריהואשידוךמושלם. הנחה: עבורגרף k רגולרי, בגרףיש k שידוכים מושלמים זרים. k אםנוכיח שבגרף k רגולרייששידוךמושלם, אזאפשרלמחוקשידוךזהמהגרףולקבלגרףk רגולרי. בגרףהזהישלפיההנחהk שידוכיםמושלמיםזרים. הםזריםגםלשידוךהחדשולכןיש שידוכיםמושלמיםזרים.

טענה: בגרף דו צדדי k רגולרי יש שידוך מושלם.. A נראה ש. V = V מספר הקשתות היוצאות מ V הוא V k. מספרהקשתותהיוצאותמ V A V k V. = V k.v מספיקלהוכיחשלכל נראהשיששידוךהמכסהאת תהי מתקיים הוא אותו מספר:. N( A) A A V קשתות. כלקודקודב. מספרהקשתותמ A ל הוא A) N( N( A) לכןל. k A נכנסות לפחות k A N( A) k מקבל בדיוק קשתות. לכןמספרהקודקודיםב N( A) הוא לפחות תרגיל נתונהרשימה M שלמטוסים, רשימה N שלנווטיםורשימה P שלטייסים. צריךלמצואצוותשיעלהמס' מקסימלישלמטוסיםלאוויר, כךשכלצוותמכילטייסונווט, כאשרלכל אישצוותנתונהרשימהשלמטוסיםשמותרלולעלותאליהם. פתרון: כדילמנועמצבבוכמהצוותיםנכנסיםלאותומטוס, נגדירקשתממטוסלהעתקשלעצמובקיבולת. N M P סיבוכיות:,FF משוםשהזרימהכאןחסומהע"ימספרהמטוסיםומספרהטייסים. ניתןלראותשכל טייסיכוללהיותשייךרקלמטוסאחד. באותואופןגםכלנווטיכוללהיותשייךרק למטוסאחד. משוםכךזהוציוותחוקיוגודלוהואגודלהזרימה. לכןאםהוכחנושישנהזרימהבגודל ניתןלבנותממנהציוותחוקיבגודל. k לכןהזרימההמקסימליתשווהלציוותהמקסימלי. שיטותלפתרוןבעיותזרימה:. לשחקעםהקיבולות.. גרףדוצדדי, תלתצדדי. 3. לפצלקודקודיםכדילהגבילקיבולתלקודקוד., k