משפט אור

משפט אור הוא משפט בתורת הגרפים הקובע תנאי מספיק להוכחה כי גרף הוא המילטוני. כלומר אם גרף <math>G</math> מקיים את תנאי המשפט, הרי ש-<math>G</math> מכיל מעגל המילטוני.

המשפט הוכח בשנת 1960 על ידי המתמטיקאי הנורווגי אור אוסטיין (Øystein Ore, 1899 - 1968) ונחשב לאחת התרומות המשמעותיות שלו בכלל התחומים המתמטיים בהם עסק.

== ניסוח פורמלי ==
לכל גרף פשוט G בעל <math>n \geq 3</math> קודקודים, אם לכל שני קודקודים <math>x,y</math> שאינם שכנים מתקיים <math>deg_G(x)+deg_G(y) \geq n</math> אזי G גרף המילטוני.

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

== הוכחה ==
נניח בשלילה כי המשפט אינו נכון. כלומר, קיים מספר טבעי <math>n</math> וקיים גרף בעל <math>n</math> קודקודים המפר את המשפט - כך שהגרף מקיים את תנאי המשפט שלכל שני קודקודים <math>x,y</math> שאינם שכנים מתקיים <math>deg_G(x)+deg_G(y) \geq n</math>, אך הגרף אינו מכיל מעגל המילטוני (ולכן אינו המילטוני).

נסתכל כעת על קבוצת כל הגרפים על <math>n</math> קודקודים המפרים את המשפט. לפי הנחת השלילה שלנו, זוהי קבוצה לא ריקה (שכן קיים בה לפחות הגרף שהנחת השלילה הניחה את קיומו), ועל כן נוכל לבחור מתוכה את הגרף בעל המספר המקסימלי של קשתות. נסמן גרף זה ב- <math>G</math>. ברור שאם נוסיף קשת כלשהי ל- <math>G</math>, נקבל גרף המילטוני שכן אחרת היינו מקבלים סתירה להנחתנו ש- <math>G</math> הוא מקסימלי מבחינת מספר הקשתות שבו.

<math>G</math> אינו גרף מלא (כיוון שאז היה המילטוני) ולכן נתסכל על שני קודקודים <math>s,t</math> בגרף <math>G</math> שאינם מחוברים על ידי קשת.

מהמקסימליות של <math>G</math>, נובע שיש מסלול המילטון <math>P=(s=v_1, v_2,... v_n=t)</math> בין <math>s</math> ל-<math>t</math> בגרף (מכיוון שמתוך המקסימליות של <math>G</math> נובע שהוספת קשת <math>st</math> ל-<math>G</math> יוצרת גרף המילטוני).

כיוון שהנחנו שמתקיים <math>deg_G(s)+deg_G(t) \geq n</math>, אזי ניתן להראות שקיים <math>2 \leq i \leq n-1</math> כך שמתקיים <math>sv_i\in E</math> וגם <math>v_{i-1}t\in E</math> (נוכיח קיום זה בסוף ההוכחה)
המחשה להוכחת משפט אור. בגרף ישנו מסלול המילטוני <math>s,...t </math> אך אינו מכיל מעגל הימלטוני, לכל היותר יכולה להתקיים אחת הקשתות <math>sv_i</math> או <math>tv_{i-1}</math> (מסומנות בכחול). כיוון שאם שתיהן מתקיימות אזי הוספתן למסלול והסרת קשת <math>v_{i-1}v_{i}</math> (מסומנת באדום) תיצור מעגל המילטוני.

אך זה גורר סתירה להנחה כי <math>G</math> אינו המילטוני, כיוון שאז <math>G</math> יכיל מעגל הילטוני <math>(s,v_{i},v_{i+1},...v_{n-1},t,v_{i-1},v_{i-2},...,v_{2},s )</math><ref></ref>, כפי שניתן לראות בהמחשה המצורפת.

כעת נוכיח כי בהכרח קיים <math>2 \leq i \leq n-1</math> כך שמתקיים <math>sv_i\in E</math> וגם <math>v_{i-1}t\in E</math> .

נסמן ב-<math>\Gamma(s)
</math> את אוסף השכנים של <math>s
</math> וב-<math>\Gamma(t)
</math>, את אוסף השכנים של <math>t</math>, מכיוון ש-<math>s
</math> ו-<math>t</math> אינם שכנים, אז <math>\Gamma(s), \Gamma(t) \subseteq \{v_2, \ldots, v_{n-1}\}
</math>. נניח <math>\Gamma(s)= \{v_{i1}, \ldots, v_{ik}\}
</math> כאשר <math>i_1 < \cdots < i_k

