משפט החתונה

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

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

==ניסוח פורמלי==
תהא <math> \{S_1,\dots ,S_n\} </math> משפחה של קבוצות סופיות שאינן בהכרח זרות זו לזו. קבוצת נציגים ייחודיים של המשפחה הזו היא קבוצה של איברים <math>a_1,\dots ,a_n</math> כך שכל שני איברים שונים זה מזה, <math>i\ne j \rArr a_i\ne a_j</math>, וכן <math>a_i\isin S_i</math> (איבר זה הוא הנציג של אותה קבוצה).

על פי משפט החתונה, תנאי הכרחי ומספיק לקיום של קבוצת נציגים ייחודיים למשפחת קבוצות נתונה הוא שלכל תת-קבוצה של המשפחה, <math>T=\left\{S_{i_1},\dots,S_{i_t}\right\}</math> יתקיים <math>,\left |\cup S_{i_k}\right |\ge t</math> כלומר בכל <math>t</math> קבוצות שונות של המשפחה יש לפחות <math>t</math> איברים שונים בכל הקבוצות.

קל לראות שהתנאי הכרחי - אם עבור <math>t</math> קבוצות כלשהן יש פחות מ-<math>t</math> איברים שונים, בהכרח כל בחירת נציגים עבור הקבוצות תהיה כזו שבה נציג אחד נבחר לפחות פעמיים.

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

למשפט יש גם הרבה שימושים מעניינים שאינם קשורים ישירות לשידוכים. לדוגמה, בהינתן חפיסת קלפים סטנדרטית, שמחולקת באופן שרירותי ל-13 רביעיות, ניתן להראות באמצעות משפט החתונה שניתן לבחור קלף אחד בדיוק מכל רביעייה כך ש-13 הקלפים הנבחרים יכילו בדיוק קלף אחד מכל 'מספר' (אס, 2, 3, 4, 5, 6, 7, 8, 9, 10, נסיך, מלכה ומלך).

===ניסוח עבור גרפים===
דרך אחרת לנסח את המשפט היא עבור גרפים דו צדדיים. אם <math>\ G=(S,T,E)</math> הוא גרף דו צדדי, אז קיים בו שידוך המכסה את צד <math>\ S </math> אם ורק אם לכל תת-קבוצה <math>\ X\subseteq S</math> מתקיים <math>|X|\le|N_G(X)|</math>, כאשר <math>\ N_G(X)</math> הוא אוסף השכנים של צמתים ב-<math>\ X</math>. השקילות לניסוח הקודם קלה להוכחה - הקבוצה <math>\ S</math> מייצגת את משפחת הקבוצות שעבורן בוחרים נציגים, הקבוצה <math>\ T</math> את אוסף האיברים שהקבוצות במשפחה יכולות להכיל, וקשת מייצגת קשר של הכלה.

==הוכחות==

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

<math>(\Leftarrow)</math> נתון גרף דו צדדי <math>\ G</math> עם צדדים <math>\ S,T</math> ונניח שהשידוך המקסימלי מכסה את כל הקודקודים <math>\ S</math>. נראה שלכל <math>S'\subseteq S</math> מתקיים <math>|N(S')| \geq |S'|</math>:

