ViewWiki

העולם, קצת יותר מקרוב

תורת הגרפים.

האם אפשר לטייל בעיר ולחצות כל אחד מהגשרים שלה בדיוק פעם אחת? ב־1736 אוילר הכריע את השאלה בעזרת ספירה, וכך נולדה תורת הגרפים.

גלו את הסצנה מאמר אינטראקטיבי

01 / הניסוי

שבעה גשרים, טיול אחד?

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

תמונה של הסצנה התלת־ממדית „תורת הגרפים”, שעוסקת בשאלה: למה אין טיול שחוצה כל אחד משבעת הגשרים של קניגסברג בדיוק פעם אחת?
סצנה אינטראקטיבית

הגרסה האינטראקטיבית נטענת…

ההסבר שלמטה זמין כבר עכשיו, בזמן שהסצנה נטענת.

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

02 / שלוש ערים

ספרו את האי־זוגיות.

כל נקודה היא פיסת יבשה וכל קו הוא גשר. המספר בנקודה הוא מספר הגשרים שלה.

קניגסברג01
5333

שבעה (1736)

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

גשרים
7
דרגה אי־זוגית
A, B, C, D
טיול
בלתי אפשרי
שישה גשרים02
4233

הסרת אחד

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

גשרים
6
דרגה אי־זוגית
C, D
טיול
מ־C אל D
תשעה גשרים03
6444

הוספת שניים

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

גשרים
9
דרגה אי־זוגית
אין
טיול
מעגל מ־A
הרעיון הגדול

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

Σ deg = 2E

חידה על טיול

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

איש לא מצא טיול כזה. ב־1736 הראה המתמטיקאי השווייצרי לאונרד אוילר שאיש גם לא ימצא, והוא עשה זאת בלי לנסות אף מסלול.

רק החיבורים חשובים

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

אז כווצו כל פיסת יבשה לנקודה, וציירו כל גשר כקו בין שתי נקודות. מה שנשאר הוא גרף: קבוצה של נקודות, שנקראות צמתים או קודקודים, המחוברות בקווים, שנקראים קשתות. בחרו הגרף תחת הפיכת העיר לגרף, והעיר שבמודל תהפוך בדיוק לציור הזה, עם האי A באמצע, הגדות B ו־C והיבשה המזרחית D.

סופרים את הגשרים בכל פיסת יבשה

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

המקומות היחידים שמותר שתהיה להם דרגה אי־זוגית הם המקום שבו הטיול מתחיל והמקום שבו הוא נגמר. כלומר:

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

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

נסו: קבעו את גשרים על 7, כמו ב־1736, ובחרו הגרף תחת הפיכת העיר לגרף: כל הנקודות זוהרות בכתום. אחר כך קבעו את גשרים על 6 ועל 9, וצפו איך הנקודות הכתומות נעלמות.

חזרה לניסוי

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

מוצאים את המסלול

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

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

מה המודל הזה משאיר בחוץ

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

מותר לעשות בהם שימוש חוזר, עם קרדיט ל־ViewWiki וקישור לעמוד הזה.

04 / ללמוד את זה בקורס

תרגול, צעד אחר צעד.

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

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