משפט בונדרבה-שפלי

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

המשפט נקרא על שם המתמטיקאים אולגה בונדרבה ולויד שפלי
(Lloyd Shapley, Olga Bondareva)
אשר הוכיחו אותו כל אחד בנפרד (בונדרבה ב-1963, שפלי ב-1967).

==רקע==

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

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

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

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

===ניסוח ראשון===
עבור המשחק <math>\;\left( N;v \right) \;</math>, כאשר <math>\;N=\left\{ 1,2,...,n \right\} \;</math> היא קבוצת השחקנים ו <math>\;v:2^{N}\to \mathbb{R} \;</math> היא הפונקציה הקואליציונית. <br />
תנאי הכרחי ומספיק לכך שהליבה של המשחק <math>\;\left( N;v \right) \;</math> איננה ריקה הוא שלכל אוסף מאוזן <math>\;D \;</math> של קואליציות ולכל אוסף של וקטורי מקדמים מאזנים <math>\;\left( \delta _{S} \right)_{S\in D} \;</math> מתקיים:
<math>\;\sum\limits_{S\in D}{\delta _{S}v\left( S \right)\le v\left( N \right)} \;</math>.

===ניסוח שני===
נסמן את אוסף הקואליציות הלא ריקות ב - <math> D^* := \left\{S \subseteq N : S \ne \emptyset \right\} </math>. נסמן ב-<math>\;P \;</math> את אוסף כל המשקלות המאזנים חלש את <math>\;D^* \;</math>:
<math display="block"> P = \left\{\delta = \left(\delta_{S} \right)_{S \in D^*} : \delta_{S} \ge 0 \quad \forall S \in D^*, \sum_{S \in D^*}{\delta_{S}{\chi^{S}}} = {\chi^{N}} \right\} </math>

כאשר נשים לב כי <math>\; \chi^{S} </math> הוא וקטור החילה של הקואליציה <math>\; S</math>.

<big>המשפט:</big> תנאי הכרחי ומספיק לכך שהליבה של המשחק <math>\;\left( N;v \right) \;</math> איננה ריקה הוא שלכל <math>\; \delta \in P </math> מתקיים:
<math>\;\sum\limits_{S\in D*}{\delta _{S}v\left( S \right)\le v\left( N \right)} \;</math>.

==הוכחת המשפט==

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

===שלב ראשון - הגדרת בעיית תכנון ליניארי (הבעיה הפרימאלית)===
נתבונן בבעיית התכנון הליניארי במשתנים <math> \left(\delta_{S} \right)_{S \in D^*} </math>:

<div style="text-align: center;">
חשב את: <span style="color: white;">___________________________________________________</span> <math> Z_{P} = max \sum_{S \in D^*}{\delta_{S} v\left(S \right)} </math>
</div>
<div style="text-align: center;">
תחת האילוצים: <span style="color: white;">______</span> <math> \textstyle \sum_{\left\{S:i \in S \right\}}{\delta_{S}} = 1, \quad \forall S \in D^* \qquad ; \qquad \delta_{S} \ge 0, \quad \forall S \in D^* </math>
</div>
הערה: בסימונים רגילים של בעיית תכנון ליניארי: <math>\; A \sim \chi^S \quad ; \quad B \sim \vec 1 \quad ; \quad C \sim v\left(S \right) \quad ; \quad x \sim \delta_{S} \;</math>

קבוצת הפתרונות האפשריים של בעיה זו היא <math>\; P \;</math>, שהיא קבוצה קומפקטית ולא ריקה, ולכן <math>\; Z_{P} \;</math> סופי.

===שלב שני - הבעיה הדואלית===

ניתן להראות כי הבעיה הדואלית לבעיה שהוגדרה בשלב הראשון היא:

<div style="text-align: center;">
חשב את: <span style="color: white;">________________________________</span> <math> Z_{D} = min \;x \left(N \right) </math>
</div>
<div style="text-align: center;">
תחת האילוצים: <span style="color: white;">_____________</span> <math>\; x\left(S \right) \ge v\left(S \right) \quad, \quad \forall S \in D^* \; </math>
</div>

כפי שראינו <math>\; Z_{P} \;</math> סופי, ולכן ממשפט הדואליות של תכנון ליניארי נובע ש-<math>\; Z_{D} \;</math> אף הוא סופי ומתקיים <math>\; Z_{D} = Z_{P} \;</math>.

===שלב שלישי===
בשלב זה נראה שאם הליבה אינה ריקה אז <math>Z_{D} \le v \left(N \right)</math>.

יהי <math>\; x \;</math> וקטור בליבה. אזי <math>\; x \left(S \right) \ge v \left(S \right) \;</math> לכל קואליציה <math>\; S \;</math>. לכן, <math>\; x \;</math> מקיים את כל האילוצים הקיימים בבעיה הדואלית. כמו כן, ערך פונקציית המטרה ב-<math>\; x \;</math> הוא <math> x \left(N \right) = v \left(N \right)</math>. לכן, <math> Z_{D} \le v \left(N \right) </math> כנדרש.

===שלב רביעי===

בשלב זה נראה את הכיוון ההפוך, כלומר אם <math>Z_{D} \le v \left(N \right)</math> אז הליבה אינה ריקה.

יהי <math>\; x \;</math> וקטור אפשרי בבעיה הדואלית שבו מתקבל המינימום, כלומר <math> x \left(N \right) = Z_{D}</math>. מכיוון ש-<math>\; x \;</math> מקיים את האילוצים של הבעיה הדואלית, הוא סביר קבוצתית. נראה כי <math> x\left(N \right) = v\left(N \right)</math>. מכיוון שההנחה היא ש - <math>Z_{D} \le v \left(N \right)</math>, מתקיים כי <math> x\left(N \right) = \textstyle \sum_{i \in N}{x_{i}} = Z_{D} \le v \left(N \right)</math>. עבור <math>\; S = N \;</math> האילוץ <math> x \left(S \right) \ge v \left(S \right) </math> הוא למעשה <math> x \left(N \right) \ge v \left(N \right)</math>, כלומר נקבל כי <math> x \left(N \right) = v \left(N \right)</math>. לכן, <math>\; x \;</math> נמצא בליבה, כלומר הליבה אינה ריקה, כנדרש.

===שלב חמישי===

לסיום ההוכחה נראה כי <math> Z_{P} \le v \left(N \right) </math> אם ורק אם תנאי בונדרבה-שפלי מתקיים.

ממבט על הבעיה הפרימאלית <math> Z_{P} \le v \left(N \right) </math> אם ורק אם לכל פתרון אפשרי <math> \delta = \left(\delta_{S} \right)_{S \in D^*}</math> מתקיים <math> \textstyle \sum_{\left\{S:i \in S \right\}}{\delta_{S}v \left(S \right)} \le v \left(N \right) </math>, וזהו בדיוק תנאי בונדרבה-שפלי. בשלב השני הוכחנו כי <math>\; Z_{P} = Z_{D} \;</math> ובשלבים שלוש וארבע הראינו כי <math> Z_{D} \le v \left(N \right) </math> אם ורק אם הליבה אינה ריקה.

בסה"כ קיבלנו כי הליבה אינה ריקה אם ורק אם מתקיים תנאי בונדרבה-שפלי. <span style="color: white;">_______________________________________________________</span>
<math>\blacksquare</math>

==לקריאה נוספת==
*

בונדרבה-שפלי