מחיר האנרכיה

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

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

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

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

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

== הגדרה מתמטית == 

בהינתן משחק <math>G=(N,A,u)</math>, ננסה למקסם את התועלת החברתית, דהיינו את התועלת של כלל המשתתפים במשחק. יש פונקציות רבות, המתארות את התועלת החברתית, מביניהן:

פונקציה "תועלתנית"
:<math>w(a) = \sum_{i=1}^N u_i(a)</math>

פונקציית שיויון-זכויות
:<math>w(a) = \min_i u_i(a)</math>

האופטימום החברתי ממקסם את <math>w(a)</math> על-פני כל פרופילי הפעולה <math> a \in A </math>.

== דוגמה: מחיר האנרכיה בעיית תזמון עבודות ==

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

=== ביטוי מתמטי לבעיית תזמון העבודות === 

ישנן <math>N</math> עבודות ו-<math>M</math> מכונות. לכל מכונה קצב ביצוע עבודה <math>s_1,\ldots,s_M>0</math>, ולכל עבודה יש משקל <math>w_1,\ldots,w_N>0</math>. כל שחקן בוחר מכונה עליה תרוץ עבודתו. פעולה של כל שחקן מסומנת באופן הבא: 
<math>A_i=\{1,2,\ldots,M\}</math>.

נגדיר "עומס" בצורה הבאה: 

:<math>L_j(a)=\frac{\sum_{i:a_i=j} w_i}{s_j}</math>.

הרווח של השחקן ה-<math>i</math>-י הוא :<math>u_i(a)=-L_{a_i}(a)</math>, משמע השלילה של עומס על המכונה, שנבחרה על ידי השחקן הנ"ל.
נגדיר את המחיר באופן הבא: <math>c_i=-u_i</math>, ומכאן <math>c_i(a)=L_{a_i}(a)</math>. על ידי הגדרה זו של המחיר יהיה ניתן לדון במחירים, שערכם חיובי, במקום להתעסק עם תועלות שליליות. מטרתנו תהיה לשפר את הרווח בצורה שוויונית לכלל השחקנים, וזאת נשיג על ידי מזעור של העומס המקסימלי. העומס המקסימלי 

<math>\mbox{MS}(a)=\max_j L_j(a)</math> נקרא "makespan".

