Professional Documents
Culture Documents
גדי אלכסנדרוביץ'
תוכן עניינים
2 מבוא . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1
37 IIמבוא לתורת הגרפים
37 . . . . . . . . . . . . . . . . . . .
גרפים ־ הגדרה ודוגמאות . . . . . . . 10
40 . . . . . . . . . . . . . . . . . . .
מסלולים אוילריים . . . . . . . .. . . 11
42 . . . . . . . . . . . . . . . . . . .
גרפי דה־ברויין . . . . . . . . .. . . 12
44 . . . . . . . . . . . . . . . . . . .
עצים . . . . . . . . . . . . . .. . . 13
44 הגדרה ואפיונים בסיסיים . . . . . . . . . . . . . . . . . . . . . . 13.1
46 משפט קיילי לספירת עצים . . . . . . . . . . . . . . . . . . . . . 13.2
48 עצים מכוונים . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.3
49 עצים פורשים . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.4
49 הגדרה וקיום . . . . . . . . . . . . . . . . . . . . . . 13.4.1
50 ספירת עצים פורשים ־ משפט קירכהוף לגרפים מכוונים 13.4.2
53 ספירת עצים פורשים ־ משפט קירכהוף לגרפים לא מכוונים 13.4.3
54 מספרי קטלן . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
55 מסלולי שריג . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.1
55 סוגריים מאוזנים ומילות דיק . . . . . . . . . . . . . . . . . . . . 14.2
57 עצים בינאריים . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.3
58 שילושים של מצולע קמור . . . . . . . . . . . . . . . . . . . . . . 14.4
59 ספירת מסלולים בגרף . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
59 מבוא . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.1
60 הוכחת הטענה הכללית . . . . . . . . . . . . . . . . . . . . . . . 15.2
61 שימוש :פונקציות יוצרות ונוסחאות נסיגה . . . . . . . . . . . . . . 15.3
62 חזרה אל הדוגמא . . . . . . . . . . . . . . . . . . . . . . . . . . 15.4
מבוא 1
קומבינטוריקה היא התחום במתמטיקה שעוסק באובייקטים סופיים ,וכפי שניתן לנחש
מההגדרה העמומה הזו מדובר על תחום רחב ביותר שגבולותיו לא פשוטים להגדרה .בקורס
הזה נעסוק בשני תחומים עיקריים :בעיות ספירה )קומבינטוריקה אנומרטיבית( ,ומבוא
לתורת הגרפים.
בעיות ספירה הן בעיות מהצורה הבאה :בהינתן הגדרה כלשהי של קבוצה סופית של
אובייקטים ,כמה אובייקטים יש בקבוצה? לדוגמה ,כמה ידיים אפשריות קיימות במשחק
ברידג'? כמה תוצאות אפשריות יש בלוטו? כמה הרכבי בתים אפשריים קיימים בטורניר
כדורסל? כמה מצבים אפשריים יש ללוח במשחק שחמט? וכדומה.
לרוב השאלות מנוסחות על קבוצת אובייקטים שמוגדרת באמצעות פרמטר nכלשהו.
למשל ,בכמה דרכים אפשר להציג את המספר nכסכום של מספרים טבעיים קטנים ממנו?
בכמה דרכים ניתן לחלק מצולע משוכלל בעל nצלעות למשולשים? בכמה דרכים יכול דוור
מבובל/מזכירה מבולבלת )תלוי את מי רוצים להעליב( לחלק nמכתבים כך שאף אחד לא
יגיע ליעדו?
שאלות כאלו צצות באופן טבעי במדעי המחשב ,כשההקשר הנפוץ ביותר הוא ניתוח
סיבוכיות של אלגוריתמים ,שם הקומבינטוריקה נחוצה הן בכדי להבין את מספר צעדי
הריצה שהאלגוריתם מבצע והן את גודל מרחב הקלטים שאיתו הוא מנסה להתמודד .הקשר
חשוב אחר הוא בעיות הסתברותיות ואלגוריתמים הסתברותיים; הבנה של ההסתברות של
מאורע מסויים דורשת לרוב ניתוח קומבינטורי של כמות התוצאות האפשריות בכלל )למשל,
ידיעת ההסתברות לזכיה בלוטו דורשת הבנה של כמות התוצאות האפשריות בלוטו(.
2
הפתרון הטוב ביותר לבעיה קומבינטורית הוא כמובן מספר מדויק ,ובמקרה של בעיה
שתלויה בפרמטר ,nנוסחה פשוטה שתלויה ב־ n־ למשל ,מספר תתי־הקבוצות של קבוצה
מגודל nהוא בדיוק .2nבקורס זה תיווצר `אשליה` שרבות הבעיות שניתן למצוא להן
נוסחה מדוייקת שכזו ,שכן רבות מהבעיות שנציג בקורס אכן יהיו כאלו; בעולם האמיתי
נוסחה סגורה שכזו היא נדירה בהרבה ,ולעתים קרובות גם איננה מועילה במיוחד .עיקר
העניין הוא בסדר הגודל של הפתרון; קירוב אסימפטוטי כלשהו אליו .מכיוון שאנו עוסקים
במבוא בלבד ,בקורס זה לא ניגע בכלל בעניינים אלו ,שהם לב לבה של הקומבינטוריקה
האנומרטיבית.
עבור בעיות שלא קל למצוא להן פתרון סגור פשוט באמצעות שיקולים אלמנטריים נלמד
מקצת מהכלים החזקים יותר שמאפשרים התמודדות עם הבעיה ־ עקרון ההכלה וההפרדה,
נוסחאות נסיגה ופתרונן ופונקציות יוצרות .כמו כן נדבר על הבינום של ניוטון ,משולש פסקל
ועקרון שובך היונים ,שהם מושגים מתמטיים בסיסיים הקשורים לספירה שהדרך הטובה
ביותר להבינם הוא במסגרת הקומבינטוריקה.
תורת הגרפים עוסקת באובייקט שהוא אולי המרכזי במדעי המחשב ־ אוסף של איברים
)`צמתים`( שחלקם מחוברים אלו לאלו )על ידי `קשתות`( .גרפים ממדלים אינספור בעיות
ומושגים במדעי המחשב ־ החל ברשתות חברתיות ותרשימי זרימה של תוכנותת עבור במעגלים
בוליאניים וקוונטיים וכלה במפות של מערכת כבישים .לא מעט מהאלגוריתמים הבסיסיים
במדעי המחשב מנוסחים על גרפים ,ובהתאם לכך אנו רוצים להכיר כאן את ההגדרות
הפורמליות והתכונות הבסיסיות שמערבות גרפים ,אם כי כמעט ולא נעסוק כאן באלגוריתמים
על גרפים .בחלק זה של הקורס הגישה תהיה מעט פורמלית ומדויקת יותר מאשר בחלקו
הראשון של הקורס; ננצל את הפשטות היחסית של החומר שבו אנו עוסקים כדי להמחיש
את שיטות הלימוד הנפוצה במתמטיקה של ”הגדרה־משפט־הוכחה“.
I חלק
קומבינטוריקה אנומרטיבית
עקרונות ספירה בסיסיים 2
בפרק זה נציג את `כלי העבודה` הבסיסיים של קומבינטוריקה אנומרטיבית ־ העקרונות
המנחים שמשמשים אותנו בפתרון כמעט כל בעיה קומבינטורית ,ופתרונות של כמה בעיות
יסודיות שמשתמשים בהן לרוב בתור אבן הבניין לפתרון בעיות מורכבות יותר.
בלשון מתמטית פורמלית ,בעיית ספירה קומבינטורית היא זו :נתונה קבוצה סופית A
ואנו מעוניינים למצוא מהו | |A־ מספר האיברים ב־.A
דוגמא כמה מהלכי פתיחה חוקיים יש לשחקן בכלים הלבנים במשחק השחמט?
במקרה זה כל רגלי של הלבן יכול לנוע צעד או שני צעדים קדימה ,וכל אחד מהפרשים
יכול לנוע אחד משני צעדים אפשריים קדימה .בסך הכל יש 8 + 8 + 2 + 2 = 20מהלכי
3
פתיחה אפשריים.
הכללה מה העקרון המשותף לדוגמאות שלעיל? בכל המקרים ביצענו בחירה מתוך כמה
`סוגי` אפשרויות שונים ,כשהבחירה היא מסוג או ־ או שמזיזים רגלי צעד אחד ) 8אפשרויות(
או שמזיזים רגלי שני צעדים ) 8אפשרויות( ,או שמזיזים את הפרש הימני ) 2אפשרויות( או
שמזיזים את הפרש השמאלי ) 2אפשרויות( .זהו מקרה פרטי של עקרון החיבור:
טענה ) 2.1עקרון החיבור( אם קיימות n1אפשרויות לבצע בחירה מסוג אחד ו־ n2אפשרויות
לבצע בחירה מסוג שני ,אז קיימות n1 + n2אפשרויות לבצע בחירה מסוג אחד או מהסוג
השני.
בניסוח מתמטי פורמלי ,אם A, Bהן שתי קבוצות זרות אז ||A ∪ B| = |A| + |B
דוגמא סטודנט צריך לקחת בסמסטר קורס ספורט אחד מבין שחמט וברידג' )מעשה שהיה
באמת בטכניון( ,וקורס מדעי אחד מבין פיזיקה וכימיה .כמה אפשרויות בחירה יש לו?
לסטודנט יש 2בחירות לקורס ספורט ו־ 2בחירות לקורס מדעי וכל זוג אפשרי של בחירות
הוא חוקי .ישנן אם כן 4אפשרויות:
.1שחמט ,פיזיקה
.2שחמט ,כימיה
.3ברידג' ,פיזיקה
.4ברידג' ,כימיה
כלומר ,לכל אחת מהאפשרויות לבחירה הראשונה ,בן זוגה יכול להיות כל אחת מהאפשרויות
בבחירה השניה.
דוגמא במונופול בכל סיבוב מוטלות שתי קוביות .כמה תוצאות אפשריות ישנן?
לכל אחת מהקוביות יש 6תוצאות אפשריות ,ואנחנו מתעניינים בכל הזוגות של תוצאה
של קוביה אחת ותוצאה של הקוביה השניה ,כך שבסך הכל יש לנו 36זוגות אפשריים מהצורה
) (i, jכאשר .1 ≤ i, j ≤ 6
הכללה מה העקרון המשותף לדוגמאות שלעיל? בכל המקרים ביצענו בחירה דו שלבית.
הבחירה היא מסוג `וגם` ־ יש לבחור גם קורס ספורט וגם קורס מדעי .זהו מקרה פרטי של
עקרון הכפל:
טענה ) 2.2עקרון הכפל( אם קיימות n1אפשרויות לבצע בחירה מסוג אחד ו־ n2אפשרויות
לבצע בחירה מסוג שני ,אז קיימות n1 · n2אפשרויות לבצע בחירה מסוג אחד וגם בחירה
מהסוג השני.
בניסוח מתמטי פורמלי ,אם A, Bהן שתי קבוצות )לא בהכרח זרות( אז = ||A × B
| A × B) |A| · |Bהוא אוסף כל הזוגות של איבר מ־ Aואיבר מ־.(B
4
תמורות )סידור בשורה( 2.2
בכמה דרכים ניתן לסדר nילדים בשורה?
זהו שימוש ישיר בעקרון הכפל .נפתור את הבעיה בשתי גישות שונות על מנת להמחיש
שניתן להגיע לתוצאה מכמה נקודות מבט שונות )מה שרק מחזק את האמונה שלנו בנכונות
התוצאה ,כמובן(.
• בגישה הראשונה נניח שאנו עוברים אחד אחד על הילדים ולכל ילד בוחרים לו מקום
בשורה מבין אלו שעדיין פנויים )אנו מניחים מראש שהשורה מחולקת ל־` nתאים`(.
עבור הילד הראשון יש nבחירות ,עבור השני יש רק n − 1בחירות )כי מקום אחד
כבר תפוס( ,עבור השלישי n − 2בחירות וכן הלאה עד לילד האחרון שיש לו בדיוק
בחירה אחת.
• בגישה השניה נניח שאנו עוברים אחד אחד על המקומות בשורה ולכל אחד מהם
בוחרים איזה ילד יהיה בו .גם כאן יש nבחירות לילד הראשון n − 1 ,בחירות לילד
השני )כי כבר סידרנו את אחד הילדים בשורה ולא ניתן לבחור בו שוב( ,וכן הלאה
עד למקום האחרון שבו יכול להיות רק ילד אחד בלבד ־ זה שנשאר.
• בגישה השלישית נבנה את השורה ילד אחרי ילד מבלי להניח שהשורה מחולקת מראש
לתאים ,כשבכל פעם אנו שואלים את עצמנו להיכן אפשר להכניס את הילד הבא בתור.
יש בחירה 1לילד הראשון )כי כרגע השורה ריקה( 2 ,בחירות לילד השני )משמאל או
מימין לילד הקיים( 3 ,בחירות עבור השלישי )משמאל לזוג הקיים ,מימין לו או באמצע(
וכן הלאה עד nבחירות לילד האחרון.
בכל המקרים קיבלנו את אותה התוצאה .1 · 2 · 3 · · · n :בגלל השימושיות הרבה של הפעולה
הזו במתמטיקה יש לה שם וסימון מיוחד) n! = 1 · 2 · · · n :קרי ` nעצרת`(.
את ! nניתן להגדיר גם באופן רקורסיבי שהוא מועיל לעתים:
• 0! = 1
• !) n! = n · (n − 1לכל .n ≥ 1
הערה 2.3אין ל־! nנוסחה פשוטה ,אך יש לה קירוב מצויין ,שהופך n
לשימושי מאוד√כאשר
עוסקים בקומבינטוריקה בחיפוש אחרי סדרי גודל בלבד :נוסחת סטירלינגn! ≈ 2πn ne ,
שמנת שני צדדי המשוואה שואפת ל־ 1כאשר nשואף לאינסוף,
הפורמלית היא √
n )המשמעות
.(n!/ 2πn neבקורס הזה לא נזדקק לנוסחת סטירלינג אך מומלץ דהיינו → 1
∞→n
להיות מודעים לקיומה.
דוגמא בכמה דרכים ניתן לסדר nילדים בשורה אם ידוע שאליס ובוב חברים ורוצים להיות
זה ליד זו?
כמקודם ,נפתור במספר דרכים:
• נסדר את כל הילדים בשורה למעט אליס (n − 1)! :אפשרויות .כעת אליס יכולה
להיות משמאל או מימין לבוב ,ולכן סך הכל יש !) 2 (n − 1אפשרויות.
• `נדביק` יחד את אליס ובוב ונחשוב עליהם בתור ילד אחד )בוליס?( .נסדר את n − 1
הילדים )הילדים הרגילים ו`בוליס`( בשורה ונקבל !) (n − 1אפשרויות .כעת ,יש שתי
אפשרויות לסידור הפנימי של `בוליס` )בוב מימין ואליס משמאל או בוב משמאל
ואליס מימין( ולכן מעקרון הכפל נקבל !) 2 (n − 1אפשרויות.
5
דוגמא אליס ובוב רבו .בכמה דרכים ניתן לסדר את nהילדים בשורה כך שאליס אינה
ליד בוב?
• נסדר את כל הילדים בשורה למעט אליס ־ !) (n − 1אפשרויות .כעת אליס יכולה
להיות בכל מקום למעט ימין או שמאל בוב ,ולכן יש לה n − 2אפשרויות ומעקרון
הכפל נקבל !).(n − 2) (n − 1
• `עקרון החיסור` :מספר אפשרויות הסידור בשורה של הילדים הוא ! ,nוראינו כבר כי
בדיוק ב־!) 2 (n − 1מתוך האפשרויות הללו אליס היא ליד בוב .אז מה שנותר הוא
אפשרויות.
הכללה הדוגמה שלעיל היא מקרה פרטי של הבעיה הבאה :בכמה דרכים ניתן לבחור k
מתוך nאובייקטים ) (k ≤ nכאשר יש חשיבות לסדר שבו נבחרים האיברים?
!n
!). (n−k כפי שראינו בדוגמה ,הפתרון הכללי הוא )= n · (n − 1) · · · (n − k + 1
!n
!) .P (n, k) = Pnk = (n−kאזהרה! יש עוד לצורך פשטות משתמשים לעתים בסימון
שלל צורות כתיבה מוזרות לסימון )דוגמת Pknאו (n Pkוהדרך הבטוחה ביותר להימנע
מבלבול היא פשוט לא להשתמש בו כלל.
6
סידור בשורה עם עצמים זהים 2.5
כדורים מצבע אחד k2 ,כדורים מצבע אחר וכן הלאה עד ktכדורים מצבע .t נתונים Pt k1
נסמן .n = i=1 kiבכמה דרכים ניתן לסדר את הכדורים בשורה?
דרך הפתרון היא לחשוב על כל הכדורים כשונים אלו מאלו ,לסדר אותם בשורה )!n
אפשרויות( ואז לכל צבע לחלק במספר הסידורים הפנימיים של אותו הצבע )! kiלכל .(i
מקבלים. k1 !k2n!!···kt ! :
צירופים הם מקרה פרטי כאשר ) t = 2אפשר לחשוב על כך כאילו בוחרים את המקומות
לכדורים מהצבע הראשון ,ואז המקומות עבור הצבע השני נקבעים מאליהם(.
אפשר לחשוב על ! k1 !k2n!!···ktבתור הכללה של צירופים :מספר האפשרויות לבחור k1
מתוך nאובייקטים עבור קבוצה אחת k2 ,עבור קבוצה שניה וכן הלאה ,כאשר אין חשיבות
לסדר הבחירה.
לעתים משתמשים בסימון ! . k1 ,k2n,...,kt = k1 !k2n!!···kt
טענה 2.4מספר האפשרויות לבחור kמתוך nאובייקטים עם חזרות ועם חשיבות לסדר
הוא .nk
שימו לב כי כאן לא נדרש ש־.k ≤ n
7
גם כאן הייתה בחירה עם חזרות )ניתן להכניס כדור לאותו תא פעמים רבות( וללא
חשיבות לסדר )הכדורים זהים ולכן לא חשוב אם קודם מכניסים אחד לתא 1ואז לתא 2או
הפוך ־ בסוף בשני התאים יהיה כדור בודד(.
סיכום 2.8
• סידור nעצמים בשורהn! :
• סידור nעצמים בשורה כאשר הם מחולקים למחלקות זהות בגדלים :k1 , . . . , kt
!n
! k1 !...kt
דוגמא מה ההסתברות לזכות בלוטו הישראלי ,שבו ממלאים 6מ־ 37מספרים ועוד 1מ־7
`מספרים חזקים`?
כאן יש לנו שתי בחירות ללאחשיבות לסדר וללא חזרות ואנו מפעילים עליהן את עקרון
7 · 37ולכן סיכויי הזכייה הם .1 : 16, 273, 488
הכפל ומקבלים 6 = 16, 273, 488
דוגמא `וקטור בינארי` מאורך nהוא פשוט סדרה של nערכים שהם 0או .1
ברור כי יש 2nוקטורים בינאריים מאורך ) nבחירה עם חזרות מתוך } {0, 1ועם חשיבות
לסדר כי וקטור הוא סדרה(.
כמה וקטורים בינאריים קיימים שבהם יש לפחות מופע אחד של ?1
פתרון נפוץ ושגוי לשאלות מסוג זה הוא כדלהלן :נבחר אחד מ־ nהמקומות בתור
המקום שבו יופיע ה־ 1שאנחנו `מחוייבים` לו ,ואז נבחר בחופשיות את הכניסות עבור שאר
המקומות ,ונקבל n · 2n−1אפשרויות.
דרך לזהות את השגיאה היא לבדוק את הפתרון עבור ערכים קטנים :עבור n = 2נקבל
מהנוסחה כי ישנם 2 · 21 = 4וקטורים בינאריים מתאימים ,אבל קל לראות כי קיימים רק
שלושה .11, 01, 10 :ביצענו ספירה כפולה.
הספירה הכפולה ספרה את הוקטור 11פעמיים :פעם אחת נבחר 1להיות במקום הראשון
בשלב הראשון ,ובשלב השני נבחר שבמקום השני יופיע גם כן אחד; בפעם האחרת נבחר 1
8
להיות דווקא במקום השני ,ואילו ה־ 1שבמקום הראשון נבחר אחר כך .הדבר אינו נוגד את
עקרון הכפל שכן עקרון הכפל דורש שכל זוג בחירות יוביל לתוצאה שונה ,1ואילו כאן יש שני
זוגות בחירות שונים אפשריים שמובילים לאותו האובייקט בדיוק.
הדרך הנכונה לפתור את התרגיל הזה היא באמצעות עקרון החיסור :ישנו רק וקטור
בודד מאורך nשלא מכיל 1־ים )הוקטור שכולו אפסים( ולכן יש 2n − 1וקטורים מאורך
nשמכילים 1לפחות פעם אחת )כי על פי עקרון החיבור ,מספר הוקטורים הכולל 2nשווה
לסכום של מספר הוקטורים שלא מכילים 1־ים ומספר הוקטורים שמכילים 1אחד לפחות(.
דוגמא יהא Fqשדה סופי עם qאיברים .כמה מטריצות הפיכות 2 × 2מעל Fqקיימות?
עבור מטריצות ,2 × 2מטריצה היא הפיכה אם ורק אם אף שורה איננה כפל בסקלר של
השורה השניה .עבור השורה הראשונה כל שורה אפשרית פרט לשורה שכולה אפסים היא
לגיטמית ,ומכיוון שיש qערכים אפשריים לכל כניסה ,מעקרון הכפל יש q 2שורות אפשריות,
ולאחר חיסור שורת האפסים נקבל q 2 − 1אפשרויות.
כעת ,בהינתן השורה הראשונה כל אחת מ־ q 2השורות אפשריות עבור השורה השניה פרט
לאלו שהן כפל בסקלר של השורה הראשונה .קיימים qסקלרים ואותה שורה לא מתקבלת
שיש q 2 − qשורות לגיטימיות בסך הכל.
שונים ,כך
על ידי כפל בשני סקלרים
מעקרון הכפל נקבל שיש q 2 − 1 q 2 − qמטריצות הפיכות מהסוג הנדרש.
טענה ) 3.1עקרון שובך היונים( :אם ב־ nשובכים ישנן n + 1יונים ,אז קיים שובך שבו יש
m לפחות שתי יונים.
n לפחות יש שבו שובך קיים אז יונים, m ישנן שובכים ב־n אם יותר: ניסוח כללי
יונים.
הוכחת הטענה היא בשלילה ־ אם בכל שובך יש לכל היותר יונה אחת ,אז יש בכולם יחד לא
יותר מ־ nיונים .באופן דומה מוכחת הטענה הכללית.
נפתח בדוגמאות פשוטות:
1עקרון הכפל סופר כמה זוגות של בחירות ישנם; השימוש שלנו בעיקרון הכפל מניח במובלע שהאובייקטים
שאותם אנחנו סופרים נוצרים על ידי זוגות הבחירות הללו כך שכל אובייקט נוצר בידי זוג אחד בדיוק.
9
דוגמא קיימים בעולם שני אנשים לא קרחים בעלי בדיוק אותה כמות שערות על הראש .זה
נובע מכך שמספר השערות על הראש נמדד במאות אלפים ,בעוד שבעולם ישנם מיליארדי
אנשים ־ האנשים הם היונים ,מספרי השערות האפשריים הם השובכים.
דוגמא בחדר עם 366אנשים קיימים שני אנשים בעלי אותו יום הולדת )אם מתעלמים
מחריגים כמו ה־ 29בפברואר( .2
דוגמא בקורס עם למעלה מ־ 100סטודנטים מובטח שיהיו שני סטודנטים שיקבלו את אותו
הציון )אם כולם ניגשים לבחינה(...
דוגמא לא קיים כיווץ משמר מידע שמקטין כל קובץ :לכל nיש 2nקבצים מאורך nביטים
ו־ 1 + 2 + 4 + · · · + 2n−1 = 2n − 1קבצים מאורך לכל היותר n − 1ביטים ולכן מעקרון
שובך היונים כל כיווץ שמקטין כל קובץ בן nביטים חייב לגרום להתנגשות בין שני קבצים
)ולכן המידע לא משומר במלואו ־ לא ניתן לשחזר כל קובץ מהכיווץ שלו( .טיעון קצת יותר
מחוכם מוכיח שאם הכיווץ מקטין ולו קובץ בודד ,הוא חייב להגדיל קובץ אחר כלשהו.
נעבור כעת לדוגמאות מורכבות יותר.
דוגמא נתון משולש שווה צלעות עם צלע באורך .1יש להוכיח כי לכל 5נקודות במשולש
יש שתיים במרחק קטן או שווה ל־ . 12
1
הפתרון :מחלקים את המשולש ל־ 4משולשים שווי צלעות שאורך צלעם : 2
דוגמא שישה אנשים נפגשו במסיבה וחלקם לחצו ידיים אחד לשני .יש להוכיח כי יש
שלישייה של אנשים כך שכל חבריה או לחצו את ידיהם של כל חבריהם לשלישייה ,או לחצו
את ידו של אף חבר בשלישייה.
בניסוח גאומטרי ,נתבונן במצולע משוכלל בן 6קודקודים כך שכל האלכסונים האפשריים
נמתחו בו )כלומר ,כל קודקוד מחובר בקו לכל קודקוד אחר( .נצבע כל אחד מהקווים באדום
או כחול; יש להוכיח כי קיים משולש מונוכרומטי )שכל צלעותיו צבועות באותו הצבע(.
2פרדוקס יום ההולדת בתורת ההסתברות מראה שכבר אם ישנם 23אנשים בחדר וימי ההולדת שלהם מתפלגים
באופן אחיד ,ההסתברות לשני אנשים בעלי אותו יום הולדת גדולה מחצי.
10
הפתרון :נתבונן על אדם מס' .1ישנם 5קטעים
שמחברים אותו עם שאר האנשים ,ומעקרון שובך היונים המוכלל יש שלושה הצבועים באותו
הצבע )הקווים הם היונים ,הצבעים הם השובכים( .נניח בלי הגבלת הכלליות שהצבע הזה
היה אדום נתבונן על שלושת האנשים המחוברים לקווים הללו .אם קיים ביניהם זוג שהקו
שמחבר אותו הוא בצבע אדום ,אז ביחד עם אדם מס' 1קיבלנו את השלישייה שלנו; ואם
לא קיים ביניהם זוג כזה אז כל שלושת האנשים הללו מחוברים אלו לאלו עם קווים כחולים,
ושוב קיבלנו את השלישייה שלנו.
בהערת אגב נציין שתוצאה זו היא מקרה פרטי של משפט כללי בקומבינטוריקה הנקרא
משפט רמזי ,ובתורו מהווה בסיס לתחום בקומבינטוריקה הנקרא תורת רמזי .לא נציג את
המשפט בקורס.
דוגמא בכל קבוצה של 12מספרים טבעיים דו ספרתיים קיימים שניים אשר הפרשם הוא
מספר בעל שתי ספרות זהות.
הפתרון :השאריות האפשריות בחלוקה ב־ 11של המספרים יהיו השובכים ,והמספרים
יהיו היונים .בהכרח יש שני מספרים בעלי אותה שארית בחלוקה ב־ 11ולכן הפרשם יתחלק
ב־ ,11ומכיוון שהוא מספר דו ספרתי הוא יהיה בעל שתי ספרות זהות.
a ← 10 · a .1
a
.2פלוט את . b
.a ← a%b .3
האלגוריתם עצמו הוא אינסופי ,אבל יש רק מספר סופי של ערכים ש־ aיכול לקבל בשלב 3
)הערכים בין 0ו־ (b − 1ומכאן שהחל משלב מסויים האלגוריתם יחל לחזור על עצמו ,שכן
ערכו של aבשלב מסויים קובע באופן יחיד את כל המשך האלגוריתם .3
3רעיון זה ,לפיו ריצה אינסופית של אלגוריתם שיכול להיות רק במספר סופי של `מצבים` ,תחיל חזרות משלב
מסויים הוא שימושי ביותר ובא לידי ביטוי ,למשל ,בלמת הניפוח בקורס באוטומטים ושפות פורמליות ,ופתרון של
וריאנטים מוגבלים של בעיית העצירה בקורס בתורת החישוביות.
11
הבינום של ניוטון ומשולש פסקל 4
2
בבית הספר לומדים את נוסחת הכפל המקוצר .(a + b) = a2 + 2ab + b2
3
הנוסחה (a + b) = a3 + 3a2 b + 3ab2 + b3גם היא מוצגת בבית הספר אבל ככל
הנראה זכורה פחות.
נראה כעת כיצד מגיעים לנוסחאות אלו וכיצד שיטה זו מטפלת גם במקרה הכללי של
n
).(a + b
ראשית ,נשים לב ש־
2
)(a + b = (a + b) (a + b) = aa + ab + ba + bb
= a2 + 2ab + b2
ה־ 2abנובע מ־ ab + baומכך שכפל הוא קומוטטיבי ,כלומר .ab = ba
באופן דומה:
3
)(a + b = )(a + b) (a + b) (a + b
= aaa + aab + aba + abb + baa + bab + bba + bbb
כאן ישנם שמונה מחוברים ,שכל אחד מתקבל על ידי בחירה של a־ים מחלק מהסוגריים ו־
b־ים מהסוגריים הנותרים .למשל aba ,מתקבל מבחירה של aבסוגריים הראשונים והאחרונים
ו־ bבאמצעיים.
n
באופן כללי (a + b) ,הוא סכום של מחוברים שכל אחד מהם מתקבל מבחירה של i
פעמים aמחלק מהסוגריים ו־ n − iפעמים bמהנותרים ,וזאת לכל .0 ≤ i ≤ nהאיבר
n i n−i
מספר האפשרויות לבחור את iזוגות הסוגריים פעמים ־ a bיכול להיבחר בדיוק i
n n
שמתוכם נבחר ) aאו באופן שקול n−i = i ,אפשרויות לבחור את הסוגריים שמהם
יילקחו ה־b־ים(.
מכאן אנו מגיעים לנוסחה הכללית:
n Pn n
טענה ) 4.1הבינום של ניוטון( ai bn−i
= ).(a + b i=0 i
יש למקדמי הבינום תיאור גרפי נאה הנקרא משולש פסקל )אף כי לא פסקל המציא
אותו ־ המשולש היה מוכר כבר בימי הביניים ,ופסקל בסך הכל תיאר אותו בספר מתמטיקה
שכתב(:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
12
n n
בשורה ה־n־ית של המשולש נמצאים המספרים , . . . , nn
. 0 , 1
נשים לב למספר תכונות של המשולש ולאחר מכן נוכיח אותן:
.1המשולש סימטרי.
.2שפת המשולש מורכבת כולה מ־1־ים.
.3הכניסות שליד השפה בשורה ה־ nהן .n
.4כל איבר במשולש הוא סכום שני האיברים שמעליו )ובמקרה של איברים בשפה ,של
האיבר היחיד שמעליו(.
.5סכום השורה ה־ nהוא ) 2nנובע בקלות מנוסחת הבינום ,כאשר מציבים בה = a = b
.(1
.6סכום המקומות הזוגיים בשורה ה־ nבמשולש הוא ) 2n−1ולכן גם סכום המקומות
האי זוגיים הוא .(2n−1
נוכיח כל תכונה בשתי דרכים ־ אלגברית )כלומר ,על ידי מניפולציה של משוואות( וקומבינטורית
)כלומר ,על ידי תיאור בעיית ספירה מתאימה(.
. ni = n−i n
.1זוהי בעצם הטענה
!). ni = i!(n−i
!n !n n
!= (n−i)!i = n−i הוכחה אלגברית:
הוכחה קומבינטורית :מספר הדרכים לבחור iאיברים מתוך nהוא כמו מספר הדרכים
לבחור אילו n − iאיברים מתוך nלא לקחת.
.2זוהי בעצם הטענה ) n0 = nn = 1השוויון הראשון נובע מהסימטריה(.
n !n !n
הוכחה אלגברית0 = 0!n! = n! = 1 :
הוכחה קומבינטורית :יש רק דרך אחת לבחור 0מ־ nאיברים ־ לא בוחרים אף אחד.
) n1 = n−1שוב ,השוויון הראשון נובע מהסימטריה(. n
.3זוהי בעצם הטענה = n
n
!n !)n·(n−1
1 = !)1!(n−1 = הוכחה אלגברית(n−1)! = n :
הוכחה קומבינטורית :יש nדרכים לבחור איבר בודד מתוך .n
) ni = n−1שנכונה עבור .(n, i > 0 n−1
i−1 + i .4זוהי בעצם הטענה
הוכחה אלגברית:
n−1 n−1 !)(n − 1 !)(n − 1
+ = +
i−1 i !)(i − 1)! (n − i)! i! (n − i − 1
i )(n − i
!)= (n − 1 +
!)i! (n − i)! i! (n − i
n !n n
· !)= (n − 1 = =
!)i! (n − i !)i! (n − i i
הוכחה קומבינטורית :מספר הדרכים לבחור iאיברים מתוך nהוא כמספר הדרכים
לבחור i − 1איברים מתוך n − 1הראשונים ולהוסיף אליהם את האחרון ,ועוד מספר
הדרכים לבחור iאיברים מתוך n − 1הראשונים מבלי להוסיף להם את האחרון
)נובע מעקרון החיבור( .זוהי הוכחה פשוטה וקל בהרבה לזכור אותה מאת ההוכחה
האלגברית.
13
Pn
.5זוהי בעצם הטענה . i=0 ni = 2n
Pn n
Pn n
i n−i
= i=0 i i=0 i 1 1 הוכחה אלגברית :מהבינום של ניוטון עולה ש־=
n
.(1 + 1) = 2n
n
הוכחה קומבינטורית i :הוא מספר הוקטורים הבינאריים מאורך nעם בדיוק i
אפסים.
2nהוא מספר הוקטורים הבינאריים הכולל מאורך ,nועל פי עיקרון החיבור הוא
שווה לסכום מספרם של כל הוקטורים הבינאריים עם בדיוק iאפסים לכל .i
Pb n2 c n
. .6זוהי בעצם הטענה = 2n−1
n
n−1
n
n−1
n−1 i=0 2i
= 0 0 הוכחה אלגברית :לכל i > 0ראינו ש־ , 2i = 2i−1 + 2iוכמו כן
ולכן נקבל
2c
bX
n
bX 2 c
n
n n−1 n−1 n−1
= + + =
i=0
2i 0 i=1
2i − 1 2i
n−1
X n − 1
n−1
= + = 2n−1
0 i=1
i
הוכחה קומבינטורית :מספר הוקטורים הבינאריים מאורך nשבהם מספר זוגי של
אפסים שווה למספר הוקטורים הבינאריים מאורך nשבהם מספר אי זוגי של אפסים:
התאמה חח`ע ועל ביניהם מתקבל מהפיכת הביט הראשון בוקטור .יש סה`כ 2n
וקטורים ולכן בדיוק חצי מהם יהיו עם מספר זוגי של אפסים ,כלומר .2n−1
14
הסדרה A1 , A2 , . . .ומכיוון ש־ nהיה מינימלי An−1 ,כן נכונה ומ־ 2עולה שגם Anנכונה,
בסתירה להנחת השלילה.
הוכחה זו מסתמכת על כך שלכל תת קבוצה של טבעיים יש איבר מינימלי; תכונה זו מכונה
`סדר טוב` ,ואינדוקציה ניתנת להגדרה בכל קבוצה שיש בה סדר טוב ,אך לא נפרט על כך
בקורס.
דוגמא כשהוכחנו שמספר התמורות על nאיברים הוא ! nהשתמשנו באופן מובלע באינדוקציה.
נוכיח זאת עכשיו באופן מפורש.
בסיס :מספר האפשרויות לסדר 0איברים בשורה הוא “) 1הסידור הריק“(.
צעד :נניח שמספר האפשרויות לסדר nאיברים בשורה הוא ! .nבהינתן n + 1איברים,
נסדר את nהראשונים בשורה ואז יש לנו n + 1מקומות שונים לשים בהם את האיבר הנוסף
)בתחילת השורה ,או אחרי כל אחד מ־ nהאיברים האחרים( .לכן מעקרון הכפל ,מספר
האפשרויות הכולל הוא !).n! · (n + 1) = (n + 1
• הריבוע מוכל כולו בלוח ה־ n × nהישן :יש בדיוק Snריבועים כאלו.
• הריבוע גולש לשורה/עמודה החדשה :במקרה זה ,קיימת התאמה חח“ע ועל בין קבוצת
הקודקודים של הריבועים בלוח הקיים והריבועים החדשים )בהינתן קודקוד ,יש דרך
יחידה להרחיב את הריבוע שאותו קודקוד הוא הפינה השמאלית־תחתונה שלו כך שיגיע
2
אל השורה/עמודה החדשות( .בלוח של nמשבצות יש )(n + 1)×(n + 1) = (n + 1
קודקודים כאלו.
15
2
קיבלנו ש־ ) Sn+1 = Sn +(n + 1ומכאן
נמשיך עם אלגברה והנחת האינדוקציה:
דוגמא כשל נפוץ בהוכחות באינדוקציה מתואר על ידי ה`הוכחה` הבאה שכל הסוסים בעלי
אותו הצבע .פורמלית ,שבכל קבוצה של סוסים ,כל הסוסים בעלי אותו צבע .האינדוקציה
היא על גודל הקבוצה ומתחילה מ־.1
) .1בסיס( בקבוצה של סוס בודד כל הסוסים באותו הצבע שכן קיים בה רק סוס בודד.
) .2צעד( בהינתן קבוצה בעלת n + 1סוסים נוציא את אחד הסוסים החוצה וניוותר עם
nסוסים שכולם באותו הצבע .כעת נחזיר את הסוס לקבוצה ונוציא סוס אחר ושוב
נקבל קבוצה שבה כל הסוסים בעלי אותו הצבע ,ולכן הסוס שהוצאנו בהתחלה הוא
בעל אותו צבע כמו היתר.
הרמאות ב`הוכחה` הזו היא בכך שצעד האינדוקציה אינו עובד כאשר ) n = 1יש לשים לב
כי עבור n > 1הוא עובד ,אך זה חסר משמעות(.
16
) .2צעד האינדוקציה( אם A1 , A2 , . . . , Aiנכונות כולן ,אז גם Ai+1נכונה.
אינדוקציה שלמה נבדלת מאינדוקציה `רגילה` בכך שקל יותר להוכיח את צעד האינדוקציה
מכיוון שניתן להיעזר בנכונות כל הטענות A1 , . . . , Aiולא רק ב־ Aiעצמה; עם זאת ,לרוב
אין בה צורך.
דוגמא נוכיח שלכל מספר טבעי חיובי קיים פירוק למכפלה של מספרים ראשוניים:
בסיס :עבור ” n = 1המכפלה הריקה“ היא הפירוק שאנחנו מחפשים )אפשר גם להתחיל
את האינדוקציה מ־ n = 2למי שקונספט המכפלה הריקה מפריע לו בשלב זה(.
צעד :נניח שלכל מספר טבעי קטן מ־ nקיים פירוק למכפלה של מספרים ראשוניים.
נתבונן ב־ .nאם הוא עצמו ראשוני ,אז nהיא המכפלה המבוקשת; אחרת n = a · b ,כך
ש־ a, b < nשניהם .עבור כל אחד מהם קיים פירוק למכפלה של ראשוניים ,כך שמכפלת
שתי המכפלות הללו היא הפירוק המבוקש של .n
בדוגמה הזו האינדוקציה השלמה היא הכרחית ,שכן אנחנו לא יכולים להפיק פירוק של
nמתוך פירוק של n − 1־ אנחנו נאלצים ללכת יותר אחורה באינדוקציה.
דוגמא נוכיח באינדוקציה שמספר האפשרויות לבחור mמתוך nאיברים עם חשיבות לסדר
!n
!).Pnm = (n−m וללא חזרות הוא
בסיס :מספר האפשרויות לבחור 0מתוך 0איברים הוא “) 1הבחירה הריקה“( ,ואכן
!0
!).P00 = (0−0 = 11 = 1
צעד :כדי לבחור mמתוך nאיברים עם חשיבות לסדר וללא חזרות אפשר לפרק לשני
מקרים :ראשית ,מספר האפשרויות לבחור mמתוך n − 1האיברים הראשונים הוא ,על
m !)(n−1
.Pn−1שנית ,אם בוחרים את האיבר ה־n־י זה יכול !)= (n−m−1 פי הנחת האינדוקציה,
להיות בכל אחד מ־ mשלבי הבחירה ,כך שיש לנו תהליך של בחירה דו־שלבית :ראשית
בוחרים באיזה שלב ייבחר האיבר ה־n־י ) mאפשרויות( ושנית בוחרים את m − 1האיברים
הנותרים מבין n − 1האיברים הנותרים לבחירה .מספר האפשרויות הכולל במקרה זה הוא
!)m(n−1
m−1
.mPn−1נותר לנו כעת לחבר את שני המקרים השונים: !))= (n−1−(m−1 !)= m(n−1
!)(n−m
!)(n − 1 !)m (n − 1 n−m m
+ !)= (n − 1 +
!)(n − m − 1 !)(n − m !)(n − m)! (n − m
n !n
· !)= (n − 1 =
!)(n − m !)(n − m
17
כמבוקש.
m−1 m
.Pn−1כלומר ,הניסוח Pn−1ו־ נשים לב שבהוכחה האינדוקטיבית הזו נזקקנו לערכים
של האינדוקציה הדו־ממדית בתור מעין ”אינדוקציה שלמה“ ולא רק טענה מהצורה ”אם
Pn,mנכונה אז גם Pn+1,mו־ Pn,m+1נכונות“ היה הכרחי כבר עבור הדוגמא הפשוטה הזו.
רקורסיה 5.2
הגדרה רקורסיבית היא הגדרה של סדרה או פונקציה )או אובייקטים כלליים יותר( שבה כל
ערך מוגדר באמצעות הערכים של קודמיו ,פרט אולי למספר ערכים התחלתיים שמוגדרים
במפורש.
נוסחה רקורסיבית היא לעתים קרובות פשוטה יותר מנוסחה סגורה עבור אותה סדרה
)ולעתים ניתן למצוא נוסחה רקורסיבית אף שאין נוסחה סגורה פשוטה( אך היא יותר קשה
לחישוב בפועל )שכן כדי לחשב ערך כלשהו באמצעותה יש לחשב קודם כל את הערכים שהוא
מסתמך עליהם(.
נראה מספר דוגמאות לנוסחאות רקורסיביות המגדירות סדרה ,ובנוסף גם הנוסחאות
הסגורות המתאימות .בפרט ,כל נוסחאות הספירה שתיארנו בפרק 2ניתנות לתיאור
כנוסחאות רקורסיביות )ואת חלקן גם תיארנו כך מבלי לציין במפורש כי זה מה שאנו
עושים(.
• סדרה חשבונית) an = an−1 + d :הנוסחה הסגורה.(an = a1 + (n − 1) d :
• סדרה הנדסית) an = an−1 · q :הנוסחה הסגורה.(an = a1 · q n−1 :
) a0 = hבהמשך
התחלה 0, a1 = 1
√ n √ תנאי • סדרת פיבונאצ'יi ,an = an−1 + an−2 :
עםn
1 1+ 5 1− 5
.(an = √5 2 − 2 נראה כיצד מוצאים את הנוסחה הסגורה,
• בחירה עם חזרות ועם חשיבות לסדר P Pnk = n · P Pnk−1 :עם תנאי ההתחלה
) P Pn0 = 1נוסחה סגורה.(P Pnk = nk :
k−1
Cnk = Cn−1עם תנאי ההתחלה k
+ Cn−1 • בחירה בלי חזרות ובלי חשיבות
לסדר:
Cn0 = 1ו־) Cnn = 1נוסחה סגורה.(Cnk = nk :
k−1
CCnk = CCn−1עם תנאי ההתחלה k
+CCn−1 • בחירה עם חזרות ובלי חשיבות לסדר:
n+k−1
k
= .(CCn k Cn0 = 1ו־) C0k = 1נוסחה סגורה:
נציג כעת דוגמא מעט יותר מורכבת:
דוגמא הפרת סדר על nאיברים היא תמורה על המספרים 1, 2, . . . , nשבה לכל ≤ 1 ≤ i
,nהמספר ה־ iאינו נמצא במקום ה־ .iלמשל 312 ,היא הפרת סדר על 3איברים ואילו 321
לא )כי 2נמצא במקום .(2
נסמן ב־ Dnאת מספר הפרות הסדר על nאיברים.
ניתן לחשב את Dnכך :עבור ,1יש לנו ) (n − 1בחירות של מקום עבורו )כי את מקום
1לא ניתן לבחור בשבילו( .לאחר מכן אנו נותרים עם n − 1מספרים שיש לסדר .נאמר
18
ששמנו את 1במקום ,iאז יש שתי אפשרויות :או ש־ iיושם במקום ,1או שלא .אם הוא
מושם במקום ,1אז אפשר לשכוח הן מ־ 1והן מ־ iולטפל ב־ n − 2המספרים הנותרים באופן
בלתי תלוי ,כלומר יש Dn−2הפרות סדר במקרה זה; ואילו אם iאינו מושם במקום מס'
,1אז אפשר לחשוב על iכאילו הוא עצמו המספר 1ואסור לו להיות במקום ,1וזהו התנאי
הרגיל של הפרות סדר ,ולכן יש לנו Dn−1הפרות סדר במקרה זה.
קיבלנו את הנוסחה הרקורסיבית ] .Dn = (n − 1) [Dn−1 + Dn−2בהערת אגב נציין
סגורה קומבינטורית ,אך בהמשך נראה גישה נוספת לטיפול בבעיה זו נוסחה שלא קיימת
!) Dn = nהסוגריים המרובעים מציינים את פונקצית הערך השלם ־
e ש־ נקבל שממנה
!.( n
e ל־ ביותר הקרוב הטבעי המספר
n
[ X X
Ai = |Ai | − |Ai ∩ Aj | +
i=1 1≤i≤n 1≤i,j≤n
X n−1
+ )|Ai ∩ Aj ∩ Ak | − · · · + (−1 | |A1 ∩ · · · ∩ An
1≤i,j,k≤n
19
Sn
נספר בדיוק פעם אחת באגף ימין ,אחרי הוכחה :יש להראות שכל איבר של Ai
i=1
שמקזזים ספירות חיוביות ושליליות.
נניח שהאיבר מופיע בדיוק ב־ tמתוך nהקבוצות .מספר הפעמים שבהן הוא נספר
באותו איבר בסכום שבו רצים על חיתוכים של iקבוצות תלוי ב־ ;iאם i > tאז האיבר אינו
משתתפת בחיתוך קבוצה שאינה מכילה אותו. נספר כלל כי בחיתוך של iקבוצות בהכרח
לעומת זאת ,אם i ≤ tאז הוא מופיע בדיוק ב־ tiמהחיתוכים ־ אלו שבהם משתתפות רק
Pt קבוצות שמכילות אותו.
i−1 t
) , i=1 (−1כעת ,מהבינום של ניוטון: i היא איבר אותו עבור על כן ,הספירה
כנדרש.
לרוב השימוש שלנו לעקרון ההכלה וההפרדה הוא כזה :נתון `עולם` בן nאיברים ,ומספר
קבוצות A1 , . . . , Akשאבריהן נלקחים מתוך העולם ואנו חושבים עליהן כעל `תכונות רעות`
מטרתנו היא למצוא את כמות האיברים שאינם מקיימים אף תכונה שהאיברים יכולים לקייםT.
k
רעה ,כלומר את . i=1 Aiמעקרון ההכלה וההפרדה נקבל:
k k
\ [ X n
= Ai n − Ai = n − | |Ai | + · · · + (−1) |A1 ∩ · · · ∩ An
i=1 i=1
ניסוח נוסף שהוא נוח מעט יותר לעבודה הוא זה :אם ישנם nאיברים ו־ kתכונות
,P1 , . . . , Pkנסמן ב־) w (Piאת מספר האיברים שמקיימים את ,Piב־) w (Pi Pjאת מספר
Pוגם את ,Pjוכן הלאה ,ולכל מספר טבעי rנשתמש בסימוןהאיברים שמקיימים גם את Pi
) ) w (r) = 1≤i1 ,...,ir ≤k w (Pi1 · · · Pirלסימון זה אין משמעות קומבינטורית; אותו איבר
יכול להיספר בו כמה וכמה פעמים( .נקבל את הניסוח הבא של כלל ההכלה וההפרדה:
משפט ) 6.2כלל ההכלה וההפרדה ,ניסוח באמצעות תכונות( יהא ) E (0מספר האיברים
שאינם מקיימים אף תכונה ,אז:
Pk r
)E (0 = r=0 )(−1) w (r
דוגמא מבין המספרים ,1, 2, . . . , 300כמה אינם מתחלקים ב־ 7 ,3או ?11
כאן `תכונה רעה` היא התחלקות ב־ 7 ,3או 11־ כלומר ,יש לנו שלוש תכונות ,שנסמן
300ולכן .w (0) = 300 מספרים .P3 , P7 , P11יש 300
w (P11 ) = 300 w (P7 ) = 300ו־=
11 7 קל לראות כי = 42 ,w (P3 ) = 3 = 100
.27לכן w (1) = 27 + 42 + 100 = 169
20
כמו כן מכיוון ש־ 3, 7, 11כולם ראשוניים ,מספר מתחלק בכמה מהם רק אם הוא מתחלק
שלהם .כלומר: במכפלה
.w (P7 P11 ) = 300לכן
300 300
77 = 3 ,w (P P
3 11 ) = 33 = 9 ,w (P P
3 7 ) = 21 = 14
w (2) = 3 + 9 + 14 = 26
w (P3 P7 P11 ) = 300ולכן .w (3) = 1ולסיום 231 = 1
מנוסחת ההכלה וההפרדה נקבל כי כמות המספרים שאינם מתחלקים ב־ 3,7,11היא
בדיוק
הפתרון עשוי להיראות טרחני ומסובך ,אך בפועל הכלה והפרדה משפרת משמעותית את
הסיבוכיות של אלגוריתם שמבצע אותה אוטומטית; פתרון נאיבי לבעיה שלעיל דורש לעבור
על כל 300המספרים ולבדוק לכל אחד מהם התחלקות; הפתרון עם הכלה והפרדה דורש
חישוב 7פעולות חילוק בלבד ועוד ביצוע של מספר פעולות סיכום שעלותן זניחה .באופן
כללי אם הטווח שלנו הוא עד nואנו בודקים התחלקות ב־ kראשוניים אז פתרון נאיבי דורש
) O (n · kפעולות חילוק ,ופתרון עם הכלה והפרדה דורש O 2kפעולות כאלו )כל פעולה
מתבצעת בזמן שהוא פולינומי ב־ ,(log nכך שעבור kקטן )ובפרט קבוע( ו־ nגדול מדובר
על פתרון יעיל משמעותית.
דוגמא יהא Dnמספר הפרות הסדר על nאיברים :פרמוטציות של 1, . . . , nשבהן לכל i
המספר iאינו נמצא במקום ה־ .iראינו כבר כיצד למצוא נוסחת נסיגה עבור ;Dnניעזר כעת
בעיקרון ההכלה וההפרדה ובקצת חשבון דיפרנציאלי ואינטגרלי כדי למצוא נוסחה סגורה.
התכונה Piתהיה התכונה `המספר iנמצא במקום ה־.`i
חישוב ) w (rבמקרה זה .לכל ,rראשית נבחר הסימטריה של הבעיה מקלה מאוד על
rמתוך nמקומות שאנחנו רוצים `לקלקל` ) nrאפשרויות( ,ולאחר מכן נספור את מספר
התמורות שבהן המקומות שבחרנו `מקולקלים` .ייתכן שעוד מקומות יהיו מקולקלים אך זה
לא משנה עבורנו )זה בדיוק הכוח שבהכלה והפרדה( .כדי לקלקל rמקומות אנחנו מציבים
בכל אחד מהם את המספר שמקלקל אותו ,ואז נותרים לנו n − rמקומות שבהם אפשר
כלומר יש לנו !) (n − rאפשרויות. לסדר באופן חופשי את המספרים,
! ,w (r) = nr (n − r)! = nומכאן נקבל:
בסך הכל קיבלנו כי !r
Pn r Pn r Pn (−1)r
!Dn = r=0 (−1) w (r) = r=0 (−1) n !r! = n r=0 !r
כאן מסתיימת הקומבינטוריקה אך בעזרת חשבון דיפרנציאלי ואינטגרלי ניתן להתקדם
עוד קצת:
Pn r P∞ (−1)r P∞ xr
) r=0 (−1הוא קירוב !r ש־ מכאן .e −1
= r=0 !r ולכן ,e x
= !r=0 r ש־ ידוע
של ,e−1וגודל הטעות הוא זניח .מכאן ש־ ,Dn ≈ eובפועל ניתן לראות ש־ Dn = e
! n !n
! ( nלכל .nמכאן אנו רואים שכלל ההכלה ) Dnהוא המספר הטבעי הקרוב ביותר ל־ e
וההפרדה סייע לנו למצוא נוסחה מדוייקת עבור Dnאף אם הוא לא נתן אותה במפורש
בעצמו.
21
חלוקות 7
נחזור כעת לבעיה שכבר עסקנו בה :בכמה דרכים ניתן לחלק nכדורים ל־ kתאים ,בהינתן
אילוצים מסויימים?
נראה את הפתרון עבור הרבה מהאילוצים האפשריים.
n .1כדורים זהים k ,תאים שונים ולכל היותר כדור אחד בכל תא :כאן יש לבחור את
nמתוך kהתאים שבהם יושמו כדורים.
בגלל שהכדורים זהים אין חשיבות לסדר הבחירה.
בגלל שיש כדור אחד לכל היותר בכל תא אין חזרות בבחירה.
מסקנה nk :אפשרויות.
n .2כדורים שונים k ,תאים שונים ולכל היותר כדור אחד בכל תא :גם כאן בוחרים את
nמתוך kהתאים שבהם יושמו כדורים.
בגלל שהכדורים שונים יש חשיבות לסדר הבחירה.
כדור אחד לכל היותר בכל תא אין חזרות בבחירה.בגלל שיש
מסקנה Pkn = nk n! :אפשרויות.
n .3כדורים שונים k ,תאים שונים ,ללא מגבלות נוספות :כאן לכל כדור בוחרים אחד
מ־ nהתאים האפשריים.
בגלל שהכדורים שונים יש חשיבות לסדר הבחירה.
בגלל שאין מגבלות נוספות זו בחירה עם חזרות.
מסקנה k n :אפשרויות.
n .4כדורים זהים k ,תאים שונים ,ללא מגבלות נוספות :כאן לכל כדור בוחרים אחד
מ־ kהתאים האפשריים.
בגלל שהכדורים זהים אין חשיבות לסדר הבחירה.
שאין מגבלות נוספות זו בחירה עם חזרות. בגלל
CCkn = n+k−1אפשרויות.
n מסקנה:
n .5כדורים שונים k ,תאים שונים ,סדר הכדורים בכל תא חשוב :כאן לא ניתן לכל
כדור לבחור תא )כי בצורה כזו לא ניתן לקבל ,למשל ,שכדור מס' 1נמצא אחרי כדור
מס' 2באותו התא(.
פתרון :ראשית כל מחלקים nכדורים זהים לתאים .לאחר מכן בוחרים תמורה
של 1, . . . , nוממספרים את הכדורים על פי התמורה וסדר הופעתם בתאים .סה`כ
n! · CCknאפשרויות.
n .6כדורים שונים k ,תאים שונים ,אין תא ריק.
עבור k > nהתשובה היא 0ולכן נניח כי .k ≤ n
אם הכדורים היו זהים ,הפתרון היה לחלק כדור לכל תא ואז לחלק את n−kהנותרים
בלי חשיבות לסדר ועם חזרות .נסיון לנקוט בגישה זו כאן יוביל לספירה כפולה )אם
1, 2באותו תא זה ייספר פעם אחת כאשר 1ייבחר להיות כדור שמחולק בשלב
הראשון ו־ 2מחולק בשלב השני ,ופעם כש־ 2מחולק בשלב הראשון ו־ 1בשלב השני(.
במקום זאת נפתור באמצעות הכלה והפרדה .התכונה Piתהיה `התא iריק`.
את ) w (rנחשב באופן הבא :מספר הדרכים לבחור rמתוך kתאים כדי שיהיו ריקים
n
) ,( krוחלוקה חופשית של כדורים ל־ k − rהתאים הנותרים ) ).((k − r
Pk r n
נקבל את הפתרון ) T (n, k) = r=0 (−1) kr (k − rאפשרויות .למרבה הצער,
22
n .7כדורים שונים k ,תאים זהים ,אין תא ריק.
ריקות` .מספר זה,
לא זרות קבוצות ל־k זהו ניסוח שקול ל`חלוקה של nמספרים
n
. ) ,S (n, kנקרא `מספר סטירלינג מהסוג השני` ומסומן לפעמים
k
פתרון :נחלק את הכדורים ל־ kתאים שונים ־ ) .T (n, kכעת נחלק במספר הסדרים
).S (n, k) = T (n,k
!k הפנימיים של תאים ונקבל
n .8כדורים שונים ,מספר כלשהו של תאים שונים ואין תא ריק :מהתנאים נובעת
הדרישה ,k ≤ nולכל kנקבל ) T (n, kכמקודם.
Pn Pn Pk r n
התשובה היא ).Q (n) = k=1 T (n, k) = k=1 r=0 (−1) kr (k − r
n .9כדורים שונים ,מספר כלשהו של תאים זהים ואין תא ריק .מספר זה ,B (n) ,נקרא
`מספר בל`
כמו ב־ ,8גם כאן אפשר להציג את הפתרון כסכום ,הפעם של מספרי סטירלינג מהסוג
Pn השני:
)B (n) = k=1 S (n, k
n .10כדורים זהים k ,תאים זהים ואין תא ריק .מסומן ב־)pk (n
זהה למספר טבלאות יאנג :טבלה עם kשורות ו־ nמשבצות בסך הכל ,כך שבכל שורה
אין יותר משבצות מאשר בשורה שקדמה לה.
זהה למספר האפשרויות לכתוב את nכסכום של kמספרים טבעיים שמסודרים בסדר
עולה )למשל 1 + 1 + 1 = 1 + 2 = 3 :הן שלוש אפשרויות החלוקה של .(3
קיימת נוסחת הנסיגה הבאה:
)pk (n) = pk−1 (n − 1) + pk (n − k
כאן המחובר הראשון מתאים לסיטואציה שבה באחד התאים יש בדיוק כדור אחד,
והמחובר השני מתאים לסיטואציה שבה בכל התאים יש לפחות שני כדורים.
תנאי התחלה:
) p0 (0) = 1חלוקה `ריקה` של אפס כדורים לאפס תאים(
pk (n) = 0כאשר n ≤ 0ו־) k > 0אם יש מספר חיובי של תאים ואין כדורים ,לא
ניתן לקיים את התנאי שאין תא ריק(.
p0 (n) = 0כאשר ) n > 0אם אין תאים ויש כדורים ,אין שום דרך לחלק אותם(.
מספר כלשהו של תאים זהים ואין תא ריק .מסומן ב־).p (n
n .11כדורים זהיםPn ,
בבירור ) ,p (n) = k=1 pk (nאך קשה לומר משהו מעבר לכך.
) p (n־ `פונקציית החלוקה` ־ היא מהפונקציות המפורסמות בקומבינטוריקה ובתורת
המספרים ועבודה רבה )החורגת מהיקף הקורס( הושקעה בהבנה של התנהגותה.
23
נוסחה/סימון הגבלות נוספות תאים ריקים סדר בתא תאים כדורים מקרה
k
n 1בתא לכל היותר אפשר אין שונים זהים 1
!k
!)(n−k 1בתא לכל היותר אפשר אין שונים שונים 2
n
k אין אפשר אין שונים שונים 3
n+k−1
n אין אפשר אין שונים זהים 4
n! · CCkn אין אפשר יש שונים שונים 5
)T (n, k אין אי אפשר אין שונים שונים 6
)S (n, k אין אי אפשר אין זהים שונים 7
)Q (n מספר תאים כלשהו אי אפשר אין שונים שונים 8
)B (n מספר תאים כלשהו אי אפשר אין זהים שונים 9
)pk (n אין אי אפשר אין זהים זהים 10
)p (n מספר תאים כלשהו אי אפשר אין זהים זהים 11
24
דיפרנציאלי ואינטגרלי יש חשיבות לתחום ההתכנסות של טורי חזקות כדוגמת
בחשבון ∞P
, n=0 an xnאך אנו לא נזדקק בשום שלב להצבת ערכים בתוך xכך שפרטים אלו
לא יהיו רלוונטיים עבורינו.
דוגמא הפונקציה היוצרת של הסדרה הסופית ) 1, 2, 1שניתן לחשוב עליה כעל הסדרה
האינסופית (1, 2, 1, 0, 0, . . .היא .f (x) = 1 + 2x + x2
באופן כללי ,פונקציה יוצרת של סדרה היא פולינום אם ורק אם הסדרה היא סופית
)מכילה רק אפסים החל ממקום מסויים(.
25
הגדרת החיבור היא פשוטה .הגדרת הכפל מורכבת יותר )כדי לקבל אינטואיציה ,כדאי לנסות
לכפול פולינומים ולראות מה קורה( אך היא גם הסיבה לכוח של ייצוג סדרות באמצעות
פונקציות יוצרות.
∞P n
a (x) = n=0
)P8.4כפל של טורי חזקות( :בהינתן שני טורי חזקות = )P∞an x , bn(x הגדרה
∞ n
המכפלה שלהם ) c (x) = a (x) b (xהיא טור חזקות c (x) = n=0 cn xכך
Pn n=0 bn x
ש־ .cn = k=0 ak bn−k
Pn
= :cn k=0 אבל זה אינו נימוק פורמלי; נימוק פורמלי ייעזר בנוסחה ak bn−k
c0 = a0 b0 = 1 · 1 = 1
c1 = a0 b1 + a1 b0 = 1 · (−1) + 1 · 1 = −1 + 1 = 0
c2 = a0 b2 + a1 b1 + a2 b0 = 1 · 0 + 1 · (−1) + 1 · 1 = 0
nPמתקיים :bn−k = 0 ובאופן כללי עבור ,n ≥ 1מכיוון שאם − k ≤ 1
n
cn = k=0 ak bn−k = an−1 b1 + an b0 = 1 − 1 = 0
1
.1 + x + x2 + . . . = 1−x זו ההצדקה הפורמלית לכתיב
2 2 1
באופן דומה ניתן גם להוכיח את .1 + λx + λ x + . . . = 1−λx
∞P
דוגמא אם a (x) = n=0 an xnהיא הפונקציה היוצרת של הסדרה {an }n≥0ו־∈ λ
∞P n
= ) λa (xהיא הפונקציה היוצרת של הסדרה Rהוא סקלר כלשהו ,אז n=0 λan x
) {λan }n≥0כאן λהוא טור החזקות שהאיבר הראשון שלו הוא λוכל יתר האיברים הם .(0
∞P
= ) a (xהיא הפונקציה היוצרת של הסדרה a0 , a1 , a2 , . . .אז n=0 אם an xn דוגמא
∞
X ∞
X
xa (x) = x = an xn an xn+1
n=0 n=0
∞
X
= 0 · x0 + an−1 xn
n=1
26
היא הפונקציה היוצרת של הסדרה .0, a0 , a1 , . . .כלומר ,מכפלה ב־ xמזיזה את הסדרה
צעד אחד ימינה ומכניסה 0בהתחלה .בדומה ,מכפלה ב־ xkתזיז את הסדרה kצעדים ימינה
ותכניס kאפסים בהתחלה )כאן xהוא טור החזקות .(0 + x + 0x2 + 0x3 + . . .
נחזור כעת לקומבינטוריקה .כזכור ,בעיות הספירה שלנו הן על פי רוב מהצורה הזו:
נתונה לנו מחלקה של אובייקטים ,Aואנו מסמנים ב־ anאת מספר האובייקטים ב־A
שה“גודל“ שלהם הוא .nלמשל ,מספר המחרוזות שמורכבות מהתווים } {1, 2, 3והן מאורך
nהוא ;3nכאן ה“גודל“ של מחרוזת הוא מספר התווים שבה.
כעת נניח שאנו רוצים למצוא את מספר המחרוזות מאורך nשבנויות משני חלקים;
בחלק הראשון יש מחרוזת מעל } {1, 2, 3ובחלק השני יש מחרוזת מעל } .{a, bאין מגבלה
על האורך של כל חלק בנפרד :למשל 12ab ,היא מחרוזת מתאימה מאורך 4אבל גם 3333
וגם ababהן מחרוזות מתאימות שכאלו.
אם ננסה למצוא את מספר המחרוזות מאורך nבאמצעות עיקרון הכפל ,נראה כי קודם
כל עלינו להחליט כמה אותיות מהמחרוזות יהיו שייכות לחלק הראשון וכמה לחלק השני .אם
מספר האותיות ששייכות לחלק הראשון הוא ,kאז מספר המחרוזות מעל } {1, 2, 3עבור
החלק הראשון הוא 3kומספר המחרוזות מאורך n − kמעל } {a, bעבור החלק השני הוא
הכל ,3k · 2n−kומכיוון ש־ kיכול להיות כל מספר בין 0ל־ nנקבל בסךנקבל kבסך Pn .2n−k
n−k
k=0 3 · 2־ אותו הסכום שהופיע בהגדרת הכפל של פונקציות יוצרות. הכל
התרגיל הזה ממחיש את העיקרון הכללי:
משפט 8.5יהיו {an }n≥0ו־ {bn }n≥0סדרות כך ש־ anמתאר את מספר האובייקטים מגודל
nבמחלקה Aו־ bnמתאר את מספר האובייקטים מגודל nבמחלקה ,Bויהיו )a (x) , b (x
הפונקציות היוצרות המתאימות.
) .1חיבור( אם C = A ∪ Bוהאיחוד זר ,כלומר כל אובייקט ב־ Cמגודל nהוא או
אובייקט מגודל nב־ Aאו אובייקט מגודל nב־ Bו־∅ = ,A ∩ Bאז = )c (x
).a (x) + b (x
) .2כפל( אם C = A × Bכך שאיבר ב־ Cמגודל nהוא זוג של איבר מ־ Aואיבר מ־B
שסכום הגדלים שלהם הוא ,nאז ).c (x) = a (x) b (x
המשפט נובע מהתכונות הבסיסיות של חיבור וכפל טורי חזקות.
נעבור כעת לדוגמאות.
∞
2
k 1 X n+k−1 n
1 + x + x + ... = k
= x
)(1 − x n=0
k−1
27
n+k−1
= .CCknבסימון זה ,הזהות k−1 כדי לפשט את הסימונים בהמשך ,נשתמש בסימון
שמצאנו היא
∞
k 1 X
1 + x + x2 + . . . = k
= CCkn xn
)(1 − x n=0
x + x3 + x5 + . . . = x 1 + x2 + x4 + . . .
1
= 1 + x + x2 + . . .מראה כי 1−x אותו טיעון שהראה כי
1
= 1 + x2 + x4 + . . .
1 − x2
k k
x + x3 + x5 + . . . = xk 1 + x2 + x4 + . . .
xk
= k
) (1 − x2
k
x
. (1−xביטוי זה מספיק לנו לצרכים קיבלנו ביטוי סגור פשוט עבור הפונקציה היוצרת2 )k :
רבים ובפרט לתרגילים מסובכים יותר שמתבססים על הנוכחי .עם זאת ,אנו רוצים לנסות
לחלץ מהפונקציה היוצרת גם נוסחה סגורה עבור מספר הפתרונות ,ולכן נפתח את הביטוי
לטור .נזכור כי ראינו
∞
1 X
k
= CCkt y t
)(1 − y t=0
)כאן במקום להשתמש ב־ x, nכרגיל השתמשנו ב־ y, tכדי לא לערבב את הסימונים של
הנוסחה הזו שמצאנו קודם עם הסימונים של התרגיל החדש(.
28
לכן אם נציב y = x2ונכפיל בביטוי ,xkנקבל:
∞ ∞
xk X X
k
= xk = CCkt x2t CCkt x2t+k
) (1 − x2 t=0 t=0
k ∞P
x
ואנו רוצים למצוא נוסחה (1−x2 )k
נזכור מה אנחנו מעוניינים למצוא= n=0 an xn :
סגורה ל־ .anאז נשווה את הביטוי הזה עם הביטוי שמצאנו:
∞
X ∞
X
= an xn CCkt x2t+k
n=0 t=0
אם nאינו מהצורה 2t + kאז המקדם של xnבביטוי מימין הוא .0לכן נקבל בסופו
של דבר:
(
0 n 6= 2t + k
= an
CCkt n = 2t + k
1 − xm+1
= )f (x
1−x
k
) (1−xm+1
כמקודם ,אנחנו מעוניינים ב־ f k (x) = (1−x)k־ הפונקציה היוצרת שמתארת את
מספר הפתרונות למשוואה כאשר יש לנו kמשתנים.
ראשית ,נטפל במונה .אנחנו יודעים איך לפתוח אותו באמצעות הבינום של ניוטון:
k
m+1 k
X k i
−xm+1 · 1k−i
1−x =
i=0
t
k
X i )k i(m+1
= )(−1 x
i=0
i
29
עבור המכנה נתבסס שוב על התוצאה שראינו קודם:
∞
1 X
k
= CCkt xt
)(1 − x t=0
ולכן
k ∞
1 − xm+1 k X
k
= 1 − xm+1 CCkt xt
)(1 − x t=0
k ∞
i k
X X
= )(−1 )xi(m+1 CCkt xt
i=0
i t=0
k X ∞
i k
X
= )(−1 )CCkt xt+i(m+1
i=0 t=0
i
∞P
ושוב ,אנו רוצים להשוות את הביטוי הזה לטור n=0 an xnולכל ,nלחלץ את הערך
של .anמכאן נשאלת השאלה :עבור nנתון ,מה הערכים של t, iשעבורם מתקיים = n
) ?t + i (m + 1כל זוג ערכים של t, iשכאלו תורמים למקדם של .xnועבור nנתון ,מתקיים
).t = n − i (m + 1
לכן נקבל:
k
X i k X i k )n−i(m+1
= an )(−1 = CCkt )(−1 CCk
i i=0
i
t, i :
)n = t + i (m + 1
)n−i(m+1
.CCk כאשר אם n − i (m + 1) < 0המוסכמה היא ש־= 0
30
an = an−1 + n
אנו מעוניינים להפיק מנוסחת הנסיגה הזו פתרון סגור למשוואה .נציג שלוש דרכים
שונות לעשות זאת:
.1הצבה נשנית.
.2שיטת המשוואה האופיינית.
.3פונקציות יוצרות.
וכן הלאה .בבירור הצורה הכללית כאן היא )).an = an−k +kn−(1 + 2 + · · · + (k − 1
) ,1 + 2 + · · · + k − 1 = k(k−1ונקבל:
2 נשתמש בנוסחה לסדרה חשבונית:
).an = an−k + kn − k(k−1
2
כדי לסיים נציב k = nונשתמש בתנאי ההתחלה a0 = 1כדי לקבל:
2 2 2
)an = 1 + n2 − n(n−1 = 2+2n 2−n +n = n +n+2 )= 1 + n(n+1 = 1 + n+1
2 2 2 2
בשלב זה מומלץ לבדוק את נכונות התוצאה על ידי הצבת ערכים קטנים בה.
31
כמו כן מתנאי ההתחלה a0 = 1נקבל .C = 1
n2 +n
+ 1 = 1 + n+1
= .an 2 2 קיבלנו שצורת הפתרון הכללי היא
הסבר:
ה־) xf (xהוא an−1־ זו ההשפעה של ביצוע `הזזה ימינה` על כל אברי הסדרה על ידי
∞P כפל ב־.x
x 1
)(1−x2 = כן ועל קודם, שראינו הנוסחאות פי על )(1−x 2 = n=0 (n + )1 xn
∞P
היא הפונקציה היוצרת של הסדרה בה האיבר ה־n־י הוא ) nשיטה אחרת: nxn
∞P 0 n=1
1 x
.( n=1 nxn = x · 1−x )= (1−x 2
∞ ∞
X n + 2 n+1 X n+1
x = xn
n=0
2 n=0
2
n+1
∞P 1
,1 +שוב. 2 הוא , n=0 xnולכן נקבל שפתרון הנוסחה הוא 1−x הטור של
אנו רוצים למצוא ביטוי סגור ל־ anכדי להדגים שתי טכניקות כלליות שבהן ניתן לגשת
לבעיה הזו.
32
זה מוביל אותנו לנחש פתרון שהוא פונקציה אקספוננציאלית ,כלומר פונקציה מהצורה
,an = λnאולם מהו הערך של ?λאם נציב an = λnבנוסחת הנסיגה ,an = an−1 + an−2
נקבל:
אמנם λ = 0מניב את הפתרון הקביל an = 0לנוסחת הנסיגה ,אולם ברור שזה לא
הפתרון שאנחנו מחפשים :בפרט הוא אינו מקיים את תנאי ההתחלה .a0 = 0, a1 = 1לכן
נניח ש־ λ 6= 0ולכן ניתן לחלק בו ,להעביר אגפים ולקבל
λ2 − λ − 1 = 0
זו משוואה ממעלה שניה ואנו יודעים לפתור משוואות כאלו באמצעות נוסחת השורשים:
√ √
1± 1+4 1± 5
= λ1,2 =
2 2
√ √
נסמן φ+ = 1+2 5ו־ .φ− = 1−2 5המספר φ+הוא מוכר למדי ומכונה יחס הזהב.
העובדה ש־ φ+ , φ−פותרים את המשוואה λ2 − λ − 1 = 0מוכיחה שהם פותרים גם את
המשוואה ,λn = λn−1 + λn−2כך שמצאנו שני פתרונות שונים אפשריים לנוסחת הנסיגה
:an = an−1 + an−2
an = φn+
an = φn−
לרוע המזל ,אף אחד משני פתרונות אלו אינו מקיים את תנאי ההתחלה עבור סדרת
פיבונאצ'י ,כלומר a0 = 0ו־ .a1 = 1למשל ,עבור הפתרון של ,φn+הערכים הראשונים הם
1, φ+במקום .0, 1
למרבה המזל ,בהינתן שני הפתרונות לנוסחת הנסיגה ניתן ליצור מהם אינסוף פתרונות
נוספים באמצעות צירוף לינארי של הפתרונות הקיימים :לכל ,A, B ∈ Rגם an = Aφn+ +
Bφn−יהיה פתרון של נוסחת הנסיגה )ניתן לראות זאת על ידי הצבה ובדיקה ישירה( .ננסה,
אם כן ,לבנות מהפתרונות שמצאנו פתרון חדש לנוסחת הנסיגה שבנוסף יקיים את תנאי
ההתחלה .נציב n = 0ו־ n = 1ונקבל את זוג המשוואות הבאות:
0 = Aφ0+ + Bφ0− = A + B
1 = Aφ+ + Bφ−
מהמשוואה הראשונה נסיק A = −Bוכשנציב זאת במשוואה השניה נקבל
) 1 = A (φ+ − φ−
√ √ √
מכיוון ש־ φ+ − φ− = 1+2 5 − 1−2 5 = 5נקבל
1
A = φ+ −φ −
= √15
ולכן הפתרון לנוסחת הנסיגה שמקיים גם את תנאי ההתחלה הוא
φn −φn
an = Aφn+ + Bφn− = +√5 −
33
שימוש כללי בשיטת המשוואה האופיינית 9.2.2
הטכניקה שבה השתמשנו עבור פיבונאצ'י ניתנת להכללה עבור כל נוסחת נסיגה לינארית,
כלומר כזו מהצורה
בנוסחת נסיגה לינארית ,האיבר anהוא צירוף לינארי של kאיברים קודמים ־ סכום של
האיברים הללו כשכל אחד מהם מוכפל בסקלר .cהנוסחה an = an−1 + nשראינו קודם
אינה לינארית בגלל האיבר החופשי nשאינו כפל במקדם של איבר קודם בנוסחת הנסיגה.
גם הנוסחה an = a2n−1 + anאיננה לינארית כי האיבר an−1אינו מופיע כמות שהוא אלא
כשהוא מועלה בריבוע.
כאשר נתונה לנו נוסחת נסיגה לינארית ,אנו מחפשים לה פתרונות מהצורה ,an = λn
כפי שראינו קודם .הצבה של פתרון כזה בנוסחת הנסיגה מניבה בסופו של דבר את המשוואה
אם k = 2אנו יכולים לפתור את המשוואה בקלות בעזרת נוסחת השורשים ,אבל
עבור ערכים גדולים יותר של kהמצב קשה יותר )בפרט ,עבור k ≥ 5לא קיימת נוסחה
כללית לפתרון משוואות כאלו( ולעתים קרובות נזקקים לאלגוריתם נומרי )כדוגמת אלגוריתם
ניוטון־רפסון( שיחשב קירוב טובים לפתרונות.
נוסחת נסיגה שהולכת אחורה kצעדים זקוקה ל־ kתנאי התחלה שונים .אם בנוסף לכך
קיימים למשוואה kפתרונות שונים ,λ1 , . . . , λkאז נכתוב פתרון כללי מהצורה A1 λn1 +
,. . . + Ak λnkנשווה לתנאי ההתחלה ונקבל מערכת של kמשוואות לינאריות ב־ kנעלמים:
A1 + A2 + . . . + Ak = a0
A1 λ1 + A2 λ2 + . . . + Ak λk = a1
.
.
.
A1 λk−1
1 + A2 λk−1
2 + . . . + Ak λk−1
k = ak−1
כאן הנעלמים הם .A1 , . . . , Akאם מערכת המשוואות פתירה ,מצאנו פתרון לנוסחת
הנסיגה שעונה על תנאי ההתחלה.
מה קורה אם למשוואה אין מספיק פתרונות? כדי להבין מתי זה קורה ניזכר בטענה
כללית על משוואות פולינומיות.
המשפט היסודי של האלגברה קובע כי לפולינום ממעלה nמעל המרוכבים Cקיימים
בדיוק nשורשים ,עד כדי ריבוי .משמעות הדבר היא שניתן לכתוב כל פולינום ממעלה n
בתור
) (x − z1 ) (x − z2 ) · · · (x − zn
כך ש־ z1 , z2 . . . , zn ∈ Cהם מספרים מרוכבים ,לאו דווקא שונים זה מזה .אם
”מאגדים“ יחד פתרונות זהים ,מקבלים את הכתיב
34
r r r
(x − z1 ) 1 (x − z2 ) 2 · · · (x − zt ) t
כך ש־ z1 , . . . , ztהם השורשים השונים של הפולינום r1 + . . . + rt = n ,ו־ riנקרא
הריבוי של השורש .zi
עד עכשיו עסקנו רק במקרה שבו היו לנו nשורשים שונים ,כלומר הריבוי של כל אחד
מהם היה ,1ובמקרה זה אם λהיה שורש אז λnהיה פתרון של נוסחת הנסיגה.
אם λהוא שורש מריבוי ,rעדיין ניתן לקבל ממנו rפתרונות שונים לנוסחת הנסיגה:
משפט 9.1הסדרה {an }n≥0מקיימת את נוסחת הנסיגה הלינארית an = c1 an−1 + . . . +
∞P
ck an−kאם ורק אם הפונקציה היוצרת שלה f (x) = n=0 an xnהיא מהצורה = )f (x
) 1−c1 x−c2p(xכאשר ) p (xהוא פולינום ממעלה קטנה מ־.k
x2 −...−ck xk
במילים אחרות ,נוסחת הנסיגה ”מקודדת“ בתוך המכנה של הפונקציה היוצרת .הוכחה :נניח
ש־ anמקיימת את נוסחת הנסיגה .כזכור ,לכפל של פונקציה יוצרת ב־ xiיש אפקט של
”הזזת“ הסדרה שהפונקציה היוצרת מייצגת iמקומות קדימה והכנסת 0בהתחלה .כלומר
∞
X ∞
X ∞
X
xi f (x) = xi = an xn = an xn+i an−i xn
n=0 n=0 n=i
ומכאן
35
∞
X ∞
X
= )c1 x1 f (x) + . . . + ck xk f (x c1 an−1 xn + . . . + ck an−k xn
n=1 n=k
∞
X ∞
X
= t (x) + c1 an−1 xn + . . . + ck an−k xn
n=k n=k
X∞
= t (x) + (c1 an−1 + . . . + ck an−k ) xn
n=k
X∞
= t (x) + an xn
n=k
∞
X
= )an xn − p (x
n=0
)= f (x) − p (x
כאשר ) t (x) , p (xהם פולינומים ממעלה לכל היותר t (x) :k − 1מתקבל מהאיברים
Pk−1 ∞P
של הטורים n=i c1 an−i xnעבורם ;x < kואילו ).p (x) = n=0 an xn − t (x
קיבלנו את השוויון
נחלק ונקבל
)p (x
= )f (x
1 − c1 x − . . . − ck xk
כמבוקש.
בכיוון השני ,אם ל־) f (xיש את הצורה הנ“ל ,על ידי היפוך הפעולות החשבוניות שביצענו
ניתן לשחזר את נוסחת הנסיגה an = c1 an−1 + . . . + ck an−kעבור .n ≥ k
ההוכחה לא סיפקה לנו נוסחה מפורשת עבור ) ,p (xשהוא החלק של הפונקציה היוצרת
שתלוי בתנאי ההתחלה של הסדרה ,a0 , a1 , . . . , ak−1 ,אולם קל יחסית לשחזר את = )p (x
b0 + b1 x + . . . + bk− xk−1מתוך הנוסחה ) .f (x) 1 − c1 x − . . . − ck xk = p (xאם
36
נכתוב את במפורש את ,f (x) = a0 + a1 x + a2 x2 + . . .נפתח את הסוגריים ונשווה מקדם
מקדם עבור החזקות של xשהן לכל היותר :k
b0 = a 0
b1 = a1 − c1 a0
b2 = a2 − c1 a1 − c2 a0
.
.
.
a0 = b0
a1 = b1 + c1 a0
a2 = b2 + c1 a1 + c2 a2
.
.
.
דוגמא עבור נוסחת פיבונאצ'י ,an = an−1 + an−2 ,בלי תלות בתנאי ההתחלה הפונקציה
)p(x
1−x−xכאשר ).p (x היוצרת היא מהצורה 2
II חלק
מבוא לתורת הגרפים
גרפים ־ הגדרה ודוגמאות 10
נפתח במספר בעיות ידועות במתמטיקה.
דוגמא נתונה צורה המורכבת מקודקודים וקווים המחברים אותם .האם ניתן לצייר אותה
מבלי להרים את העט מהדף?
זוהי בעיית הכרעה אלגוריתמית; מסתבר שקיים אלגוריתם יעיל ופשוט ביותר אשר מכריע
אותה ,ונראה אותו בהמשך הקורס .הפתרון נעוץ בחשיבה על הצורה כעל גרף ותרגום השאלה
האם ניתן לצייר אותה מבלי להרים את העט מהדף לשאלה האם קיים בגרף המתאים מסלול
אוילרי.
37
דוגמא נתונה מפה כלשהי .האם ניתן לצבוע אותה עם ארבעה צבעים בלבד ,כך ששתי
מדינות סמוכות אינן צבועות באותו הבא?
זוהי בעיית ארבעת הצבעים המפורסמת מאוד ,שהייתה פתוחה למעלה ממאה שנים עד
שנפתרה )עם תשובה חיובית; די בארבעה צבעים( בשנות ה־ 70של המאה ה־ ,20בסיוע מחשב
)שבדק אלפי טענות פרטניות שנדרשו להוכחה הכללית( .בניסוחה המתמטי בעיית ארבעת
הצבעים היא השאלה האם כל גרף מישורי הוא 4־צביע?
דוגמא נתונים שלושה בתים ושלושה מקורות של מים ,חשמל וגז .האם ניתן לחבר כל
בית לכל שלושת המקורות מבלי ששני חיבורים ייחתכו? )הכל מצוייר על דף נייר והבתים
המקורות הם נקודות(.
התשובה לבעיה זו היא לא .בניסוחה המתמטי זוהי הטענה שהגרף הדו צדדי המלא K3,3
איננו מישורי.
יש לבנות באופן אקראי ובזמן יעיל מבוך שבו בין כל שני תאים קיים מסלול אחד דוגמא
ויחיד.
בניסוח מתמטי מבקשים כאן לבנות עץ פורש של גרף מלא; קיימים אלגוריתמים יעילים
לפתרון בעיה זו )ולפתרון בעיה כללית מעט יותר שבה יש `מחיר` לחיבור בין כל שני תאים
ורוצים מבוך בעל מחיר מינימלי(.
דוגמא נתונים nגברים ו־ nנשים כך שכל אישה מעוניינת בחלק מהגברים וכל גבר מעוניין
בחלק מהנשים .האם ניתן לחלק את את הגברים והנשים לזוגות באופן מונוגמי כך שיווצרו
nזוגות שבהם בני הזוג מעוניינים אלו באלו?
משפט החתונה של הול נותן תיאור מדויק וקל לבדיקה של תנאי שבו הדבר מתאפשר.
בניסוח מתמטי זוהי השאלה באילו תנאים יש שידוך מושלם בגרף דו צדדי.
נעבור כעת לתיאור פורמלי ואבחנות בסיסיות.
הגדרה ) 10.1גרפים(
• גרף הוא זוג ) G = (V, Eכאשר Vהיא קבוצה כלשהי )`קודקודים`( ו־ Eהיא אוסף
זוגות של קודקודים )`קשתות`(.
• אם יש שתיים או יותר קשתות מצומת vאל צומת uהן נקראות קשתות מקבילות.
• אם יש קשת מ־ vאל vהיא נקראת חוג עצמי.
38
• צומת מבודדת היא צומת מדרגה .0
• גרף ) G = (V, Eהוא סופי אם הקבוצות V, Eסופיות.
הוכחה :נספור נקודות חיבור של קודקוד וקשת בשתי דרכים שונות .בדרך הראשונה ,נעבור
קשת קשת ולכל קשת נוסיף 2לספירה כי היא מחוברת בדיוק לשני קודקודים ־ קיבלנו
קודקוד קודקוד ולכל קודקוד נוסיף לספירה את כל הקשתות
P | .2 |Eבדרך השניה נעבור
שנוגעות בו ־ קיבלנו ). v∈V d (v
נחזור להגדרות:
• מסלול בגרף הוא סדרה של צמתים v1 , v2 , . . . , vnכך שבין כל שני צמתים סמוכים
בסדרה יש קשת )ואם הגרף מכוון ,הקשת היא מ־ viאל .(vi+1מסלול יכול להיות גם
אינסופי )ואז פשוט אין איבר אחרון לסדרה( .מסלול מסומן לרוב בתור → v1 → v2
.· · · → vn
• אורך של מסלול סופי הוא כמספר הקשתות שבהן עוברים במסלול )כל קשת נספרת
כמספר הפעמים שעוברים בה( ,כלומר אורך המסלול v1 → · · · → vnהוא .n − 1
• מעגל בגרף הוא מסלול שבו צומת ההתחלה זהה לצומת הסיום) v1 = vn :כל צומת
על המעגל יכול לשמש כצומת התחלה וסיום(.
• מסלול או מעגל הם פשוטים אם הם אינם עוברים באותה צומת יותר מפעם אחת,
למעט נקודות ההתחלה והסיום במקרה של מעגל .כמו כן מעגל פשוט נדרש להיות
מאורך 3לפחות.
• גרף הוא קשיר אם בין כל שני צמתים בגרף קיים מסלול.
• גרף מכוון הוא קשיר אם גרף התשתית שלו קשיר .הוא קשיר היטב אם קיים מסלול
בגרף מכל צומת אל כל צומת אחר.
משפט ) 10.4אפיון אלטרנטיבי לקשירות של גרף( גרף לא מכוון ) G = (V, Eהוא קשיר אם
ורק אם בכל חתך שלו )חלוקה של Vלאיחוד זר של שתי קבוצות לא ריקות (V = X ∪ Y
קיימת קשת מצומת כלשהי ב־ Xלצומת כלשהי ב־ ) Yעבור גרף מכוון ,הגרף קשיר היטב אם
ורק אם בכל חתך יש קשת מ־ Xאל Yומ־ Yאל .(X
הוכחה :כיוון אחד :נניח כי Gקשיר ויהא V = X ∪ Yחתך X, Y .לא ריקות אז
יש .x ∈ X, y ∈ Yמכיוון שהגרף קשיר קיים מסלול v1 → v2 → · · · → vnכך
ש־.v1 = x, vn = y
יהא iהאינדקס המינימלי של צומת במסלול viכך ש־ .vi ∈ Yמכיוון ש־ vn = y ∈ Y
∈ ,v1 = xהרי ש־ .2 ≤ i ≤ nמהמינימליות של iעולה ש־ vi−1 ∈ Xולכן ) (vi−1 , viו־ / Y
היא קשת מ־ Xאל ,Yכנדרש.
39
כיוון שני :נניח שהקריטריון מתקיים ונוכיח שהגרף קשיר .יהיו x, y ∈ Vכלשהם ,ונגדיר
קבוצה U ⊆ Vבתור קבוצת הצמתים שיש מסלול מ־ xאליהם ב־ .Gבהכרח x ∈ Uכי
קיים מסלול מ־ xלעצמו באורך ,0ומכאן ש־ Uלא ריקה .אם U = Vאז סיימנו כי ;y ∈ U
אחרת ) V = U ∪ (V − Uהוא חתך של Vולכן קיימת קשת מ־ u ∈ Uאל .v ∈ V − U
אבל יש מסלול מ־ xאל uולכן יש מסלול מ־ xאל ,(x → · · · → u → v) vאבל אז v ∈ U
בסתירה לכך ש־ .v ∈ V − Uמכאן ש־ ,U = Vכנדרש.
את העיר חוצה נהר במספר מקומות ועל הנהר יש גשרים .האתגר :למצוא טיול בעיר
שעובר בכל גשר בדיוק פעם אחת.
אפשר למדל את הבעיה באמצעות גרפים ־ קודקוד לכל איזור של העיר וקשת לכל גשר.
מתקבל גרף לא מכוון עם קשתות מקבילות.
השאלה :האם קיים בגרף מסלול שעובר בכל קשת בדיוק פעם אחת?
הגדרה 11.1מסלול בגרף שעובר בכל קשת בדיוק פעם אחת נקרא מסלול אוילרי.
מסלול בגרף שעובר בכל צומת בדיוק פעם אחת נקרא מסלול המילטוני.
בדומה ,מעגל בגרף שעובר בכל קשת בדיוק פעם אחת נקרא מעגל אוילרי ומעגל בגרף
שעובר בכל צומת )פרט לצומת ההתחלה והסיום( בדיוק פעם אחת נקרא מעגל המילטוני.
הבעיה של בדיקה האם קיים מסלול אוילרי בגרף היא פשוטה ונפתרה על ידי אוילר ,כפתרון
כללי לבעיית הגשרים של קניגסברג )על פתרון זה אומרים שהוא מציין את הולדת תורת
40
הגרפים( .לעומת זאת ,הבעיה של בדיקה האם קיים מסלול המילטוני בגרף היא קשה ולא
נעסוק בה בקורס זה; הזכרנו מסלולים המילטוניים לצרכי שלמות בלבד.
הגדרה 11.2גרף Gנקרא אוילרי אם קיים בו מסלול אוילרי ,ונקרא אוילרי מעגלי אם קיים
בו מעגל אוילרי.
הוכחה :ראשית נוכיח את 2בהינתן ש־ 1כבר הוכח .אם ב־ Gבדיוק שני צמתים מדרגה
אי זוגית נוסיף קשת שמחברת אותם )ייתכן שהיא תהיה מקבילה לקשתות שכבר מחברות
אותם( וכעת דרגת כל הצמתים בגרף זוגית וקיים בו מעגל אוילרי .ניקח את המעגל ונסיר
ממנו את המעבר על פני הקשת שהוספנו )ובכך נכריח את הצמתים האי זוגיים להיות הראשון
והאחרון במסלול המתקבל( וקיבלנו מסלול אוילרי ל־.G
בכיוון השני ,אם Gהוא אוילרי אז ניקח מסלול אוילרי בו ,נחבר את צומת ההתחלה
והסיום בקשת ונקבל גרף עם מעגל אוילרי ,ולכן דרגת כל הצמתים בו זוגית ,ולכן לאחר
הסרת הקשת שהוספנו נקבל שדרגת בדיוק שני צמתים היא אי זוגית ־ הצמתים שלהם
הוספנו קשת.
נעבור כעת להוכחת .1נניח ש־ Gהוא אוילרי מעגלי ויהא v1 → v2 → · · · → v1מעגל
אוילרי בו .נטייל על המעגל ובכל פעם שבה ניכנס לצומת או נצא ממנו נגדיל מונה עבור
אותו צומת ב־ .1נשים לב שבסיום הטיול על המעגל המונה של של צומת יהיה שווה בדיוק
ל־) d (vשכן אנחנו עוברים על כל הקשתות בגרף ,ולכל קשת המחוברת ל־ vאנו מגדילים
את המונה שלו )אם כאשר אנחנו נכנסים אליו ואם כאשר אנחנו יוצאים(.
כעת נשים לב שלכל צומת ,מספר הפעמים שאנו נכנסים אליו שווה למספר הפעמים שאנו
יוצאים ממנו )כי אחרי כל כניסה לצומת אנחנו גם יוצאים אליו למעט עבור v1שפעם אחת
)בהתחלה( אנו יוצאים ממנו מבלי להיכנס ,ובפעם השניה אנו נכנסים אליו מבלי לצאת ,כך
ששוב אנו מתאזנים .מכאן ש־) d (vזוגי תמיד.
הכיוון השני הוא עיקר ההוכחה .נניח ש־) d (vזוגי לכל הצמתים בגרף הקשיר Gונוכיח
כי קיים בו מעגל אוילרי.
נבחר צומת שרירותי v ∈ Vונטייל בגרף החל ממנו באופן אקראי לחלוטין ,כאשר אנו
מוחקים כל קשת שאנו עוברים בה .מכיוון שדרגת כל צומת זוגית ,מובטח לנו שבכל פעם
שבה אנו נכנסים לצומת שאינה vאנו גם יכולים לצאת ממנה לאחר מכן ולכן איננו יכולים
`להיתקע` אלא רק על ידי חזרה אל .vמכאן שהטיול שלנו בגרף ייצור בהכרח מעגל.
לאחר מחיקת כל קשתות המעגל מהגרף עדיין נשמר התנאי שכל הדרגות זוגיות .לכן
ניתן לחזור שוב על התהליך )החל מצומת שדרגתה גדולה מ־ (0ולקבל מעגל נוסף ,וכן הלאה.
בכל פעם מספר הקשתות שנותרו בגרף הופך לקטן יותר ,ולכן התהליך יסתיים כעבור מספר
סופי של צעדים ותתקבל סדרה C1 , C2 , . . . , Ckשל מעגלים בגרף שכוללים את כל קשתות
הגרף.
נשים לב שכל זוג מעגלים בעלי צומת משותף ניתן לאחד באופן הבא :אם uהוא הצומת
המשותף ,אז נבנה משני המעגלים מעגל שצומת ההתחלה שלו הוא ,uלאחריה הולכים כמו
על המעגל הראשון ומסיימים ב־ ,uואז ממשיכים כמו המעגל השני ומסיימים ב־) uכמובן,
המעגל אינו פשוט ,אך זה לא נדרש(.
כל עוד ניתן לאחד זוג מעגלים מתוך ,C1 , . . . , Ckנעשה זאת .אם לבסוף מתקבל רק
מעגל אחד ,סיימנו; אחרת ,תהא Cקבוצת הצמתים של אחד המעגלים .מכיוון ש־ Gקשיר,
41
קיימת קשת מצומת uב־ Cאל צומת .v ∈ V −Cמכיוון שכל קשת שייכת למעגל כלשהו ,גם
∈ (vאבל מכאן עולה שהצומת uשייך למעגל הקשת ) (u, vשייכת למעגל שאיננו ) Cכי / C
הזה ולכן הוא משותף למעגל ול־ ,Cבסתירה לכך שאין שני מעגלים בעלי צומת משותף.
קיים ניסוח של המשפט גם עבור גרפים מכוונים:
משפט ) 11.4אוילר ,גרסה לגרפים מכוונים( יהא Gגרף סופי ,מכוון וקשיר.
G .1הוא אוילרי מעגלי אם ורק אם לכל צומת vמתקיים ).din (v) = dout (v
G .2אוילרי אם ורק אם ) din (v) = dout (vלכל זוג צמתים פרט לשני צמתים v, u
אשר מקיימים:
הוכחה :ההוכחה דומה להוכחה של משפט אוילר הרגיל; התנאים של הגרסה המכוונת של
המשפט מאפשרים להפעיל את אותה ההוכחה ללא שינוי מהותי.
עבור אלפבית Σו־ nנתונים ,אנו מתעניינים בסדרה קצרה ככל הניתן של אותיות כך שכל
מילה מאורך nמופיעה בתוך הסדרה כאחד מרצפי האותיות שבה ,כשרצפים נלקחים בצורה
ציקלית )כלומר ,אם רצף חורג מעבר לסוף המילה הוא חוזר להתחלה.
אלו כל 8המילים מאורך 3מעל ,Σוקיבלנו אותם באמצעות סדרה מאורך .8קל להשתכנע
שסדרה כזו היא אופטימלית:
טענה 12.3אם wהיא מילה מעל Σכך שכל מילה ב־ Σnמופיעה באופן ציקלי ב־ ,wאז
n
|.|w| ≥ |Σ
42
הוכחה :למילים שונות שמופיעות ב־ wיש אינדקס שונה עבור האות הראשונה ,כך שאם
n n
מופיעות ב־ wלפחות | |Σמילים שונות ,יש לפחות | |Σאינדקסים שונים לאותיות .w
n
מכאן שאנו מתעניינים במיוחד בסדרות שהן מהאורך האופטימלי | |Σונותנים להן שם:
n
הגדרה 12.4סדרת דה־ברויין מעל Σלמילים מאורך nהיא סדרה σ1 . . . σtכך ש־ |t = |Σ
ומתקיים .{σi σi+1 . . . σi+n−1 | i = 1, 2, . . . , t} = Σn
כיצד ניתן למצוא סדרות דה־ברויין? כאן באה תורת הגרפים לעזרתנו :עם בניה מתאימה
של גרף מתאים ,שייקרא גרף דה־ברויין ,נוכל לקבל את כל סדרות דה־ברויין בתור מעגלים
אוילריים בגרף.
הגדרה 12.5גרף דה־ברויין עם פרמטרים ,k, nהמסומן ,Gk,nהוא גרף מכוון המוגדר באופן
הבא:
• ראשית מוגדר אלפבית }.Σ = {0, 1, . . . , k − 1
• V = Σn−1
• E = Σn
• הקשת b1 b2 . . . bnיוצאת מהצומת b1 b2 . . . bn−1ונכנסת לצומת .b2 b3 . . . bn
כלומר ,בכל צעד מכניסים מצד ימין עוד תו במילה של vומוציאים תו מהמילה של .u
קל לראות שהקשתות המתאימות קיימות.
כדי לראות ש־) din (v) = dout (vנשים לב להתאמה חח`ע ועל בין קשתות נכנסות
ויוצאות מ־ :vאם v = a1 . . . an−1ו־ σ ∈ Σכלשהו ,אז נתאים בין הקשת הנכנסת
σa1 . . . an−1והקשת היוצאת .a2 . . . an−1 σקל לראות כי זוהי אכן התאמה חח`ע ועל.
43
דוגמא למשל ,כפי שראינו ,דוגמא אחת למעגל אוילרי בגרף G2,3היא זו:
00 → 01 → 11 → 11 → 10 → 01 → 10 → 00 → 00
הקשתות עליהן עוברים במעגל הזה הן:
001 → 011 → 111 → 110 → 101 → 010 → 100 → 000
ניתן להשתמש בכתיבה מקוצרת ולתאר את כל המסלול כסדרה באורך ) 8בכל פעם
מתואר התו החדש שמתווסף למחרוזת( .00111010 :זו סדרת דה־ברויין שראינו בהתחלה.
כעת נוכל להסיק:
טענה 12.7לכל k, nיש סדרת דה־ברויין מעל } Σ = {0, 1, . . . , k − 1למילים מאורך .n
הוכחה :נתבונן בגרף דה־ברויין .Gk,nכפי שראינו ,קיים בו מעגל אוילרי .יהיו e1 , e2 , . . . , ekn
הקשתות בגרף לפי הסדר שבו הן מופיעות במעגל .נבנה סדרת דה ברויין באופן האינדוקטיבי
הבא :היא מתחילה ב־ ,e1ולאחר מכן לכל קשת eiבתורה נוסיף לה את האות האחרונה
ב־ eiעד ל־ .i = k n − nמכיוון שאורך e1הוא nואנחנו מוסיפים עוד k n − nתווים ,נקבל
סדרה מאורך k nשמתארת במדויק את המעגל האוילרי ,ומכיוון שכל מילה מופיעה כקשת
במעגל ,סיימנו.
עצים 13
הגדרה ואפיונים בסיסיים 13.1
הגדרה 13.1עץ הוא גרף פשוט Gהמקיים את שתי התכונות הבאות:
• Gקשיר.
• Gחסר מעגלים.
G .1הוא עץ.
G .2חסר מעגלים ותוספת כל קשת ל־ Gיוצרת מעגל ) Gהוא מקסימלי ביחס לתכונה
`חסר מעגלים`(
G .3קשיר ומחיקת כל קשת מ־ Gתהפוך אותו ללא קשיר ) Gהוא מינימלי ביחס לתכונה
`קשיר`(.
.4לכל זוג צמתים u, vקיים מסלול פשוט יחיד מ־ uאל .v
44
:4 ⇐ 2ניקח שני צמתים .u, v ∈ Vאם קיים ביניהם מסלול הוא יחיד ,שכן שני
מסלולים שונים ניתן לשרשר לקבלת מעגל ונתון ש־ Gחסר מעגלים .לכן נותר להוכיח כי
קיים מסלול בין .u, vאם קיימת ב־ Gהקשת ) (u, vאז קיים ביניהם המסלול .u → v
אם הקשת ) (u, vאינה בגרף ,אז הוספתה ל־ Gתיצור מעגל; מכיוון ש־ Gהוא חסר מעגלים
המעגל חייב לעבור דרך ) (u, vולכן הוא מהצורה ) u → v → · · · → uבלי הגבלת הכלליות
ניתן להניח שצומת ההתחלה והסיום הוא (uומכאן שקיים ב־ Gכבר מסלול.v → · · · → u :
G :3 ⇐ 4קשיר כי בין כל זוג צמתים קיים מסלול .תהא ) (u, vקשת בגרף; מכאן
ש־ u → vהוא המסלול היחיד בגרף מ־ uאל ,vולכן אם תוסר הקשת ) (u, vלא יהיה מסלול
מ־ uאל vוהגרף יפסיק להיות קשיר.
G :1 ⇐ 3קשיר על פי הנתון .נניח בשלילה שקיים בו מעגל פשוט → · · · → u → v
.w → uמכיוון שהמעגל פשוט ) w 6= vכי vאינו יכול להופיע פעמיים במעגל פשוט( ,אז
לאחר הסרת הקשת ) (u, vהגרף יוסיף להיות קשיר :כל מסלול בו שהשתמש בקשת )(u, v
יכול ללכת במסלול v → · · · → w → uבמקום.
הגדרה 13.3יער הוא גרף פשוט וחסר מעגלים )איחוד עצים זרים(.
עלה בגרף כלשהו הוא צומת מדרגה .1
טענה 13.4ביער סופי בן קשת אחת לפחות קיימים לפחות שני עלים.
הוכחה :ניקח בגרף מסלול פשוט באורך מקסימלי )קיים כזה שכן הגרף סופי ולכן אורך כל
מסלול פשוט חסום על ידי מספר הצמתים בגרף( .נקודות ההתחלה והסיום חייבות להיות
עלים ,שאם לא כן ניתן יהיה להאריך את המסלול; אם צומת ההתחלה אינו עלה ,הוא מחובר
לצומת נוסף שחייב לא להיות על המסלול )שאם לא כן יהיה בגרף מעגל ,בסתירה לכך שהוא
יער( ,ולכן ניתן להרחיב את המסלול על ידי הוספת מעבר לאותו הצומת.
הוכחה :אם Gהוא עץ אז לפי טענה 13.5הוא בעל n − 1קשתות וכמובן שהוא קשיר וחסר
מעגלים ,כך שנותר רק להוכיח את הכיוון השני בכל אחת משתי הטענות.
45
נניח ש־ Gחסר מעגלים בעל n − 1קשתות .כל עוד ניתן להוסיף ל־ Gקשתות מבלי
ליצור מעגל ,נעשה זאת עד לקבלת גרף G0שבו הוספת כל קשת תיצור מעגל .על פי טענה
G0 ,13.2הוא עץ; ולכן מטענה 13.5יש בו n − 1קשתות ,כלומר ,G = G0ולכן Gהוא עץ.
נניח ש־ Gקשיר בעל n−1קשתות .כל עוד ניתן להסיר מ־ Gקשת מבלי לפגום בקשירות
שלו נעשה זאת עד לקבלת גרף G0שבו הורדת כל קשת תפגום בקשירות של הגרף .פי טענה
G0 ,13.2הוא עץ; ולכן מטענה 13.5יש בו n − 1קשתות ,כלומר ,G = G0ולכן Gהוא עץ.
נציג את ההוכחה של .Prüferבהוכחה זו מראים התאמה חח`ע ועל בין קבוצת העצים על
} V = {1, 2, . . . , nוקבוצת המחרוזות מאורך n − 2מעל הא`ב } .{1, 2, . . . , nההתאמה
תוצג באמצעות אלגוריתם המתרגם עץ למחרוזת ,והוכחה שהאלגוריתם מבצע התאמה חח“ע
ועל.
)א( תהא (u, v) ∈ Eהקשת כך ש־ uהוא העלה המינימלי )מבחינת מספרו הסידורי(
בגרף .G
)ב( קבעו ) σi = vהאות ה־ iהיא מספרו הסידורי של השכן של העלה uב־.(G
)ג( הסירו את uמהגרף .G
בסיום ריצת האלגוריתם הוסרו מהגרף n − 2צמתים ו־ n − 2קשתות ,ולכן Gנותר עם זוג
צמתים בודד שמחובר בקשת .כפי שנראה ,אין צורך בטיפול נוסף בצמתים אלו.
נשים לב לכך שהאלגוריתם עובד תמיד; לא מובן מאליו שבשלב א' יהיה תמיד ניתן
למצוא עלה ,אך זה נובע ישירות מטענה :13.4בתחילת האלגוריתם ב־ Gיש n − 1קשתות,
והאלגוריתם מסיר n − 2קשתות במהלך ריצתו ,ולכן תמיד קיימת ב־ Gקשת אחת לפחות
ולכן תמיד קיים ב־ Gעלה אחד לפחות .מכאן שהפונקציה שהאלגוריתם מחשב היא מוגדרת
היטב )לכל קלט קיים פלט יחיד(.
כעת נותר להוכיח שההתאמה ש־ TreeToWordמגדיר היא חח“ע ועל .כלומר ,שלכל
מילה מאורך n − 2מעל } {1, . . . , n − 2קיים עץ שמייצר אותה )זה יוכיח שהפונקציה היא
על( ושהעץ הזה הוא יחיד )זה יוכיח שהפונקציה היא חח“ע(.
על ) ,G = (V, Eאז לכל TreeToWord טענה 13.8אם wהיא המילה שמתקבלת כפלט של
v ∈ Vמספר המופעים של vב־ wהוא בדיוק .d (v) − 1
46
הוכחה :עבור vיש שתי אפשרויות :או שהוא אחד משני הצמתים שנשארים בסיום ריצת
האלגוריתם ,או שהוא מוסר מהגרף בשלב מסוים .האלגוריתם מסיר מהגרף רק צומת שהוא
עלה ,כלומר בעל שכן בודד בעץ ,ולכן בכל אחד משני המקרים vמגיע באלגוריתם למצב שבו
יש לו שכן בודד ,ומכאן ש־ d (v) − 1משכניו מוסרים לפניו ,ובכל הפעמים הללו vמתווסף
למחרוזת .לאחר הסרת שכנים אלו vהופך בעצמו לעלה ,ולכן המקרה היחיד שבו לא יוסר
הוא אם גם שכנו הוא עלה ,ובמקרה זה שני צמתים אלו הם האחרונים שנותרו בעץ.
מסקנה 13.9אם vאינו מופיע ב־ ,wאז vהוא עלה בכל עץ שיוצר את .w
n−2
} ,w ∈ {1, 2, . . . , nקיים ויחיד עץ Tהיוצר אותה באמצעות טענה 13.10בהינתן מילה
האלגוריתם .TreeToWord
הוכחה :נוכיח באינדוקציה על .n
בסיס האינדוקציה עבור :n = 2במקרה זה wהיא המחרוזת הריקה ,ואכן קיים עץ
יחיד בן שני הצמתים }.{1, 2
0
צעד :נניח באינדוקציה שלמה כי לכל ,n < nההתאמה בין עצים ומילים של Tree-
ToWordהיא אכן חח`ע ועל.
יהא } u ∈ {1, 2, . . . , nהמינימלי שאינו מופיע ב־) wקיים כזה שכן אורך wהוא .(n − 2
מכיוון ש־ uהוא הקטן מבין האיברים שאינם מופיעים ב־ ,wהוא בהכרח העלה המינימלי
בכל עץ שיוצר את .wלכן בהכרח ) w1האות הראשונה ב־ (wהוא השכן של uבכל עץ
שיוצר את .w
כעת `נקצוץ` את w1מ־ wלקבלת w0 = w2 . . . wn−2ונסיר מ־ Vאת uלקבלת
}.V 0 = V − {u
0 0 0 0
מהנחת האינדוקציה נובע שקיים עץ יחיד ) T = (V , Eהיוצר את המילה .wמעץ זה
מתקבל Tעל ידי הוספת הקשת ) (u, w1שראינו כי היא נקבעת באופן יחיד .מכאן ש־ T
נקבע באופן יחיד על ידי ,wכנדרש.
הוכחה זו גם מתווה את האופן שבו יעבוד אלגוריתם פענוח שבונה עץ בהינתן מילה:
)א( מצאו את u־ הצומת המינימלי ב־ Sשאינו מופיע ב־ .wi wi+1 . . . wn−2
)ב( }) .E ← E ∪ {(u, wi
)ג( }.S ← S − {u
47
עצים מכוונים 13.3
נפתח בהגדרות הדרושות כדי להכליל את מושג העץ לגרפים מכוונים:
הגדרה 13.11שורש בגרף מכוון הוא צומת שקיים מסלול ממנו אל כל הצמתים.
עץ מכוון הוא גרף מכוון אשר גרף התשתית שלו הוא עץ וקיים לו שורש.
כמקודם ,ניתן לתת מספר אפיונים שקולים לכך שגרף הוא עץ מכוון:
G .1הוא עץ מכוון.
.2ל־ Gיש שורש ולכל צומת בגרף המסלול מהשורש אליו הוא יחיד.
.3ל־ Gיש שורש שדרגת הכניסה שלו 0ולשאר הצמתים בגרף דרגת כניסה .1
.4ל־ Gיש שורש ומחיקת כל קשת מ־ Gהופכת את Gלחסר שורש.
.5גרף התשתית של Gקשיר ול־ Gיש צומת אחד עם דרגת כניסה 0ולשאר הצמתים
דרגת כניסה .1
48
שב־ Gכל הקשתות מכוונות בכיוון המסלול .אם אין קשתות במסלול ,סיימנו; בנוסף ,הקשת
) (u, w1חייבת להיות מכוונת לכיוון w1אחרת דרגת הכניסה של vגדולה מאפס ,ומכאן
נמשיך באינדוקציה :הקשת ) (wi−1 , wiהיא מ־ wi−1אל wiעל פי הנחת האינדוקציה ,ולכן
כדי שדרגת הכניסה של wiתהיה בדיוק 1הכרחי שהקשת ) (wi , wi+1תהיה מכוונת לכיוון
wi+1וכך עד .wk = u
נותר להראות כי גרף התשתית של Gאינו כולל מעגלים .נניח בשלילה כי קיים מעגל; אז
vאינו יכול להיות עליו )אחרת הייתה קשת נכנסת ל־ vודרגת הכניסה של vלא הייתה .(0
נתבונן במסלול מ־ vאל צומת uכלשהו על המעגל,v = u0 → u1 → u2 → · · · → uk = u :
ויהא uiבעל האינדקס iהמינימלי שנמצא על המעגל ) i ≥ 1שכן ראינו כי vאינו יכול להיות
על המעגל( .אז מצד אחד נכנסת אליו הקשת מ־ ui−1שאינו על המעגל ,ומצד שני נכנסת
אליו קשת מצומת שכן על המעגל ,ולכן דרגת הכניסה שלו היא לפחות ,2בסתירה לנתון.
ישנו עוד אפיון אחד שהשמטנו מהרשימה שכן הוא תקף רק עבור גרפים מכוונים סופיים:
טענה 13.13גרף מכוון סופי Gהוא עץ בעל שורש rאם ורק אם דרגת הכניסה של rהיא
,0דרגת הכניסה של שאר הצמתים בגרף היא ,1וגרף התשתית של Gחסר מעגלים.
הוכחה :כיוון אחד קל ־ אם Gהוא עץ מכוון בעל שורש rאז גרף התשתית הוא עץ ולכן
חסר מעגלים ,וכבר ראינו כי היותו של Gעץ גוררת את התכונה הנדרשת על הדרגות )אפיון
3במשפט .(13.12
בכיוון השני עלינו להראות כי rהוא שורש )מה שגם יגרור את קשירות גרף התשתית(.
יהא uצומת כלשהו בגרף .נבנה סדרה u1 , u2 , . . .באופן הבא u1 = u :ולכל ui+1 ,iהוא
הצומת שנכנס אל .uiיש צומת כזה כל עוד ,ui 6= rכי דרגת הכניסה של uiהיא .1
נניח כעת בשלילה כי קיימים i < jכך ש־ .ui = ujאז קיבלנו מעגל בגרףuj → :
.uj−1 → · · · → ui = ujמכאן שכל אברי הסדרה שונים אלו מאלו .מכיוון שניתן להמשיך
את הסדרה כל עוד לא הגענו אל rויש רק מספר סופי של צמתים בגרף שמספרם חוסם את
אורך הסדרה ,הסדרה חייבת להגיע אל ,rמה שיראה קיום של מסלול מ־ rאל .u
דוגמה נגדית פשוטה למשפט שלעיל במקרה שבו הגרף אינסופי היא גרף שמורכב מ`שרוך`
אינסופי לשני הכיוונים ,· · · → • → • → • → . . .ועוד צומת מבודד )שישמש בתפקיד .(r
• הגרף המושרה על Gעל ידי קבוצת צמתים V 0 ⊆ Vהוא הגרף ) G0 = (V 0 , E 0בו E 0
מכילה את קשתות Eאשר שני קצותיהן ב־ .(E 0 = {(u, v) ∈ E | u, v ∈ V 0 }) V 0
• הגרף המושרה על Gעל ידי קבוצת קשתות E 0 ⊆ Eהוא ) G0 = (V 0 , E 0כאשר V 0
מכילה את כל הצמתים בהם נוגעות קשתות מ־ E 0
0
)).(V = (v ∈ V | ∃u ∈ V : (u, v) ∈ E ∨ (v, u) ∈ E
הגדרות אלו שימושיות באופן כללי ,אך אנו רוצים לדבר על סוג מיוחד של תת־גרף מושרה:
הגדרה 13.15עץ פורש של גרף ) G = (V, Eהוא עץ ) T = (V, E 0המושרה על ידי תת
קבוצה .E 0 ⊆ E
49
כלומר ,עץ פורש צריך לכלול את כל צמתי הגרף המקורי וחלק מהקשתות ,כך שהוא יהיה
עץ.
ברור כי לכל גרף לא מכוון קשיר קיים עץ פורש :פשוט מסירים קשתות מהגרף עד
שמגיעים למצב שבו הסרת כל קשת הופכת את הגרף לבלתי קשיר ,ואז הוא עץ על פי משפט
.13.2פחות ברור המקרה של עץ מכוון:
הגדרה 13.17בהינתן גרף מכוון Gללא חוגים עצמיים על צמתים } ,V = {v1 , v2 , . . . , vn
נגדיר מספר מטריצות ב־ Rn×nהמתאימות לגרף:
• מטריצת השכנויות Aשל הגרף מוגדרת כך ש־ [A]ijהוא מספר הקשתות מ־ viאל vj
ב־.G
(
din (vi ) i = j
= [∆]ijכלומר זו • מטריצת דרגת הכניסה ∆ מוגדרת על ידי
0 i 6= j
מטריצה אלכסונית שבה דרגות הכניסה של צמתי Gמופיעים על האלכסון.
ההנחה שאין ב־ Gחוגים עצמיים אינה מגבילה אותנו ,שכן עץ פורש ממילא אינו יכול להכיל
קשת מצומת לעצמו )היא תיצור מעגל( ,ולכן בהינתן גרף כלשהו ,מספר העצים הפורשים שלו
זהה למספר העצים הפורשים של הגרף שמתקבל ממנו על ידי הסרת החוגים העצמיים.
50
עם זאת ,ב־ Gבהחלט יכולות להיות קשתות מקבילות ,ואנו סופרים בנפרד עצים פורשים
שמשתמשים בקשתות שונות עבור אותם זוגות צמתים.
כדי לנסח את משפט קירכהוף אנו זקוקים להגדרה נוספת מאלגברה לינארית:
הגדרה 13.18מטריצת המינור Lrשל Lהיא המטריצה המתקבלת מ־ Lעל ידי מחיקת
השורה והעמודה ה־r־ים.
וכעת ניתן לעבור לניסוח המשפט:
משפט ) 13.19קירכהוף( יהא Gגרף מכוון עם מטריצת לפלסיאן .Lמספר העצים הפורשים
את Gעם שורש vrהוא בדיוק ) .det (Lr
המקרה הפשוט של המשפט הוא זה שבו מספר הקשתות בגרף קטן מ־ .n − 1במקרה זה
אין מספיק קשתות ב־ Gכדי ליצור עץ פורש )שכן כל עץ פורש הוא בעל n − 1קשתות( ולכן
מספר העצים הפורשים הוא .0קל לראות כי det (Lr ) = 0במקרה זה; מכיוון שיש ב־G
לכל היותר n − 2קשתות ,דרגת הכניסה של שני צמתים לפחות היא .0זה אומר שיש צומת
viכך ש־ i 6= rעבורו din (vi ) = 0ולכן Lii = 0וכמו כן לכל j 6= iמתקיים ) Lji = 0כי
אין קשת מ־ vjשנכנסת אל .(viכלומר ,העמודה ה־ iב־ Lכולה אפסים ,כך שגם ב־ Lrיש
עמודה שכולה אפסים ,ולכן .det (Lr ) = 0
נעבור למקרה שבו מספר הקשתות ב־ Gהוא לפחות .n − 1לצורך הוכחת המשפט
נתבסס על כך שאנו יכולים לכתוב את Lrכמכפלה של שתי מטריצות לא ריבועיות .ראשית,
עבור ) G = (V, Eנסמן ב־| n = |Vאת מספר הצמתים וב־| m = |Eאת מספר הקשתות.
כעת נגדיר מטריצות A, Bמסדר (n − 1) × mכך שכל שורה מתאימה לצומת של G
פרט לצומת ) rנניח בלי הגבלת הכלליות ש־ ,(r = nעל פי הכללים הבאים:
Aik = Bik = −1אם הקשת ekנכנסת לצומת viב־.G
Aik = 1אם הקשת ekיוצאת מהצומת viב־.G
שאר הכניסות של שתי המטריצות הן .0
כלומר ,כל עמודה של A, Bמייצגת קשת בגרף ,כך שבשורה שמתאימה לצומת שממנה
יוצאת הקשת יש 1ב־ Aו־ 0ב־ ,Bוכמו כן בשורה שמתאימה לצומת שאליה נכנסת הקשת
יש −1בשתי המטריצות .נשים לב כי השורה שמתאימה לצומת rשל השורש לא מופיעה
במטריצות.
בהתאמה כך ש־AB
משפט ) 13.21קושי־בינה( :אם A, Bמטריצות מסדרים n×mו־P m×n
היא מטריצה מסדר ,n × nוגם ,n ≤ mאז מתקיים ,det (AB) = σ det Aσ det Bσ
51
כאשר σרץ על כל הקבוצות של nאינדקסים מתוך } ,{1, . . . , mו־ Aσמייצג את תת־
המטריצה מסדר n×nשמתקבלת מ־ Aעל ידי מחיקת כל העמודות פרט לאלו שהאינדקסים
שלהן ב־ ,σו־ Bσמוגדרת בדומה עבור מחיקת שורות.
כזכור ,כבר טיפלנו במקרה שבו ) m < n − 1במצב זה (det (Lr ) = 0ולכן ניתן להניח כי
m ≥ n − 1ותנאי משפט קושי־בינה מתקיימים.
המשפט מקל עלינו את הוכחת משפט קירכהוף בצורה משמעותית ,שכן ל־ Aσו־ Bσיש
משמעות קומבינטורית פשוטה :הן מייצגות את מה שנותר מ־ Gלאחר שנבחרה בו תת־
קבוצה σשל קשתות שהן מועמדות ליצור עץ .שימו לב ש־ A, Bהן מסדרים × )(n − 1
) m, m×(n − 1ולכן σהוא בחירה של n−1עמודות )קשתות( מתוך mהעמודות )קשתות(
האפשריות .מכיוון שעל פי משפט קושי־בינה מתקיים
X X
= det Lr = det Aσ det BσT det Aσ det Bσ
σ σ
מה שנותר להראות כדי להוכיח ש־ det Lrהוא מספר העצים הפורשים של Gעם השורש
vrהוא שאם הקשתות שנבחרו ב־ σיוצרות עץ ,המחובר שמתאים להן יהיה ,1ואם אינן
יוצרות עץ ,המחובר יהיה .0פורמלית נראה:
.1אם σמתאים לבחירה של n−1קשתות שיוצרות עץ פורש שהשורש שלו הוא ,vrאז או
ש־ det Aσ = det Bσ = 1או ש־) det Aσ = det Bσ = −1ולכן = det Aσ det BσT
.(1
.2אם σמתאים לבחירה של n − 1קשתות שאינן יוצרות עץ פורש ,אז det Aσ = 0או
.det Bσ = 0
לבה הטכני של ההוכחה הוא בשתי התוצאות הבאות מאלגברה לינארית:
• החלפת שתי שורות או שתי עמודות של מטריצה הופכת את סימן הדטרמיננטה שלה
אך לא משנה את ערכה המוחלט.
• הדטרמיננטה של מטריצה משולשית תחתונה היא מכפלת האיברים שעל האלכסון.
אם כן ,נביא את Aσ , Bσלצורה של מטריצה משולשית תחתונה על ידי סידור מחדש של
השורות והעמודות.
אם σמגדירה עץ פורש Tב־ ,Gאז נבנה סדרה u1 , u2 , . . .של צמתים ו־ e1 , e2 , . . .
של קשתות באופן הבא :מכיוון ש־ Tהוא עץ ,קיימים בו לפחות שני עלים ,כלומר יש בו עלה
שאינו .vrעלה זה יהיה .u1הקשת שמחברת את u1לשאר הגרף תהיה .e1כעת נמחק
את u1ו־ e1מהעץ ,ונקבל עץ חדש ,שגם בו שני עלים שאחד מהם אינו vrומהם נבנה את
u2 , e2וכן הלאה .הצומת האחרון שיוותר בגרף הוא vrוממנו פשוט נתעלם.
כעת נסדר מחדש את Aσ , Bσכך שהשורה הראשונה היא של הצומת ,u1העמודה
הראשונה של ,e1השורה השניה של u2וכן הלאה.
נתבונן בשורה שמתאימה ל־ uiבכל אחת משתי המטריצות .אנו רוצים להראות שלכל
k > iמתקיים שהכניסה ה־ ikשווה 0כדי שהמטריצות יהיו משולשיות תחתונות .אם
uik 6= 0זה אומר שהקשת ekמחוברת לצומת ) uiנכנסת או יוצאת ממנו( בעץ ,Tושקשת
זו הוסרה מהעץ רק אחרי הצעד שבו uiהוסר מהעץ .אבל כאשר uiמוסר מהעץ הוא
עלה ,ולכן eiהייתה הקשת האחרונה שחיברה את uiלעץ ,ומכאן שלא ייתכן ש־ ekהייתה
52
מחוברת אליו .כמו כן ei ,היא קשת שנכנסת ל־ ,uiולכן הכניסה ה־ iiבמטריצה היא −1
)גם ב־ Aσוגם ב־ .(Bσמכאן שאכן נקבל det Aσ = det Bσ = ±1במקרה זה.
נניח כעת כי σאינה מגדירה עץ ,ונראה כי det Aσ = 0או ,det Bσ = 0בהתאם לשני
הדברים שיכולים להשתבש.
ראשית ,ייתכן ש־ σאינה עץ אפילו בגרף התשתית של .Gבמקרה זה ,מכיוון ש־σ
היא קבוצה של n − 1קשתות ,בהכרח יש בגרף שמושרה מ־ σשני רכיבי קשירות ,שכן
כל גרף לא מכוון קשיר עם n − 1קשתות הוא עץ .נתבונן ברכיב הקשירות שבו vrאינו
נמצא ,ובאוסף השורות ב־ Aσשמתאים לצמתים של רכיב קשירות זה .אם נראה כי סכום
שורות אלו הוא ,0סיימנו; זה מוכיח כי השורות תלויות לינארית ולכן Aσהיא סינגולרית
ו־ .det Aσ = 0הסכום הוא אפס שכן לכל עמודה במטריצה ,אם הקשת שהיא מייצגת לא
שייכת לרכיב הקשירות אז אף אחד משני הצמתים שמחוברים אליה לא שייכים לקבוצת
הצמתים של השורות שלקחנו ,ואז העמודה תהיה שווה ל־ 0בכל השורות בקבוצה שלנו; או
שהקשת כן שייכת לרכיב הקשירות ואז שני הצמתים המחוברים יהיו בקבוצת השורות שלנו,
ומכיוון שבצומת שממנו יוצאת הקשת הערך הוא 1ובצומת שאליו נכנסת הקשת הערך הוא
−1שוב נקבל שהסכום הוא .0
נותר לטפל במקרה שבו σמגדירה עץ בגרף התשתית אך בגרף המכוון זה איננו עץ
ששורשו .vrבמקרה זה נראה כי .det Bσ = 0נסדר את המטריצה כפי שעשינו במקרה שבו
σכן הגדירה עץ .מכיוון ש־ σלא מגדירה עץ במקרה זה ,בהכרח זה מכיוון שיש קשת אחת
לפחות שמכוונת בכיוון הלא נכון ,כלומר יש iכך ש־ eiיוצאת מהצומת ,viולכן הכניסה ii
במטריצה המסודרת מחדש תהיה ,0ומכאן שנקבל שהדטרמיננטה היא .0זה מסיים את
ההוכחה.
הגדרה 13.22בהינתן גרף לא מכוון Gללא חוגים עצמיים על צמתים } ,V = {v1 , v2 , . . . , vn
נגדיר מספר מטריצות ב־ Rn×nהמתאימות לגרף:
• מטריצת השכנויות Aשל הגרף מוגדרת כך ש־ [A]ijהוא מספר הקשתות בין viו־ vj
ב־.G
(
d (vi ) i = j
= [∆]ijכלומר זו מטריצה • מטריצת הדרגות ∆ מוגדרת על ידי
0 i 6= j
אלכסונית שבה הדרגות של צמתי Gמופיעים על האלכסון.
בניגוד למקרה המכוון ,במקרה הלא מכוון מטריצת השכנויות Aהיא סימטרית ,שכן מספר
הקשתות בין viו־ vjזהה ,כמובן ,למספר הקשתות בין vjו־ .vi
53
משפט ) 13.23קירכהוף( יהא Gגרף לא מכוון עם מטריצת לפלסיאן Lויהא v ∈ Vצומת
כלשהו ב־ .Gמספר העצים הפורשים את Gהוא בדיוק ) .det (Lv
בניגוד למקרה של גרפים מכוונים ,בגרף לא מכוון אין חשיבות לבחירה של ;v ∈ Vכפי
שנראה ,עבור כל v ∈ Vתתקבל אותה התוצאה .הוכחה :כמו במקרה המכוון ,ניתן להניח
שאין ב־ Gחוגים עצמיים שכן הם ממילא לא יכולים להשתתף באף עץ פורש.
מהגרף הלא מכוון ) G = (V, Eנבנה גרף מכוון ) G0 = (V, E 0באופן הבא :ב־ G0אותם
צמתים כמו ,Gואם ב־ Gקיימת הקשת ) (v, uאז ב־ G0יהיו קיימות שתי הקשתות v → u
ו־) u → vאם יש יותר מקשת אחרת בין v, uבגרף Gאז נוסיף שתי קשתות ל־ G0עבור כל
קשת שכזו(.
מטריצת השכנויות של הגרף החדש היא A0 = Aעל פי הגדרה .בנוסף ∆ = ∆0שכן כל
קשת שמחוברת לצומת ב־ Gהופכת לזוג קשתות ,שאחת מהן נכנסת לצומת זו ב־ .G0מכאן
ש־ ,L0 = Lולכן ) det (L0v ) = det (Lvלכל .v ∈ V
כדי להשלים את ההוכחה צריך לראות שלכל v ∈ Vיש התאמה חח“ע ועל בין עצים
פורשים של Gועצים פורשים של G0עם שורש .vבכיוון אחד ,בהינתן עץ פורש Tב־G
נוסיף כיוונים לקשתות שלו כך שדרגת הכניסה של Gתהיה 0ודרגת הכניסה של כל צומת
אחר תהיה .1ניתן לעשות זאת באופן הבא :לכל קשת ) (u, wכלשהי ב־ Tאנו יודעים
.vאם wמופיע על המסלול ,נכוון את הקשת ) (u, wמ־ wאל ;u שקיים מסלול יחיד u
אחרת ,נכוון אותה מ־ uאל .wאת הגרף שהתקבל נסמן ב־ .T 0אנו יודעים שגרף התשתית
Tשלו הוא עץ ,ולכן כדי להשתכנע ש־ T 0הוא עץ מכוון די להראות ש־ vהוא שורש .בהינתן
vבעץ Tונראה שהוא מסלול גם ב־ .T 0לשם כך נתבונן ,u ∈ Vנתבונן במסלול u
במעבר כלשהו w1 → w2על המסלול ב־ Tונראה שהקשת ) (w1 , w2מכוונת מ־ w1אל w2
גם ב־ ;T 0דבר זה נובע מכך שהמסלול היחיד מ־ vאל w2ב־ Tחייב לעבור קודם ב־ w1
)אחרת גם המסלול מ־ vאל uלא היה עובר קודם ב־ .(w1
הראינו התאמה שלכל עץ פורש Tשל Gמחזירה עץ פורש T 0עם השורש vשל .G0
בכיוון ההפוך ,בהינתן עץ פורש ,T 0נחזיר את גרף התשתית שלו Tשהוא בוודאי עץ על פי
הגדרת עץ פורש בגרף מכוון .התאמה זו היא ההופכית של ההתאמה הקודמת שהראינו ,מה
שמוכיח שההתאמה היא חח“ע ועל.
54
הפתרון לכל הבעיות הללו הוא Cn־ מספר קטלן ה־n־י.
ומכאן:
2n 2n
Cn = −
n n−1
2n n
= 1−
n n+1
1 2n
=
n+1 n
55
2n
הגדרה 14.1מילת דיק מאורך 2nמעל הסימנים } {a, bהיא מילה } w ∈ {a, bעם בדיוק
nמופעים של aו־ nמופעים של bשהיא בעלת התכונה שבכל רישא של המילה ,מספר ה־a־
ים גדול או שווה למספר ה־b־ים .פורמלית מסמנים זאת באופן הבא :לכל פירוק w = uv
מתקיים ש־) ,#a (u) ≥ #b (uוכמו כן מתקיים ).#a (w) = #b (w
לצורך נוחות סדרת סוגריים חוקית היא מילת דיק שבה הסימנים הם ) (,בהתאמה.
הסימונים נעבור כעת להשתמש בסימנים .U, R
ראשית נשים לב לשקילות הברורה שבין מסלולי שריג וסדרות סוגריים חוקיות ־ Uמציין
צעד עלייה למעלה R ,מציין צעד ימינה ,והתנאי על האלכסון שקול לתנאי על מילות דיק.
כעת נשתמש בדרך ההצגה באמצעות מילות דיק כדי לפתח ביטוי רקורסיבי למספרי
קטלן.
Pn C 0 = 1 בסיס:
צעדCn+1 = i=0 Ci Cn−i :
הנוסחה נובעת מהאבחנה הבאה :לכל מילת דיק לא ריקה wקיימת הצגה יחידה
מהצורה w = U xRyכך ש־ x, yהן מילות דיק ,אולי ריקות .מכאן שמספר ה־w־ים מאורך
x, Pשל מילות דיק שמקיימות .|x| + |y| = 2n) 2 (n + 1הוא כמספרם של כל הזוגות y
n
מכאן מתקבלת הנוסחה Cn+1 = i=0 Ci Cn−i :הוא עיקרון החיבור בפעולה ,כשמפרידים
בין מקרים שונים לפי אורך ) xשהוא במקרה הכללי .(2iבהינתן בחירה של מילת דיק באורך
2iעבור Ci ) xאפשרויות( אנו בוחרים מילת דיק yמאורך ) Cn−i ) 2 (n − iאפשרויות(
ומשתמשים בעיקרון הכפל לקבלת מספר כל הזוגות של ) (x, yשכאלו.
נוכיח את הטענה על קיום הפירוק היחיד .w = U xRyראשית ,האות הראשונה ב־w
חייבת להיות Uכי אם היא תהיה Rזה יפר את התנאי שמגדיר מילות דיק.
נתבונן על הפירוקים האפשריים של wלרישא וסיפא ,w = uy ,וניקח פירוק שמקיים
) #R (u) = #U (uכך שאורך uהוא מינימלי מבין כל הפירוקים שמקיימים זאת .נשים לב
לכך שבהכרח קיים פירוק אחד לפחות כזה ,שכן u = wמקיים זאת על פי הגדרת מילות
דיק.
נסמן u = u0 σ
לפי התנאי על מילות דיק ) .#R (u0 ) ≤ #U (u0לכן בהכרח ) σ = Rאחרת היינו
מקבלים ) (#R (u) < #U (uולכן ניתן לכתוב .u = U xRכעת נראה כי xהיא מילת דיק:
לכל רישא x0של xמתקיים
כאשר אי השוויון הוא חזק בזכות המינימליות של .uמכך ש־#R (x0 ) < #U (x0 ) + 1
והעובדה שכל המספרים במשוואה שלמים ,נסיק ) .#R (x0 ) ≤ #U (x0
כמו כן#R (x) = #R (U xR) − 1 = #U (U xR) − 1 = #U (x) ,
ולכן xמקיימת את התכונה שמספר ה־ Uוה־R־ים בה מתאזן בסוף .מכאן ש־ xהיא
מילת דיק.
כעת נעבור ל־ .yכדי לראות שהיא מילת דיק נסתמך כמקודם על התכונה שמגדירה
מילות דיק והעובדה ש־ uו־ w = uyהן מילת דיק:
56
ולכל רישא y 0של ,yנסתמך על כך ש־ uy 0היא רישא של wונקבל:
כמבוקש.
נסמן ב־ Bnאת מספר העצים הבינאריים על nצמתים .מהתיאור הרקורסיבי שלעיל נובעת
הנוסחה הרקורסיבית הבאה:
Pn B0 = 1
Bn+1 = i=0 Bi Bn−i־ סכימה על הבחירות האפשריות של עצים בתור בנים ל־;r
סכום הצמתים בשני העצים הוא nכי הצומת הנוסף משמש בתפקיד .r
נוסחה זו זהה לחלוטין לנוסחה של מספרי קטלן ,דהיינו .Bn = Cn
נעבור כעת לטפל באופן דומה בעצים בינאריים מלאים .ההבדל העיקרי הוא שאנחנו
סופרים את מספר העצים הבינאריים מלאים בעלי nעלים ,ולא צמתים .מטעמי נוחות לא
נחשיב את הגרף הריק כעץ בינארי מלא.
בעץ בעל צומת אחד יש גם עלה בודד .בעץ שנבנה מתוך T1ו־ T2מספר העלים הוא סכום
מספרי העלים של .T1 , T2זה מוביל לנוסחה הבאה:
Pn D1 = 1
Dn+1 = i=1 Di Dn+1−i־ דומה לנוסחה הקודמת ,אבל כעת עץ אינו יכול להכיל 0
Pn−1 עלים.
נבצע החלפת משתנה ,j = i − 1 :אז נקבלDn+1 = j=0 Dj+1 Dn−j :
מכאן שמתקיים .Dn = Bn−1 = Cn−1כלומר ,מספר העצים הבינאריים המלאים בעלי
n + 1עלים הוא בדיוק מספר קטלן ה־.n
57
שילושים של מצולע קמור 14.4
בהינתן מצולע קמור ,שילוש שלו הוא אוסף של אלכסונים שמועברים בתוכו ומחלקות אותו
למשולשים.
נתון מצולע קמור בן nצלעות .כמה חלוקות אפשריות שלו למשולשים יש?
נמספר את קודקוד המצולע ב־ 1, 2, 3, . . . , nלפי סדר הופעתם על המצולע .נתבונן על
הצלע שמחברת את הקודקודים :n, 1אנחנו יודעים שבכל חלוקה של המצולע למשולשים,
הצלע הזו היא חלק ממשולש .כל אחד מ־ n − 2הקודקודים האחרים של המצולע יכול
לשמש בתור הקודקוד השלישי של המשולש .אם בחרנו את הקודקוד iואנו מוחקים את
המשולש מהמצולע ,מתקבלים שני מצולעים קמורים חדשים :המצולע שמורכב מהקודקודים
1, 2, . . . , iוהצלע ) ,(1, iוהמצולע שמורכב מהקודקודים i, i+1, . . . , nוהצלע ) .(i, nאפשר
כעת לטפל רקורסיבית בכל אחד מהמקרים ,אולם נשים לב לכך שאם i = 2או ,i = n − 1
אחד משני המצולעים החדשים שנקבל הוא ”מנוון“; הוא כולל רק שני קודקודים .בסיטואציה
כזו ,של מצולע בעל 2קודוקדים ,אנו מגדירים את מספר השילושים שלו להיות “) 1השילוש
הריק“(.
אם נסמן ב־ Tnאת מספר השילושים של מצולע קמור בעל nצלעות ,אז הדיון לעיל
מראה כי מתקיימת נוסחת הנסיגה
Pn−1 T2 = 1
Tn = i=2 Ti Tn+1−i
כאשר iרץ על הבחירות האפשריות לקודקוד השלישי שאליו מחברים את ,1, nמה
שמוביל לשילוש של מצולע בעל iקודקודים ) (1, 2, . . . iומצולע בעל n + 1 − iקודקודים
).(i, i + 1, . . . , n
קל לראות כעת באינדוקציה כי ,Cn = Tn+2שכן
בסיסC0 = 1 = T2 :
צעד :נניח Ck = Tk+2לכל k ≤ nונוכיח עבור :n + 1
n
X n
X
= Cn+1 = Ck Cn−k = Tk+2 T(n−k)+2
k=0 k=0
n+2
X n+2
X
= = Ti T(n−i+2)+2 Ti T(n+3)+1−i
i=2 i=2
= Tn+3
כמבוקש.
58
ספירת מסלולים בגרף 15
מבוא 15.1
בעיות ספירה רבות ניתנות לרדוקציה אל הבעיה של ספירת מסלולים בגרף .נציג כאן דוגמא
n
ספציפית אחת .נניח שאנו מעוניינים לדעת מה מספרן של המילים } w ∈ {1, 2, 3שהרצף
11והרצף 23לא מופיע בהן .פתרון הבעיה בעזרת כלים אלמנטריים או בעזרת עקרון ההכלה
וההפרדה לא נראה מבטיח; נוסחת נסיגה נראית מתבקשת יותר .מה שנציג כאן הוא דרך
שיטתית למצוא נוסחת נסיגה שכזו.
נבנה גרף שצמתיו מסומנים ב־ 1, 2, 3כך שיש קשת מ־ iאל jאם לרצף ijמותר להופיע
במחרוזת:
מסלול מאורך n − 1בגרף מתאר מילה חוקית מאורך .nנשים לב לכך שמסלול כזה יכול
להתחיל בכל אחד מהצמתים ,ולכן עלינו לפתור את השאלה :בהינתן צומת viבגרף ,כמה
מסלולים מאורך nשמתחילים מ־ viקיימים? לצורך כך ,נזכיר מושג שראינו קודם:
הגדרה 15.1בהינתן גרף לא מכוון Gללא חוגים עצמיים על צמתים } V = {v1 , v2 , . . . , vm
מטריצת השכנויות A ∈ Rm×mשל הגרף מוגדרת כך ש־ [A]ijהוא מספר הקשתות בין vi
ו־ vjב־.G
עבור הגרף שבאיור ,מטריצת השכנויות היא
0 1 1
A = 1 1 0
1 1 1
אפשר לחשוב על המטריצה הזו כמייצגת את מספר המסלולים מאורך 1בין צמתי הגרף:
מסלול מאורך 1כולל קשת בודדת ,ולכן מספר הקשתות בין viו־ vjשווה למספר המסלולים
ביניהם.
59
אם נכפול את Aבעצמה )נזכיר בהמשך את ההגדרה הפורמלית של כפל מטריצות( נקבל
2 2 1
A2 = 1 2 1
2 3 2
נתבונן על ה־ 3בכניסה ה־) (3, 2של המטריצה; הוא סופר את שלושת המסלולים
האפשריים מאורך 2מ־ v3אל :v2
v3 → v3 → v2
v3 → v2 → v2
v3 → v1 → v2
באופן דומה ,כל כניסה במטריצה סופרת את המסלולים מאורך .2הרעיון כעת ברור:
[An ]ijסופר את המסלולים מאורך nמ־ viאל .vjנותר רק להוכיח זאת.
משפט 15.2אם ) G = (V, Eהוא גרף )מכוון או לא מכוון( עם קבוצת צמתים = V
} {v1 , . . . , vmו־ Aמטריצת השכנויות של הגרף ,אז [An ]i,jהוא מספר המסלולים מאורך
nמ־ viאל vjבגרף.
מכיוון שהמשפט והוכחתו מתבססים על חזקות של מטריצות ,נזכיר את ההגדרה:
הגדרה 15.3אם Aמטריצה מסדר n × tו־ Bמטריצה מסדר t × mאז ABהיא מטריצה
מסדר n × mהמוגדרת על ידי
t
X
= [AB]ij [A]it [B]tj
k=1
ההגדרה של כפל מטריצות אינה קלה לעיכול ,אולם דווקא התוצאה שנוכיח כעת היא אחת
מהדרכים לקבל אינטואיציה עבורה .לכן נעבור כעת להוכחת המשפט .הוכחה :ההוכחה
תהיה באינדוקציה על .n
בסיס :עבור ,n = 0מכיוון שקיים מסלול יחיד מאורך 1מצומת viלעצמו )המסלול vi
שכולל צומת יחיד ואפס קשתות( וקיימים 0מסלולים מ־ viאל vjעבור ,i 6= jנקבל על פי
הגדרה ש־ A0 = Iאכן מתארת את מספר המסלולים המבוקש.
נניח את נכונות הטענה עבור nונוכיח עבור .n + 1יהיו 1 ≤ i, j ≤ mכלשהם :נוכיח
ש־ An+1 ijהוא מספר המסלולים מאורך n + 1מ־ viאל .vj
viשהוא מאורך לפחות ,1ניתן לסמן ב־ vkאת הצומת הלפני בהינתן מסלול vj
viהוא מאורך viכך שהמסלול vk אחרון במסלול ולקבל את המסלול vk → vj
.nעל פי הנחת האינדוקציה ,מספר המסלולים מ־ viאל vkהוא ,[An ]ikועל פי הגדרת A
60
viמתקבל על מספר הקשתות מ־ vkאל vjהוא .[A]kjכל מסלול מהצורה vk → vj
viוקשת vk → vjולכן מעיקרון הכפל מספר ידי בחירה בלתי תלויה של מסלול vk
viהוא .[An ]ik [A]kj המסלולים הכולל מהצורה vk → vj
viמאורך n + 1הוא סכום כעת ,על פי עיקרון החיבור ,מספר המסלולים הכולל vj
viלכל הערכים האפשריים של .1 ≤ k ≤ m על מספר המסלולים מהצורה vk → vj
כלומר מספר זה הוא
m
X
[An ]ik [A]kj = An+1 ij
k=1
נעבור כעת למשפט שברצוננו להוכיח .ראשית ,נציג את האינטואיציה המובילה אליו .במקום
להסתכל על המטריצה Aנתבונן על המטריצה ,xAשבה כל הכניסות של Aמוכפלות ב־.x
n
נקבל ש־ [(xA) ]ij = [An ]ij xnהוא מספר המסלולים מאורך nמ־ viאל vjכשמספר זה
מוכפל ב־ .xnכלומר,
Pמתקיים
∞ n
fij (x) = n=0 [(xA) ]ij
נתבונן במטריצה Fהמוגדרת על ידי ) ,[F ]ij = fij (xאז מתקיים
∞P n
P∞ n )F = n=0 (xA
1
” . n=0 x = 1−xקפיצת כזכור ,ראינו כבר כי ניתן להוכיח את השוויון הפורמלי
האמונה“ שעלינו לבצע כאן נובעת מכך שנעשה כעת את אותו הדבר עבור מטריצה .דהיינו
∞
−1
X n
)(xA) = (I − xA
n=0
∞P n
ההוכחה זהה לחלוטין לזו שכבר ראינו :נכפול את ) n=0 (xAב־) ,(I − xAונקבל
טור טלסקופי אינסופי שבו כל האיברים מתבטלים מלבד ה־ Iבהתחלה.
−1
מכאן נסיק שמתקיים ) ,F = (I − xAומהמשפט מאלגברה לינארית שציטטנו קודם,
נקבל את התוצאה:
61
h i
−1
)fij (x) = [F ]ij = (I − xA
ij
כאשר ,כזכור (I − xA)ji ,הוא המטריצה I − xAלאחר שנמחקו ממנה השורה ה־j
והעמודה ה־.i
קיבלנו שהפונקציה היוצרת של מספר המסלולים מ־ viאל vjהיא פונקציה רציונלית
במשתנה .xיותר מכך :המכנה ) det (I − xAאינו תלוי ב־ vi , vjוהוא זהה לכל זוג צמתים
בגרף .כזכור ,המכנה של פונקציה יוצרת רציונלית מגדיר נוסחת נסיגה עבור סדרת המספרים
שהיא מייצגת; המונה קובע את תנאי ההתחלה.
i+j det(I−xA)ji
) (−1ומציאת נוסחאות הנסיגה ממנו אינו קל חישוב בפועל של הביטוי )det(I−xA
לביצוע ידנית ,אך למרבה המזל ניתן לביצוע בקלות באמצעות מחשב וספריית מתמטיקה
התומכת בחישוב סימבולי; זה הופך את פתרון הבעיה הקומבינטורית כולה לבעיה של מציאת
הפונקציה Aשמתארת את הבעיה.
= 1 − 2x − x2 + x3
2
1 )(1 − x x )x (1 − x
−1
)(I − xA = )x (1 − x 1 − x − x2 x2
1 − 2x − x2 + x3 2
x )x (1 + x 1−x−x
62
P
הפונקציה היוצרת המבוקשת שלנו היא ) , ij f (xכלומר המכנה שלה הוא 1 − 2x −
x2 + x3והמונה שלה הוא סכום כל אברי המטריצה; חישוב מראה שהסכום הזה הוא
,3 + x − x2כך שקיבלנו את הפונקציה היוצרת
3 + x − x2
= )f (x
1 − 2x − x2 + x3
63