מתמטיקה בדידה תרגול מס' 13 נושאי התרגול: תורת הגרפים. 1 מושגים בסיסיים נדון בגרפים מכוונים. הגדרה 1.1 גרף מכוון הוא זוג סדור E G =,V כך ש V ו E. V הגרף נקרא פשוט אם E יחס אי רפלקסיבי. כלומר, גם ללא לולאות. הערה 1. מעתה ואילך, אם לא נאמר אחרת, גרף משמעו גרף לא מכוון ופשוט. דרגות בגרפים: הגדרה 1.3 בגרף G, עבור צומת v, הדרגה של v היא מספר הצמתים ש v סמוך אליהם. באופן פורמלי d (v) = {u V {u, v} E} d (v) = E v V משפט 1.4 בכל גרף E G = V, מתקיים: הגדרה 1.5 יהא E G = V, גרף. הגרף המשלים לו הוא Ē Ḡ = V, כך ש Ē = P (V ) \E תרגיל 1.1 כמה גרפים E, n},...,, 1 } קיימים, כאשר? E = m. בכמה גרפים E, n},...,, 1 } אין קודקודים מבודדים (כלומר, כאלו שדרגתם?(0 ( n זוגות צמתים, וכל קשת מתאימה לזוג צמתים. מכאן, שמספר 1. כל קשת מחברת בין שני צמתים. ישנם האפשרויות הוא: (( n ) m. נפתור ע"י הכלה והדחה. 1
(א) ה"עולם" שלנו: כל הגרפים הפשוטים שאינם מכוונים על n צמתים (נסמן קבוצה זו ב U). לכל ( n הקשתות האפשריות יש אפשרות להופיע או לא להופיע. לכן: אחת מתוך U = (n (ב) לכל i n 1 נגדיר את A i להיות כל הגרפים הפשוטים שאינם מכוונים על n צמתים כך שצומת מס' i מבודד. ) ( קשתות אפשריות. לכן: n 1 i. עבור הגרפים שב,Ai ישנן A i = (n 1 ) A i1... A ik = (n k ) :1 i 1 <... < i k n באופן דומה, עבור.ii n n. מנוסחת ההכלה וההדחה: Āi ( ) Ā i = (n n ( n 1 ) n + (n 1 )... + ( 1) n (n n ) = n ( ) ( 1) i n (n i ) i i=0 (ג) אנו מחפשים את תרגיל הוכח כי מספר הגרפים על הקודקודים {n V =,1},..., בהם אין צמתים מבודדים שווה למספר הגרפים בהם אין צמתים שדרגתם 1 n. תהא A קבוצת הגרפים בהם אין צמתים מבודדים ו B קבוצת הגרפים בהם אין צמתים שדרגתם 1 n. נראה שקיימת f A B פונקצית הפיכה, מה שיוכיח ש B. A = נגדיר את f כך: יהא Ḡ ) f = λg A.Ḡ הגרף המשלים של G). מתקיים כי f (G) = Ḡ B כי אם אין צמתים מבודדים, לכל v V ב G מתקיים ש 1 v.deg לכן, ב.(n בגרף המלא כל הדרגות הן 1 (כי deg v n,v V לכל Ḡ את העובדה ש f היא פונקצית שקילות קל להסיק מכך שקיימת פו' g B A שהיא ההופכית של g f. מוגדרת כך: g. = λg B.Ḡ מכיוון שהמשלים של המשלים של גרף G נותן את G נובע שלכל G A f g(g) = G G B ולכל g f(g) = G איזומורפיזמים הגדרה.1 יהיו 1 G 1 = V 1, E ו G = V, E שני גרפים. נאמר שהם איזומורפיים אם קיימת פונקציות שקילות ϕ V 1 V כך ש: u, v V 1. {u, v} E 1 {ϕ (u), ϕ (v)} E
תרגיל 3 הוכח ששני הגרפים הבאים אינם איזומורפים: G 1 =< {1,, 3, 4, 5}, {{1, }, {, 3}, {3, 1}, {1, 4}, {3, 5}} > G =< {a, b, c, d, e}, {{a, b}, {a, c}, {a, d}, {d, e}, {a, e}} > נוכיח טענת עזר: טענה. עבור שני גרפים איזומורפיים G, 1, G אם ב G 1 יש קודקוד שדרגתו k, אז גם ב G יש קודקוד שדרגתו k. הוכחה: נסמן > i G i =< V i, E עבור = 1,.i תהי f V 1 V איזומורפיזם בין הגרפים. יהי x V 1 קודוקוד שדרגתו.k נוכיח ש,f(x) V הוא קודקוד שדרגתו.k יהיו v 1,..., v k השכנים של x ב.G 1 בגלל ש f איזומורפיזם נסיק ש ) k f(v 1,(..., f(v הם k שכנים שונים של.f(x) לכן דרגתו לפחות k. אם היה לו שכן נוסף, נסמנו,y אז f 1 (y) V 1 הוא שכן של,x ששונה מ, v 1,..., v k בסתירה לכך שדרגתו של x היא.k מהטענה נובע ש G 1 לא איזומורפי ל G. תרגיל לבית: טענה.3 עבור שני גרפים איזומורפיים G, 1, G אם ב G 1 יש בדיוק l קודקודים שדרגתם k, אז גם ב G יש בדיוק l קודקודים שדרגתם k. 3 טיולים הגדרה 3.1 בגרף E,G = V, רשימה סדורה של צמתים k v 0, v 1,..., v נקראת "טיול" אם לכל i 0.k אורך הטיול הוא.{v i, v i+1 } E,k 1 הגדרות נוספות: "מסלול" הוא טיול העובר בכל קשת לכל היותר פעם אחת. "מסלול פשוט" הוא מסלול העובר בכל צומת לכל היותר פעם אחת. "מעגל" הוא מסלול שמתחיל ומסתיים באותו צומת, כלומר v. 0 = v k הגדרה 3. יהי E G =,V גרף לא מכוון. נאמר שקודקודים,u v קשורים, אם קיים טיול בין u ל v. נאמר שגרף הוא קשיר אם כל שני צמתים בו קשורים. הגדרה 3.3 יחס הקשירות הוא יחס שקילות. מהווים חלוקה של צמתי V. למחלקות הקשירות נקרא "רכיבי קשירות", ומכאן נסיק שהם תרגיל 5 נתון גרף (לא מכוון ופשוט) E G =,V כך שדרגת כל צומת בו היא לפחות d, ו V. d d הוכיחו כי ב G מעגל בגודל 4. 3
נניח בשלילה שקיים גרף כזה ללא מעגלים בגודל 4. יהא v V צומת ב G עם שכנים } d Γ = {u 1,..., u (יכולים להיות יותר מ d כמובן). לכל שני צמתים x, y Γ אין שכן משותף u V כי אחרת יווצר מעגל v v, x, u, y, באורך.4 לכל צומת x Γ קיים לכל היותר y Γ יחיד כך ש.{x, y} E אחרת, אם קיימים y 1, y Γ כאלו כך ש y 1 y הרי שקיבלנו מעגל v v, y 1, x, y, באורך.4 לכן, לכל i d 1 יש קשת אחת } i,v} u וקשת אחת לכל היותר לצומת אחר ב Γ. לכן, קיימות לפחות d קשתות מ u i ל w ij V (שונים) עבור d j.1 V {v} Γ {w ij 1 i d, 1 j d } = 1 + d + d (d = d d + 1 קיבלנו, אם כך, כי: בסתירה להנחה. 4 עצים ויערות הגדרה 4.1 גרף G ייקרא עץ אם הוא קשיר וחסר מעגלים. הגדרה 4. גרף ייקרא יער אם הוא חסר מעגלים. משפט 4.3 התנאים הבאים שקולים, עבור גרף G לא מכוון:.1 G עץ.. G קשיר ובכל תת גרף שלו יש צומת שדרגתו 0 או 1.. E = V קשיר ו 1 G.3 4. G קשיר מינימלי (דהיינו, אם נסלק קשת נקבל גרף לא קשיר). 5. בין כל שני צמתים של G יש מסלול (פשוט) יחיד.. E = V חסר מעגלים ו 1 G.6 7. G חסר מעגלים מקסימלי. תרגיל 6 הוכיחו כי אם > E G =< V, קשיר, ו 1 V E = אז G עץ. ראשית נוכיח את הטענה הבאה: טענה 4.4 אם בגרף G קיים מסלול/הילוך בין קודקוד v לקודקוד w, אז קיים גם מסלול פשוט מ v ל w. 4
הוכחה: נקח מסלול מ v ל w ב G מאורך מינימלי:,v = v 0, v 1,... v k 1 v k = w ונוכיח שזה מסלול פשוט. אחרת, קיימים 1 k i < j,0 כך ש.v i = v j אבל אז v = v 0, v 1,... v i v j+1... v k = w גם מסלול מ v ל w מאורך קטן יותר, סתירה. עלינו להוכיח ש G לא מכיל מעגל. נסמן > E V, = n, G >=,V נוכיח את הטענה באינדוקציה על n. עבור n. ונוכיח ל n, הטענה טריוויאלית. נניח נכונות ל 1 n = 1 ע"פ משפט מהכיתה, סכום הדרגות של הקודקודים הוא n E. = מכאן שיש קודקוד עם דרגה קטנה מ. מכיוון שהגרף קשיר נסיק שיש קודקוד, נסמנו v, שדרגתו היא 1.נתבונן בתת גרף G המתקבל מ G ע"י הסרת הקודקוד v, והקשת שיוצאת ממנו. ב G יש 1 n קודקודים, ו nקשתות. כמו כן G קשיר כי: לכל קוקודים,u v ב G, קיים הילוך ב G שמקשר בינהם, ולכן קיים גם מסלול (פשוט) שמקשר בינהם. המסלול לא יכול לעבור דרך v ולכן מסלול זה הוא גם מסלול ב G. מהנחת האינדוקציה נסיק ש G הוא עץ, ולכן חסר מעגלים. נניח בשלילה שיש ב G מעגל. מכיוון שמעגל הוא מסלול, מעגל זה לא יכול לעבור דרך, v ולכן זהו גם מעגל ב.G סתירה. תרגיל 6 נתונים שני עצים 1 T 1 = V, E ו.T = V, E הוכיחו כי בגרף G = V, E 1 E ישנו צומת שדרגתו לכל היותר 3. E 1 E E 1 + E = V 1 + V 1 = V d (v) = E 1 E v V 4 V 4 מכיוון ש T 1 ו T עצים, מתקיים כי: מכאן, שסכום הדרגות ב G מקיים: נניח כעת בשלילה כי לכל d (v) 4,v V ב.G אזי: d (v) 4 V v V בסתירה. מכאן, שישנו צומת שדרגתו לכל היותר 3. תרגיל 7 ביער 50 רכיבי קשירות ו 00 קודקודים. כמה קשתות יש ביער? יהא E G =,V הגרף הנתון. כל רכיב קשירות הוא עץ. עבור רכיב הקשירות ה i (50 C i i 1), נסמן ב n i ו m i את מספר הצמתים והקשתות שבו, בהתאמה. מתקיים: 50 n i = ( 50 n i = m i + 1 ) m i + 1 = ( 50 ) m i + 50 ולכן: 5
ומכאן: E = ( 50 ) n i 50 = 00 50 = 150 5 צביעות תרגיל נתון גרף G עם דרגה מקסימלית 10. הוכיחו ש G הינו 11 צביע. נוכיח באינדוקציה על מספר הקודקודים n. עבור = 1 n ברור. נניח שהטענה נכונה לכל גרף בעל n קודקודים, ונוכיחה לגרף בעל + 1 n קודקודים. יהי G גרף בעל + 1 n קודקודים. נבחר קודקוד מסויים בגרף v, V ונשמיט אותו יחד עם כל הקשתות שיוצאות ממנו. מקבלים גרף G עם n קודקודים ודרגה מקסימלית 10. ע"פ הנחת האינדוקציה הוא 11 צביע. מכיוון שהקודקוד v (שהושמט) נמצא בשכנות ללכל היותר 10 קודקודים אחרים, נוכל לצבוע אותו בצבע ששונה מכל שכניו, וכך מקבלים צביעה חוקית עם 11 צבעים לגרף המקורי G. 6 משפט קיילי משפט 6.1 מספר העצים על קבוצת הצמתים n},... {1, הוא n.n רעיון ההוכחה: פונקצית שקילות מעץ למחרוזת מאורך n מעל n},....{1, יצירת מחרוזת מעץ: בכל שלב נמחק את העלה הנמוך ביותר בגרף ונוסיף את שכנו למחרוזת. יצירת עץ ממחרוזת: קבע לכל v את (v) d להיות מספר ההופעות של v במחרוזת + 1. בשלב i (מ 1 עד,(n יהא j הנמוך ביותר בעל = 1 (j).d בנה קשת } i {j, a כאשר a i הוא התו ה i י במחרוזת. עדכן 0 (j) d ו 1 ) i.d (a i ) d (a תרגיל 8 לבסוף, הוסף קשת בין שני הצמתים הנותרים בעלי דרגה 1..1 בכמה עצים על n}?d (4) = i,{1,...,. בכמה עצים על n},...,{1, הצמתים 1,, 3 הם עלים?.3 בכמה עצים על n},...,{1, הצמתים 1,, 3 הם העלים היחידים?.4 בכמה עצים על n},... {1, יש 3 n עלים בדיוק?.5 בכמה עצים על n},...,{1, הצמתים 1, קשורים בקשת? 6. בכמה גרפים על {5,...,1} יש לפחות מעגל אחד? 6
.1 שאלה שקולה: בכמה מחרוזות באורך n מעל n},... {1, הספרה 4 מופיעה i 1 פעמים? התשובה:. ( ) n i 1 (n 1) (n (i 1). שאלה שקולה: בכמה מחרוזות באורך n מעל n},... {1, לא מופיעים המספרים.1,, 3 התשובה:.(n 3) n.3 שאלה שקולה: בכמה מחרוזות באורך n מעל n},... {1, לא מופיעים המספרים,1,, 3 וכן מופיעים כל האחרים? נפתור ע"י הכלה והפרדה. נסמן: U כל המחרוזות באורך n מעל n},... {1, בהן לא מופיעים המספרים.1,, 3 A i (עבור i n (4 כל המחרוזות באורך n מעל n},... {1, בהן לא מופיעים המספרים,1,, 3 וגם לא מופיע i. n. ע"פ נוסחת ההכלה וההפרדה: אנו מחפשים את 4=i Āi n i=4 n 3 Ā i = U ( 1) j+1 j=1 ( n 4 j ) (n 3 j) n = n 3 ( n 4 ( 1) j j j=0 ) (n 3 j) n 4. שאלה שקולה: בכמה מחרוזות באורך n מופיעים בדיוק 3 איברים. נקבע את שלושת האיברים ולאחר מכן נפתור ע"י הכלה והדחה, כאשר U הוא אוסף כל המחרוזות מעל 3 איברים ו A i עבור 3 i 1 הוא קבוצת המחרוזות בהן i לא מופיע. לכן: ( ) n (3 n 3 n + 3 ) 3 ( n הוא מספר האפשרויות לבחור את האיברים שיופיעו והביטוי השני הוא הכלה והדחה. 3) כאשר 5. נסמן ב x מספר עצים זה. x הוא גם מספר העצים שבו הצמתים,i j קשורים, לכל i j (ע"י פונקצית שקילות בצמתים). נסתכל על הסכום: x 1 i<j n 1 i<j n כל עץ על n צמתים נספר בסכום זה 1 n פעמים. מכאן x = (n 1) n n 1 i<j n x = ( ) n x ומצד שני, ולכן x = (n 1) nn (n 1) nn ( n ) = = n n 3 n (n 1) ישיר ע"ס קוד פריפר: שאלה שקולה: כמה סדרות באורך n יש מעל {n,...,,1} יש מהצורה: (א) #... # ב # אין 1 ים. (ב) #... 1#?...? ב?יכול להיות כל דבר, ב # אין 1 ים. (ג) #... 1# ב # אין ים. (ד) #... 1#?...? ב?יכול להיות כל דבר, ב # אין ים. 7
א+ב נותנים 3 n n (לוקחים סדרה כלשהי באורך n ודוחפים אחרי ה 1 הימני ביותר). כנ"ל ג'+ד'. סה"כ : n 3 n. נחלק למקרים זרים, לפי מספר רכיבי כלומר, כמה יערות יש מעל {5,...,1}. 6. נחפש את המשלים. הקשירות: (א) רכיב קשירות אחד 3 5 אפשרויות. ( 5 אפשרויות, או שברכיב (ב) שני רכיבי קשירות או שברכיב אחד יש צומת אחד ובשני 4, ואז 1 4 (1 ( 5 אפשרויות (כי שני צמתים מגדירים עץ יחיד). אחד יש צמתים ובשני,3 ואז 1 31 ( 5 אפשרויות (ג) שלושה רכיבי קשירות או שבשני רכיבים יש צומת אחד ובשלישי 3, ואז 3 1 1 1. ( 5 4 1)( או שבשני רכיבים יש שני צמתים וברכיב שלישי אחד, ואז 1 1 1 ( 5 אפשרויות. (ד) ארבעה רכיבי קשירות בשלושה רכיבים יש צומת אחד וברביעי, ואז 1 1 1 1 (ה) חמישה רכיבי קשירות אפשרות אחת. לסיכום: מספר הגרפים הוא )( ) ( ) ) 4 5 + + 1 (5 (5 3 + 5 4 + ( ) 5 3 + ( 5 1 8