</math> ונגדיר <math>\Gamma^{-}(s) = \left\{ v_{i_2 - 1}, \ldots, v_{i_k - 1} \right\}
</math>. כלומר <math>\Gamma^{-}(s)
</math> מכיל את כל הקודקודים שיש להם אינדקס הקטן ב-1 מאיזשהו קודקוד הנמצא ב-<math>\Gamma(s)
</math>. שאיננו הקודקוד הראשון ב-<math>\Gamma(s)
</math> (שימו לב שב-<math>\Gamma(s)
</math> יש <math>k
</math> קודקודים ואילו <math>\Gamma^{-}(s)
</math> יש רק <math>k-1
</math> קודקודים).

ברצוננו להראות ש-<math>\Gamma(t) \cap \Gamma^{-}(s) \neq \emptyset</math>, כלומר שקיים קודקוד שכן ל-<math>t</math> שהוא בעל האינדקס הנמוך ב-<math>1
</math> מצומת השכן ל-<math>s</math>.

נניח בשלילה ש-<math>\Gamma(t) \cap \Gamma^{-}(s) = \emptyset

</math>. על כן <math>\Gamma(t)
</math> מוכלת כולה בקבוצה <math>\{v_2, \ldots, v_{n-1}\} \setminus \Gamma^{-}(s )

</math>

זוהי קבוצה שגודלה <math>(n-2)-(k-1)=n-k-1

</math>, זאת משום שכל איברי <math>\Gamma^{-}(s)
</math> נמצאים בתוך <math>\{v_2, \ldots, v_{n-1}\}
</math> (זו הסיבה שלא כללנו ב-<math>\Gamma^{-}(s)
</math> את הקודקוד <math>v_{i_1 - 1}

</math> שעלול היה להיות שווה ל-<math>v_{1}

</math>). על כן <math>|\Gamma(t)| \leq n - k - 1

</math>, אבל אז:

<math>|\Gamma(s)| + |\Gamma(t)| \leq k + n - k - 1 = n - 1
\implies |\Gamma(s)| + |\Gamma(t)| = \deg(s) + \deg(t) \leq n - 1

</math>

בסתירה להנחתנו ש- <math>|\Gamma(s)| + |\Gamma(t)| = \deg_G(s) + \deg_G(t) \geq n

</math>

לכן בהכרח קיים <math>2 \leq i \leq n-1</math> כך שמתקיים <math>sv_i\in E</math> וגם <math>v_{i-1}t\in E</math>.<ref name=":0"></ref>

אי-אפשר לשפר את התנאי במשפט אור בדבר החסם התחתון על סכום הדרגות של קודקודים שאינם סמוכים. בפרט התנאי <math>deg_G(u)+deg_G(v) \geq n-1</math> אינו מספיק כדי להבטיח את קיומו של מעגל המילטוני, למשל, ניקח שני עותקים של הגרף המלא על <math>\frac{n-1}{2}</math> קודקודים, נבחר בכל אחד מהם קודקוד ונמזג את שני הקודקודים שנבחרו לקודקוד אחד. בגרף המתקבל, דרגת כל צומת היא לפחות <math>\frac{n-1}{2}</math>, ועל כן <math>deg_G(u)+deg_G(v) \geq n-1</math> לכל שני צמתים אך הגרף הזה אינו המילטוני.<ref name=":0" />

== משפט דירק ==
משפט דירק (Dirac Andrew Gabriel, 1984-1925) הוא מקרה פרטי של משפט אור, הקבוע כי לכל גרף <math>G

</math> עם <math>n \geq 3</math> קודקודים בו הדרגה המינימלית היא לפחות <math> \frac{n}{2}

</math> הוא בהכרח המילטוני.

=== הוכחה ===
נניח שב-<math>G

</math> כל צומת היא לפחות <math> \frac{n}{2}

</math>, אז סכום הדרגות של שני הקודקודים לא שכנים הוא לפחות <math>\frac{n}{2}+\frac{n}{2}=\frac{2n}{2}</math>, כך ש-<math>\frac{2n}{2}=n\geq n</math>, כלומר <math>G

</math> מקיים את תנאי הדרגות במשפט אור ולכן בהכרח המילטוני.<ref name=":0" />

== הערות שוליים ==

אור