משפט החתונה

בקומבינטוריקה, משפט החתונה, שמיוחס למתמטיקאי האנגלי פיליפ הול (1935), הוא משפט שמגדיר תנאי הכרחי ומספיק לבחירת נציגים ייחודיים עבור משפחה של קבוצות. נניח שיש לנו שתי קבוצות זרות, "קבוצת הנשים" ו"קבוצת הגברים", וכל אישה מעוניינת בחלק מהגברים. נשאלת השאלה, באילו תנאים ניתן לשדך לכל אחת מהנשים גבר יחיד שהיא מעוניינת בו (באופן מונוגמי). ברור כי תנאי הכרחי הוא שמספר הגברים יהיה לפחות כמספר הנשים. ניתן להכליל דרישה זו לכל תת-קבוצה של הנשים. כלומר, תנאי הכרחי הוא שכל k {\displaystyle k} נשים תהיינה מעוניינות (יחדיו) בלפחות k {\displaystyle k} גברים. משפט החתונה של הול טוען כי זהו גם תנאי מספיק. תהא { S 1 , … , S n } {\displaystyle \{S_{1},\dots ,S_{n}\}} משפחה של קבוצות סופיות שאינן בהכרח זרות זו לזו. קבוצת נציגים ייחודיים של המשפחה הזו היא קבוצה של איברים a 1 , … , a n {\displaystyle a_{1},\dots ,a_{n}} כך שכל שני איברים שונים זה מזה, i ≠ j ⇒ a i ≠ a j {\displaystyle i\neq j\Rightarrow a_{i}\neq a_{j}} , וכן a i ∈ S i {\displaystyle a_{i}\in S_{i}} (איבר זה הוא הנציג של אותה קבוצה). על פי משפט החתונה, תנאי הכרחי ומספיק לקיום של קבוצת נציגים ייחודיים למשפחת קבוצות נתונה הוא שלכל תת-קבוצה של המשפחה, T = { S i 1 , … , S i t } {\displaystyle T=\left\{S_{i_{1}},\dots ,S_{i_{t}}\right\}} יתקיים , | ∪ S i k | ≥ t {\displaystyle ,\left|\cup S_{i_{k}}\right|\geq t} כלומר בכל t {\displaystyle t} קבוצות שונות של המשפחה יש לפחות t {\displaystyle t} איברים שונים בכל הקבוצות. קל לראות שהתנאי הכרחי - אם עבור t {\displaystyle t} קבוצות כלשהן יש פחות מ- t {\displaystyle t} איברים שונים, בהכרח כל בחירת נציגים עבור הקבוצות תהיה כזו שבה נציג אחד נבחר לפחות פעמיים. המשפט ניתן להרחבה גם עבור מספר אינסופי של קבוצות, תוך שימוש בלמה של צורן. למשפט יש גם הרבה שימושים מעניינים שאינם קשורים ישירות לשידוכים. לדוגמה, בהינתן חפיסת קלפים סטנדרטית, שמחולקת באופן שרירותי ל-13 רביעיות, ניתן להראות באמצעות משפט החתונה שניתן לבחור קלף אחד בדיוק מכל רביעייה כך ש-13 הקלפים הנבחרים יכילו בדיוק קלף אחד מכל 'מספר' (אס, 2, 3, 4, 5, 6, 7, 8, 9, 10, נסיך, מלכה ומלך). דרך אחרת לנסח את המשפט היא עבור גרפים דו צדדיים. אם   G = ( S , T , E ) {\displaystyle \ G=(S,T,E)} הוא גרף דו צדדי, אז קיים בו שידוך המכסה את צד   S {\displaystyle \ S} אם ורק אם לכל תת-קבוצה   X ⊆ S {\displaystyle \ X\subseteq S} מתקיים | X | ≤ | N G ( X ) | {\displaystyle |X|\leq |N_{G}(X)|} , כאשר   N G ( X ) {\displaystyle \ N_{G}(X)} הוא אוסף השכנים של צמתים ב-   X {\displaystyle \ X} . השקילות לניסוח הקודם קלה להוכחה - הקבוצה   S {\displaystyle \ S} מייצגת את משפחת הקבוצות שעבורן בוחרים נציגים, הקבוצה   T {\displaystyle \ T} את אוסף האיברים שהקבוצות במשפחה יכולות להכיל, וקשת מייצגת קשר של הכלה. ההוכחה היא לפי הניסוח של המשפט עבור שידוך בגרף דו צדדי. ( ⇐ ) {\displaystyle (\Leftarrow )} נתון גרף דו צדדי   G {\displaystyle \ G} עם צדדים   S , T {\displaystyle \ S,T} ונניח שהשידוך המקסימלי מכסה את כל הקודקודים   S {\displaystyle \ S} . נראה שלכל S ′ ⊆ S {\displaystyle S'\subseteq S} מתקיים | N ( S ′ ) | ≥ | S ′ | {\displaystyle |N(S')|\geq |S'|} : נסמן ב-   M {\displaystyle \ M} שידוך שמכסה את כל הקודקודים ב-   S {\displaystyle \ S} . תהי M ( S ′ ) {\displaystyle M(S')} קבוצת כל הקודקודים ב-   T {\displaystyle \ T} שהותאמו לקבוצה נתונה S ′ ⊆ S {\displaystyle S'\subseteq S} . על פי הגדרת שידוך, | M ( S ′ ) | = | S ′ | {\displaystyle |M(S')|=|S'|} . היות שכל האיברים ב- M ( S ′ ) {\displaystyle M(S')} הם שכנים של S ′ {\displaystyle S'} , מתקיים M ( S ′ ) ⊆ N G ( S ′ ) {\displaystyle M(S')\subseteq N_{G}(S')} ולכן, | M ( S ′ ) | ≤ | N G ( S ′ ) | {\displaystyle |M(S')|\leq |N_{G}(S')|} . מכך יוצא ש- | S ′ | ≤ | N G ( S ′ ) | {\displaystyle |S'|\leq |N_{G}(S')|} . ( ⇒ ) {\displaystyle (\Rightarrow )} נתון גרף דו צדדי   G {\displaystyle \ G} עם צדדים   S , T {\displaystyle \ S,T} ונניח את תנאי המשפט - לכל S ′ ⊆ S {\displaystyle S'\subseteq S} מתקיים ש- | N ( S ′ ) | ≥ | S ′ | {\displaystyle |N(S')|\geq |S'|} . נסתכל על שידוך בגודל מקסימלי   M {\displaystyle \ M} לצמתי   S {\displaystyle \ S} . נסמן את הצמתים שאינם משודכים ב-   S {\displaystyle \ S} על ידי S ~ {\displaystyle {\tilde {S}}} . נניח בשלילה ש S ~ ≠ ∅ {\displaystyle {\tilde {S}}\neq \emptyset } . מסלול מרחיב הוא מסלול (שיכול להיות ריק)   P = ( v 1 , v 2 , . . . , v n ) {\displaystyle \ P=(v_{1},v_{2},...,v_{n})} בגרף המתחיל בצומת מ-   S ~ {\displaystyle \ {\tilde {S}}} כך שהקשתות האי זוגיות   ( v 2 i − 1 , v 2 i ) {\displaystyle \ (v_{2i-1},v_{2i})} שייכות ל-   E − M {\displaystyle \ E-M} והקשתות הזוגיות   ( v 2 i , v 2 i + 1 ) {\displaystyle \ (v_{2i},v_{2i+1})} שייכות ל   M {\displaystyle \ M} . נניח שקיים מסלול מרחיב P {\displaystyle P} המסתיים בצומת ב-   T {\displaystyle \ T} שאינו משודך. נוכל להגדיר שידוך חדש M ′ = M △ P {\displaystyle M'=M\triangle P} שגודלו יהיה לפחות   | M | + 1 {\displaystyle \ |M|+1} בסתירה לכך שהשידוך   M {\displaystyle \ M} הוא מגודל מקסימלי. לכן כל מסלול מרחיב שמסתיים ב   T {\displaystyle \ T} חייב להסתיים בצומת ששייך לשידוך   M {\displaystyle \ M} . נגדיר את S ′ ⊆ S {\displaystyle S'\subseteq S} להיות כל הצמתים מ-   S {\displaystyle \ S} שניתן להגיע אליהם עם מסלולים מרחיבים ונסמן   T ′ = N ( S ′ ) {\displaystyle \ T'=N(S')} . נניח שקיים   u ∈ T ′ {\displaystyle \ u\in T'} שאינו משודך. אז הוא שכן של v ∈ S ′ {\displaystyle v\in S'} כלשהו, ובנוסף הקשת   e 1 {\displaystyle \ e_{1}} המחברת ביניהם אינה שייכת לשידוך. לפי הגדרת S ′ {\displaystyle S'} , קיים מסלול מרחיב P {\displaystyle P} המגיע ל- v {\displaystyle v} . לאחר הוספת הקשת   e 1 {\displaystyle \ e_{1}} מקבלים מסלול מרחיב המגיע ל- u {\displaystyle u} , בסתירה לטענה שהוכחנו קודם לכן. קיבלנו, אם כן, ש-   T ′ {\displaystyle \ T'} מכיל רק צמתים משודכים ב- M {\displaystyle M} . מפני שצמתי S ~ {\displaystyle {\tilde {S}}} אינם משודכים, נובע שהצמתים המשודכים אל   T ′ {\displaystyle \ T'} נמצאים ב- S ′ − S ~ {\displaystyle S'-{\tilde {S}}} . נוכל איפוא לרשום:   | S ′ | = | S ′ − S ~ | + | S ~ | ≥ | T ′ | + | S ~ | > | T ′ | = | N ( S ′ ) | {\displaystyle \ |S'|=|S'-{\tilde {S}}|+|{\tilde {S}}|\geq |T'|+|{\tilde {S}}|>|T'|=|N(S')|} ומקבלים סתירה לכך ש- | S ′ | ≤ | N ( S ′ ) | {\displaystyle |S'|\leq |N(S')|} . ◻ {\displaystyle \square } נוכיח את הכיוון הקשה ( ⇒ ) {\displaystyle (\Rightarrow )} בלבד, לפי הניסוח של המשפט עבור שידוך בגרף דו צדדי. נתון גרף דו צדדי   G {\displaystyle \ G} עם צדדים   S , T {\displaystyle \ S,T} ונניח את תנאי המשפט - לכל S ′ ⊆ S {\displaystyle S'\subseteq S} מתקיים ש- | N ( S ′ ) | ≥ | S ′ | {\displaystyle |N(S')|\geq |S'|} . נוכיח שקיים שידוך ב- G {\displaystyle G} המכסה את S {\displaystyle S} . ההוכחה תתבצע באינדוקציה שלמה על הגודל | S | {\displaystyle |S|} . בבסיס האינדוקציה נניח כי | S | = 1 {\displaystyle |S|=1} . נסמן ב- u {\displaystyle u} את הצומת היחיד ב- S {\displaystyle S} . מכיוון ש- | N ( S ) | ≥ | S | = 1 {\displaystyle |N(S)|\geq |S|=1} , יש ל- u {\displaystyle u} שכן v ∈ T {\displaystyle v\in T} . הקשת u v {\displaystyle uv} היא שידוך המכסה את S {\displaystyle S} . כעת נניח כי | S | = n > 1 {\displaystyle |S|=n>1} וכי הטענה נכונה כאשר | S | < n {\displaystyle |S|<n} . נאמר שתת-קבוצה S ~ ⊂ S {\displaystyle {\tilde {S}}\subset S} היא הדוקה אם S ~ ≠ ∅ , S {\displaystyle {\tilde {S}}\neq \emptyset ,S} וגם | N ( S ~ ) | = | S ~ | {\displaystyle |N({\tilde {S}})|=|{\tilde {S}}|} . נפריד לשני מקרים. מקרה 1. לא קיימת תת-קבוצה הדוקה S ~ ⊂ S {\displaystyle {\tilde {S}}\subset S} . נבחר צומת כלשהו u ∈ S {\displaystyle u\in S} . אז יש ל- u {\displaystyle u} שכן v ∈ T {\displaystyle v\in T} . נסמן S 1 = S − { u } {\displaystyle S_{1}=S-\{u\}} ו- T 1 = T − { v } {\displaystyle T_{1}=T-\{v\}} . כעת נגדיר גרף דו-צדדי G 1 {\displaystyle G_{1}} בתור תת-הגרף המושרה של G {\displaystyle G} עם צדדים S 1 , T 1 {\displaystyle S_{1},T_{1}} . לכל תת-קבוצה S ′ ⊂ S 1 {\displaystyle S'\subset S_{1}} מתקיים | N G 1 ( S ′ ) | ≥ | N G ( S ′ ) | − 1 ≥ | S ′ | + 1 − 1 = | S ′ | {\displaystyle |N_{G_{1}}(S')|\geq |N_{G}(S')|-1\geq |S'|+1-1=|S'|} לכן, מהנחת האינדוקציה, קיים שידוך M 1 {\displaystyle M_{1}} ב- G 1 {\displaystyle G_{1}} המכסה את S 1 {\displaystyle S_{1}} . קבוצת הקשתות M 1 ∪ { u v } {\displaystyle M_{1}\cup \{uv\}} היא שידוך ב- G {\displaystyle G} המכסה את S {\displaystyle S} . מקרה 2. קיימת תת-קבוצה הדוקה S ~ ⊂ S {\displaystyle {\tilde {S}}\subset S} . נסמן T ~ = N ( S ~ ) {\displaystyle {\tilde {T}}=N({\tilde {S}})} . מהנחת האינדוקציה, קיים שידוך M ~ {\displaystyle {\tilde {M}}} ב- G {\displaystyle G} המכסה את S ~ {\displaystyle {\tilde {S}}} . תהיינה S 1 = S − S ~ {\displaystyle S_{1}=S-{\tilde {S}}} ו- T 1 = T − T ~ {\displaystyle T_{1}=T-{\tilde {T}}} . נגדיר גרף דו-צדדי G 1 {\displaystyle G_{1}} בתור תת-הגרף המושרה של G {\displaystyle G} עם צדדים S 1 , T 1 {\displaystyle S_{1},T_{1}} . לכל תת-קבוצה S ′ ⊂ S 1 {\displaystyle S'\subset S_{1}} מתקיים | S ′ | + | S ~ | = | S ′ ∪ S ~ | ≤ | N G ( S ′ ∪ S ~ ) | = | N G 1 ( S ′ ) ∪ T ~ | = | N G 1 ( S ′ ) | + | T ~ | {\displaystyle |S'|+|{\tilde {S}}|=|S'\cup {\tilde {S}}|\leq |N_{G}(S'\cup {\tilde {S}})|=|N_{G_{1}}(S')\cup {\tilde {T}}|=|N_{G_{1}}(S')|+|{\tilde {T}}|} מכיוון ש- S ~ {\displaystyle {\tilde {S}}} הדוקה, נובע ש- | S ~ | = | T ~ | {\displaystyle |{\tilde {S}}|=|{\tilde {T}}|} ולכן | N G 1 ( S ′ ) | ≥ | S ′ | {\displaystyle |N_{G_{1}}(S')|\geq |S'|} לכל תת-קבוצה S ′ ⊂ S 1 {\displaystyle S'\subset S_{1}} . מהנחת האינדוקציה, קיים שידוך M 1 {\displaystyle M_{1}} ב- G 1 {\displaystyle G_{1}} המכסה את S 1 {\displaystyle S_{1}} . קבוצת הקשתות M 1 ∪ M ~ {\displaystyle M_{1}\cup {\tilde {M}}} היא שידוך ב- G {\displaystyle G} המכסה את S {\displaystyle S} . הוכחנו את צעד האינדוקציה בשני המקרים, מה שמשלים את ההוכחה. ◻ {\displaystyle \square } מהוכחת המשפט ניתן גם לתת חסם תחתון למספר האפשרויות שבהן ניתן לבחור נציגים ייחודיים. אם t {\displaystyle t} הוא גודלה המינימלי של הקבוצה הקטנה מכל הקבוצות ו- n {\displaystyle n} הוא מספר הקבוצות, הרי שאם מתקיים t ≥ n {\displaystyle \!\,t\geq n} , מספר האפשרויות הוא לפחות t ⋅ ( t − 1 ) ⋅ ⋯ ⋅ ( t − n + 1 ) {\displaystyle t\cdot (t-1)\cdot \dots \cdot (t-n+1)} אפשרויות. אם t < n {\displaystyle t<n} , הרי שיש לפחות t ! {\displaystyle t!} אפשרויות. נשים לב כי זהו חסם נמוך מאוד, ולעיתים קרובות מספר האפשרויות גדול ממנו בהרבה. בעיית מניית מספר האפשרויות שבהן ניתן לבחור נציגים ייחודיים, או מניית מספר השידוכים המושלמים בגרף דו צדדי, היא שלמה ל-#P. שידוך (תורת הגרפים) משפט החתונה, באתר MathWorld (באנגלית)