נסמן ב-<math>\ M</math> שידוך שמכסה את כל הקודקודים ב-<math>\ S</math>. תהי <math>M(S')</math> קבוצת כל הקודקודים ב-<math>\ T</math> שהותאמו לקבוצה נתונה <math>S'\subseteq S</math>. על פי הגדרת שידוך, <math>|M(S')|=|S'|</math>. היות שכל האיברים ב-<math>M(S')</math> הם שכנים של <math>S'</math>, מתקיים <math>M(S') \subseteq N_G(S')</math> ולכן, <math>|M(S')| \leq |N_G(S')|</math>. מכך יוצא ש-<math>|S'| \leq |N_G(S')|</math>.

<math>(\Rightarrow)</math> נתון גרף דו צדדי <math>\ G</math> עם צדדים <math>\ S,T</math> ונניח את תנאי המשפט - לכל <math>S'\subseteq S</math> מתקיים ש-<math>|N(S')| \geq |S'|</math>.

נסתכל על שידוך בגודל מקסימלי <math>\ M</math> לצמתי <math>\ S</math>. נסמן את הצמתים שאינם משודכים ב-<math>\ S</math> על ידי <math>\tilde S</math>. נניח בשלילה ש <math>\tilde S \neq \emptyset</math>.

מסלול מרחיב הוא מסלול (שיכול להיות ריק) <math>\ P=(v_1, v_2, ..., v_n)</math> בגרף המתחיל בצומת מ-<math>\ \tilde S</math> כך שהקשתות האי זוגיות <math>\ (v_{2i-1},v_{2i})</math> שייכות ל-<math>\ E-M</math> והקשתות הזוגיות <math>\ (v_{2i},v_{2i+1})</math> שייכות ל <math>\ M</math>.

נניח שקיים מסלול מרחיב <math>P</math> המסתיים בצומת ב-<math>\ T</math> שאינו משודך. נוכל להגדיר שידוך חדש <math>M'=M\triangle P</math> שגודלו יהיה לפחות <math>\ |M|+1</math> בסתירה לכך שהשידוך <math>\ M</math> הוא מגודל מקסימלי. לכן כל מסלול מרחיב שמסתיים ב <math>\ T</math> חייב להסתיים בצומת ששייך לשידוך <math>\ M</math>.

נגדיר את <math>S' \subseteq S</math> להיות כל הצמתים מ-<math>\ S</math> שניתן להגיע אליהם עם מסלולים מרחיבים ונסמן <math>\ T'=N(S')</math>.

נניח שקיים <math>\ u\in T'</math> שאינו משודך. אז הוא שכן של <math>v \in S'</math> כלשהו, ובנוסף הקשת <math>\ e_1</math> המחברת ביניהם אינה שייכת לשידוך. לפי הגדרת <math>S'</math>, קיים מסלול מרחיב <math>P</math> המגיע ל-<math>v</math>. לאחר הוספת הקשת <math>\ e_1</math> מקבלים מסלול מרחיב המגיע ל-<math>u</math>, בסתירה לטענה שהוכחנו קודם לכן. קיבלנו, אם כן, ש-<math>\ T'</math> מכיל רק צמתים משודכים ב-<math>M</math>. מפני שצמתי <math>\tilde S</math> אינם משודכים, נובע שהצמתים המשודכים אל <math>\ T'</math> נמצאים ב-<math>S' - \tilde S</math>. נוכל איפוא לרשום:

<math>\ |S'|=|S'-\tilde S|+|\tilde S|\geq|T'|+|\tilde S|>|T'|=|N(S')|</math>

ומקבלים סתירה לכך ש-<math>|S'|\leq |N(S')|</math>. <math>\square</math>

=== הוכחה באינדוקציה ===
נוכיח את הכיוון הקשה <math>(\Rightarrow)</math> בלבד, לפי הניסוח של המשפט עבור שידוך בגרף דו צדדי. נתון גרף דו צדדי <math>\ G</math> עם צדדים <math>\ S,T</math> ונניח את תנאי המשפט - לכל <math>S'\subseteq S</math> מתקיים ש-<math>|N(S')| \geq |S'|</math>. נוכיח שקיים שידוך ב-<math>G</math> המכסה את <math>S </math>.

ההוכחה תתבצע באינדוקציה שלמה על הגודל <math>|S|</math>. בבסיס האינדוקציה נניח כי <math>|S|=1</math>. נסמן ב-<math>u</math> את הצומת היחיד ב-<math>S</math>. מכיוון ש-<math>|N(S)|\ge |S|=1</math>, יש ל-<math>u</math> שכן <math>v\in T</math>. הקשת <math>uv</math> היא שידוך המכסה את <math>S </math>.

כעת נניח כי <math>|S|=n>1</math> וכי הטענה נכונה כאשר <math>|S|<n</math>. נאמר שתת-קבוצה <math>\tilde S\subset S</math> היא הדוקה אם <math>\tilde S\ne \emptyset,S</math> וגם <math>|N(\tilde S)|=|\tilde S|</math>. נפריד לשני מקרים.

מקרה 1. לא קיימת תת-קבוצה הדוקה <math>\tilde S\subset S</math>. נבחר צומת כלשהו <math>u\in S</math>. אז יש ל-<math>u</math> שכן <math>v\in T</math>. נסמן <math>S_1=S-\{u\}</math> ו-<math>T_1=T-\{v\}</math>. כעת נגדיר גרף דו-צדדי <math>G_1</math> בתור תת-הגרף המושרה של <math>G</math> עם צדדים <math>S_1,T_1</math>. אז לכל תת-קבוצה <math>S'\subset S_1</math> מתקיים

<math>|N_{G_1}(S')|\ge|N_{G}(S')|-1\ge |S'|+1-1=|S'|</math>

לכן, מהנחת האינדוקציה, קיים שידוך ב-<math>G_1</math> המכסה את <math>S_1 </math>. ביחד עם הקשת <math>uv </math> נקבל שידוך ב-<math>G</math> המכסה את <math>S </math>.

מקרה 2. קיימת תת-קבוצה הדוקה <math>\tilde S\subset S</math>. נסמן <math>\tilde T=N(\tilde S)</math>. מהנחת האינדוקציה, קיים שידוך <math>M </math> ב-<math>G</math> המכסה את <math>\tilde S </math>. תהיינה <math>S_1=S-\tilde S</math> ו-<math>T_1=T-\tilde T</math>. נגדיר גרף דו-צדדי <math>G_1</math> בתור תת-הגרף המושרה של <math>G</math> עם צדדים <math>S_1,T_1</math>. אז לכל תת-קבוצה <math>S'\subset S_1</math> מתקיים

<math>|S'|+|\tilde S|=|S'\cup\tilde S|\le |N_G(S'\cup\tilde S)|=|N_{G_1}(S')\cup\tilde T|=|N_{G_1}(S')|+|\tilde T|</math>

מכיוון ש-<math>\tilde S </math> הדוקה, נובע ש-<math>|\tilde S|=|\tilde T| </math> ולכן <math>|N_{G_1}(S')|\ge|S'|</math> לכל תת-קבוצה <math>S'\subset S_1</math>. מהנחת האינדוקציה, קיים שידוך ב-<math>G_1</math> המכסה את <math>S_1 </math>. ביחד עם צלעות <math>M </math> נקבל שידוך ב-<math>G</math> המכסה את <math>S </math>.

הוכחנו את צעד האינדוקציה בשני המקרים, מה שמשלים את ההוכחה. <math>\square</math>

==מספר האפשרויות==
מהוכחת המשפט ניתן גם לתת חסם תחתון למספר האפשרויות שבהן ניתן לבחור נציגים ייחודיים. אם <math>t</math> הוא גודלה המינימלי של הקבוצה הקטנה מכל הקבוצות ו-<math>n</math> הוא מספר הקבוצות, הרי שאם מתקיים <math>\!\,t\ge n</math>, מספר האפשרויות הוא לפחות <math>t\cdot(t-1)\cdot\dots\cdot(t-n+1)</math> אפשרויות. אם <math>t<n</math>, הרי שיש לפחות <math>t!</math> אפשרויות. נשים לב כי זהו חסם נמוך מאוד, ולעיתים קרובות מספר האפשרויות גדול ממנו בהרבה.

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

== ראו גם ==
* שידוך (תורת הגרפים)

==קישורים חיצוניים==
* 

קטגוריה:ערכים שבהם תבנית בריטניקה אינה מתאימה
חתונה
חתונה
קטגוריה:הוכחות