על-מנת לפתור את בעיית תזמון העבודות נגדיר את מחיר האנרכיה PoA להיות היחס בין ה-MS הגדול ביותר עבור כל שיווי משקל נאש לבין ה-MS הקטן ביותר האפשרי. נשים-לב כי mixed PoA ≥ pure PoA שכן כל שיווי משקל נאש טהור הוא גם שיווי משקל נאש מעורב (אי-שוויון זה יכול להיות גם א"ש חזק כאשר <math>N=2</math>, <math>w_1=w_2=1</math>, <math>M=2</math> וגם <math>s_1=s_2=1</math>. האסטרטגיות המעורבות <math>(\sigma_1=\sigma_2=(1/2,1/2</math> מניבות makespan ממוצע, שערכו 1.5, בעוד עבור כל אסטרטגיה טהורה <math>PoA\leq 4/3</math>). ראשית, יש להוכיח כי קיים שיווי משקל נאש.

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

הוכחה. נסמן ב-<math>a^{*}</math> את האופטימום החברתי - פרופיל הפעולה האופטימלי מבחינה חברתית. זה הוא פרופיל פעולה שה-makespan שלו הוא מינמאלי. ייתכן וקיימים מספר פרופילי פעולה שכאלו, שיניבו התפלגויות עומסים שונות, כאשר לכולן יהיה את אותו עומס מקסימלי. מבין כל פרופילי פעולה אלו נבחר את זה שיש לו את העומס המקסימלי השני בגודלו (אחרי העומס המקסימלי שזהה בכל הפרופילים) המנימאלי. כאמור ההגבלה בדרישות לא מחייבת כי יתקבל פרופיל פעולה יחיד גם לאחר רדוקציה זו, ולכן יש להמשיך ולחזור על התהליך עד אשר העומס ה-<math>M</math>-י המקסימלי, הקטן ביותר מבין כל יתר העומסים ה-<math>M</math> מקסימליים, מניב התפלגות יחידה עד כדי פרמוטציה. עומס זה נקרא גם lexicographic smallest sorted load vector, ונראה כי הוא שיווי משקל נאש טהור.
נניח בשלילה כי העומס הנ"ל אינו שיווי משקל נאש. נניח כי השחקן ה-<math>i</math>-י, בה"כ, יכול לשפר מצבו על ידי שימוש במכונה ה-<math>k</math>-ית במקום במכונה ה-<math>j</math>-ית, משמע העומס על המכונה העמוסה יותר יקטן משום שהשחקן ה-<math>i</math>-י בהכרח השתמש בה לפני ההחלפה במכונה העמוסה פחות (שכן אחרת ההחלפה לא הייתה כרוחה בשיפור), בסתירה למינימליות הלקסיקוגרפית של <math>a</math>. סוף הוכחה 

טענה. לכל משחק "תזמון עבודות" מחיר האנרכיה הטהור הוא לכל היותר <math>M</math>.

הוכחה. ניתן לחסום מלמעלה את הרווח, המושג עבור כל שיווי משקל נאש מעורב <math>\sigma</math>, ע"י: <math>w(\sigma) \leq \frac{\sum_i{w_i}}{\max_j{s_j}}</math>.

נסמן פרופיל פעולה של אסטרטגיות טהורות ב-<math>a</math>. על כל פרופיל כזה 

:<math>w(a) \geq \frac{\sum_i{w_i}}{\sum_j{s_j}} \geq \frac{\sum_i{w_i}}{M \cdot \max_j{s_j}}</math>.

מאחר שהביטוי שלעיל נכון לכל פרופיל פעולה של אסטרטגיות טהורות, הוא גם נכון עבור האופטימום חברתי, המקיים, אפוא, את <math>w(\sigma)</math> וגם את <math>w(a)</math>. סוף הוכחה 

== מחיר האנרכיה בניתוב ==
=== הפרדוקס של ברס ===

חשבו על רשת כבישים, בה מספר קבוע של נהגים מעוניין להגיע מנקודת מוצא משותפת לנקודת סיום משותפת; הניחו שכל נהג בוחר את מסלולו בצורה אנוכית, ושהזמן הדרוש להגיע מתחילתה לסופה של דרך תלוי באופן ליניארי במספר הנהגים שבחרו בה.
 
ניתן להתייחס לבעיה זו כבעיית זרימה בגרף קשיר <math>G=(V,E)</math>, לו קדקוד מקור <math>s \in V</math> וקודקוד מטרה <math>t \in V</math>, כאשר כל אחת מקשתותיו מהווה דרך בה יכול לבחור כל אחד מהנהגים. המעבר מקודקוד המקור לקודקוד המטרה יהיה בהתאם לבחירות הנהגים. נגדיר את הזרימה בגרף באופן הבא: 

1. פונקציית קשת <math>f: E \mapsto \Re</math>, המגדירה לכל קשת מספר ממשי אי-שלילי.

2. אוסף פונקציות ליניאריות <math>L = \{ l_e(f_e) = a \cdot f_e + b \; | \; e \in E, \; a \geq 0, \; b \geq 0\}</math>, הממפות את כמות הנהגים המשתמשים בקשת לקיבולת שלה.

3. הרווח החברתי של זרימה נתונה <math>f</math> דרך הגרף מוגדר כ- <math>w(f) = \sum_e{f_e \cdot l_e(f_e)}</math>.

דוגמה לפרדוקס של ברס

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

=== הכללה של בעיית הניתוב ===

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

הגדרה (רשת מוכללת). יהיו <math>G=(V, E)</math>, <math>L</math> ו-<math>w</math> כפי שהדרנו אותם לעיל. נניח שברצוננו לנתב את <math>R = \{ r_1, r_2, \dots, r_k, \; | \; r_i > 0\}</math> דרך כל זוג קודקודים <math>\Gamma = \{(s_1,t_1), (s_2,t_2), \dots, (s_k,t_k) \} \subseteq (V \times V)</math>. זרימה <math>f_{\Gamma, R}</math> מוגדרת כהשמה <math>p \mapsto \Re</math> של מספר ממשי אי-שלילי לכל דרך <math>p</math> מ-<math>s_i</math> ל-<math>t_i</math> (קודקודי המקור והמטרה בהתאמה שב- <math>\Gamma</math>), תחת הדרישה ש-

:<math>\sum_{p: \, s_i \rightarrow t_i}{f_p} = r_i \; \; \forall (s_i,t_i) \in \Gamma</math>.

זרימה דרך קשת ספציפית בגרף <math>G</math> מוגדרת כ-:<math>f_{e,\Gamma, R}=\sum_{p: \, e \in p}{f_p}</math>.

הערה: לשם קיצור נרשום <math>f_e</math> בלי <math>\Gamma,R</math>.

הגדרה (שיווי משקל נאש של זרימה). זרימה <math>f_{\Gamma, R}</math> תקרא שיווי משקל נאש של זרימה אא"ם <math>\forall (s_i, t_i) \in \Gamma</math> ו-<math>\forall p, q</math> מ-<math>s_i</math> ל-<math>t_i</math> (דרכים מהמקור למטרה) מתקיים 

:<math>f_{p}>0 \Rightarrow \sum_{e \in p}{l_e(f_e)} \leq \sum_{e \in q}{l_e(f_e)}</math>.

הערה: הגדרה זו שקולה למה שנאמר על שיווי משקל נאש מעורב במשחקים נורמלים.

הגדרה (רווח תחת תנאי של זרימה).
תהיינה <math>f_{\Gamma, R}</math> ו-<math>f_{\Gamma, R}^{*}</math> 2 זרימות ב-<math>G</math> (המתייחסות לאותן קבוצות <math>\Gamma</math> ו-<math>R</math>). רווח תחת תנאי של זרימה <math>f^{*}</math> ביחס ל-<math>f</math> מוגדר כ-:<math>w^{f}(f^{*}) = \sum_{e \in E}{f^{*}_e \cdot l_{e}(f_{e})}</math>.

טענה 1. בהינתן שיווי משקל נאש של זרימה <math>f</math> וזרימה כלשהי <math>f^{*}</math>, מתקיים: <math>w(f) = w^{f}(f) \leq w^{f}(f^{*})</math>.

הוכחה. נניח ש-<math>(w^{f}(f^{*}) < w^{f}(f</math>. מהגדרה :<math>\sum_{i=1}^{k} \sum_{p: s_i \rightarrow t_i} f_p^{*} \cdot \sum_{e \in p} l_e(f_e) < \sum_{i=1}^{k} \sum_{p: s_i \rightarrow t_i} f_p \cdot \sum_{e \in p} l_e(f_e)</math>. מאחר ש-<math>f</math> ו-<math>f^{*}</math> מתייחסות לאותן קבוצות <math>\Gamma, R</math>, אז:

:<math>\sum_{p: s_i \rightarrow t_i}f_p = \sum_{p: s_i \rightarrow t_i} f_p^{*} = r_i \; \; \forall i</math>.

מכאן נובע כי בהכרח קיים זוג <math>(s_i, t_i)</math> ו-2 דרכים <math>p, q</math> מ-<math>s_i</math> ל-<math>t_i</math> כך ש- <math>f_p^{*} > f_p</math>, <math>f_q^{*} < f_q</math>, וגם <math>\sum_{e \in p}l_e(f_e) < \sum_{e \in q}l_e(f_e)</math>.

במילים אחרות, הזרימה <math>f^{*}</math> יכולה להשיג רווח נמוך יותר מאשר <math>f</math> רק בתנאי שישנן 2 דרכים מ-<math>s_i</math> ל-<math>t_i</math> בעלות מחירים שונים, ובתנאי ש-<math>f^{*}</math> ישנה מספר זרימות שב-<math>f</math> על ידי שימוש בדרכים זולות יותר במקום שימוש בדרכים יקרות יותר. מצב זה לא אפשרי תחת ההנחה ש- <math>f</math> הוא שיווי משקל נאש של זרימה. סוף ההוכחה 

הערה: שימו-לב כי טענה 1 לא מניחה מבנה מסוים של <math>L</math>.

טענה 2. בהינתן 2 מספרים ממשיים <math>x</math> ו-<math>y</math> מתקיים <math>x \cdot y \leq x^2 + y^{2}/4</math>.

הוכחה. זו דרך נוספת לבטא את הא"ש <math>(x-y/2)^2 \geq 0</math>. סוף ההוכחה .

משפט. מחיר האנרכיה הטהור של כל בעיית ניתוב מוכלל <math>(G, L)</math> עם קיבולות ליניאריות, קטן/שווה ל-4/3.

הוכחה. משפט זה שקול לקביעה כי לכל שיווי משקל נאש של זרימה <math>f</math>, <math>w(f) \leq (4/3) \cdot \min_{f^{*}} \{ w(f^{*}) \}</math>, כאשר <math>f^{*}</math> היא זרימה שונה כלשהי. לפי הגדרה:

:<math>w^{f}(f^{*}) = \sum_{e \in E} f_e^{*}(a_e \cdot f_e + b_e)</math>

:<math>= \sum_{e}(a_{e}f_{e}f_{e}^{*}) + \sum_{e \in E}f_e^{*}b_e.</math>

על ידי שימוש בטענה 2 נקבל כי:

:<math>w^{f}(f^{*}) \leq \sum_{e \in E} \left( a_e \cdot \left( (f_e^{*})^2 + (f_e)^{2}/4 \right) \right) + \sum_{e \in E} f_e^{*} \cdot b_e</math>

:<math>= \left( \sum_{e \in E} a_e(f_e^{*})^2 + f_e^{*}b_e \right) + \sum_{e \in E} a_{e}(f_e)^{2}/4</math>

:<math>\leq w(f^{*}) + \frac{w(f)}{4},</math>

שכן

:<math>(1/4) \cdot w(f) = (1/4) \cdot \sum_{e \in E}f_e(a_{e}f_{e}+b_{e})</math>

:<math>= (1/4) \cdot \sum_{e \in E}(f_{e})^2 + \underbrace{(1/4) \cdot \sum_{e \in E}f_{e}b_{e}}_{\geq 0}.</math>

נסיק ש-<math>w^{f}(f^{*}) \leq w(f^{*}) + w(f)/4</math>, ולבסוף על ידי שימוש בטענה 1 הוכח הדרוש. סוף ההוכחה 

הערה: בהוכחה נעשה שימוש מורחב של ההנחה לפיה הפונקציות ב-<math>L</math> הן ליניאריות. נוכיח את המשפט גם עבור פונקציות פולינומיות.

משפט. בהינתן בעיית ניתוב מוכללת עם גרף <math>G</math> וקיבולת פלינומיאלית מדרגה <math>d</math> גם שאריות אי-שליליות אזי מחיר האנרכיה הטהור קטן/שווה ל- <math>d+1</math> .

יש לשים-לב כי מחיר האנרכיה יכול לגדול עם דרגת הפולינום <math>d</math>. בדוגמה בתמונה שלעיל, בה הנחנו זרימה של יחידות זמן, לשיווי משקל נאש של זרימה יש תועלת חברתית שערכה 1, אולם התועלת הטובה ביותר מושגת כאשר <math>x=1-1/{\sqrt{d+1}}</math> וכאשר

:<math>w = \left( 1-\frac{1}{\sqrt{d+1}} \right)^d \cdot \left( 1-\frac{1}{\sqrt{d+1}} \right) + 1 \cdot \frac{1}{\sqrt{d+1}}</math>

:<math>=\left(\left( 1-\frac{1}{\sqrt{d+1}} \right)^{\sqrt{d+1}}\right)^\sqrt{d+1}+\frac{1}{\sqrt{d+1}}</math>

:<math>\leq e^{-\sqrt{d+1}} + \frac{1}{\sqrt{d+1}}</math>.

גודל זה שואף לאפס כאשר <math>d</math> שואף לאינסוף.

קטגוריה:תורת המשחקים