מכרז Vickrey-Clarke-Groves

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

==הגדרה פורמלית==
תהי <math>M = \{t_1,\ldots,t_m\}</math> קבוצת הפריטים המוצעים למכירה, ותהי <math>N = \{b_1,\ldots,b_n\}</math> קבוצת הקונים במכירה. נגדיר גם את <math>V^M_N</math> כערך הפונקציה החברתית המתקבל במנגנון המכירה עם קבוצת הפריטים <math>M</math> וקבוצת הקונים <math>N</math> לאחר שאלו הגישו את הצעותיהם.

אם הקונה <math>b_i</math> זוכה בפריט <math>t_j</math> אז המחיר שעליו לשלם לפי מנגנון VCG מוגדר להיות <math>V^{M}_{N \setminus \{b_i\}}-V^{M \setminus \{t_j\}}_{N \setminus \{b_i\}}</math>. הביטוי הראשון הוא ערך הפונקציה החברתית שמתקבל כאשר הקונה <math>b_i</math> אינו משתתף במכירה, הביטוי השני הוא ערך הפונקציה החברתית כאשר גם הקונה וגם הפריט <math>t_j</math> אינם משתתפים במכירה. כלומר, הביטוי השני הוא הערך המתקבל מכל שאר המשתתפים במכירה כאשר <math>b_i</math> השתתף במכירה והביטוי הראשון הוא הערך המתקבל מכל שאר המשתתפים במכירה כאשר <math>b_i</math> לא השתתף במכירה. לכן ההפרש ביניהם הוא הנזק ש<math>b_i</math> גורם לשאר הקונים.

על סמך ההגדרות הנ"ל, אם הערך האמיתי של הפריט <math>t_j</math> בעיני הקונה <math>b_i</math> הוא <math>A</math>, אז התועלת המתקבלת לקונה <math>b_i</math> במכירה היא <math>A - \left(V^{M}_{N \setminus \{b_i\}}-V^{M \setminus \{t_j\}}_{N \setminus \{b_i\}}\right)</math> (הערך שהקונה מרוויח מהפריט פחות התשלום על הנזק שנגרם לשאר הקונים).

==דוגמה==
נניח שבמכירה מוצעים שני תפוחים וקיימים שלושה קונים. קונה א' רוצה תפוח אחד ומציע עבורו 5 ש"ח. קונה ב' מעוניין גם בתפוח אחד ומוכן לשלם עבורו 2 ש"ח. קונה ג' רוצה שני תפוחים ומוכן לשלם 6 ש"ח עבור שניהם בתנאי שהוא זוכה בשניהם (ולא בתפוח אחד בלבד). תחילה, נעריך את תוצאת המכירה כשבוחרים בהצעות היקרות ביותר לכל פריט: קונה א' וקונה ב' זוכים כל אחד בתפוח אחד. כעת, כדי לחשב את התשלומים שעליהם לשלם עבור הנזקים שגרמו לקונים האחרים, נחשב את השפעת ההצעה על שאר הקונים. לפי התוצאה כרגע, התועלת של לקוח ב' היא 2 ש"ח. נניח ולקוח א' לא היה משתתף במכרז, לקוח ג' היה זוכה עם תועלת של 6 ש"ח ולכן לקוח א' משלם 6-2=4 ש"ח. בעבור לקוח ב': התועלת של לקוח א' כרגע היא 5 ש"ח והתועלת של לקוח ג' היא 0, נניח ולקוח ב' לא היה משתתף במכרז, לקוח ג' היה זוכה עם תועלת של 6 ש"ח ולכן לקוח ב' משלם 6-5=1 ש"ח. התוצאה הייתה זהה אם לקוח ג' לא היה משתתף ולכן הוא אינו חייב לשלם דבר.

==הוכחת האופטימליות של אמירת האמת==
נבחר קונה אחד באופן שרירותי <math>b_1</math> ונתמקד בו. יהי <math>v_i</math> הערך האמיתי שהקונה מציעה לפריט <math>t_i</math>. נניח, בה"כ, שאם <math>b_1</math> מציע את הערכותיו האמיתיות, מנגנון VCG מקצה לו את פריט <math>t_1</math>. נשים לב תחילה שלהצעותיו של <math>b_1</math> אין השפעה על ערך התועלת שלו, בהנחה שהוא זוכה באותו פריט, מכיוון שהתועלת של <math>b_1</math> בלתי תלויה בערכים האחרים.

נניח ש<math>b_1</math> אינו מציע את הערכותיו האמיתיות וזוכה בפריט <math>t_j</math> בזכות הצעותיו המטעות. במקרה שהיה מגיש את הערכותיו האמיתיות התועלת של <math>b_1</math> היא <math>U_1 = v_1-\left(V^{M}_{N \setminus \{b_1\}}-V^{M \setminus \{t_1\}}_{N \setminus \{b_1\}}\right)</math>. במקרה שהציע את הערכותיו המטעות התועלת היא <math>U_2 = v_j-\left(V^{M}_{N \setminus \{b_1\}}-V^{M \setminus \{t_j\}}_{N \setminus \{b_1\}}\right)</math>. צריך להוכיח ש <math>U_1 - U_2 \geq 0</math>, כלומר התועלת של הצעת אמת עולה על התועלת של הצעה מטעה.

: <math>U_1 - U_2 = v_1 - \left(V^{M}_{N \setminus \{b_1\}} - V^{M \setminus \{t_1\}}_{N \setminus \{b_1\}}\right) - v_j + \left(V^{M}_{N \setminus \{b_1\}}-V^{M \setminus \{t_j\}}_{N \setminus \{b_1\}}\right) = \left[v_1 + V^{M \setminus \{t_1\}}_{N \setminus \{b_1\}}\right] - \left[v_j + V^{M \setminus \{t_j\}}_{N \setminus \{b_1\}}\right] </math>

הביטוי הראשון הוא הערך המקסימלי המתקבל של פונקציית התועלת החברתית כש <math>b_1</math> זכה בפריט <math>t_1</math>. הביטוי השני הוא הערך המקסימלי של פונקציית התועלת החברתית כש <math>b_1</math> זכה בפריט <math>t_j</math>. מכיוון שאנחנו מניחים שמנגנון VCG הקצה ל<math>b_1</math> את הפריט <math>t_1</math> אז הערך של הביטוי הראשון הוא הגדול יותר ולכן מתקבל <math>U_1 - U_2 \geq 0</math>.

==מקרה כללי יותר==

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

: <math>v_i : A \longrightarrow R_+</math>

המבטאת לכל קונה <math>i</math> את הערך שנתן לכל תוצאה אפשרית. במכרז זה, כל קונה מציע את הערכותיו שלו ומנגנון VCG בוחר את האפשרות <math>a \in A </math> שממקסמת את <math> \sum_i v_i(a)</math> וגובה מחיר <math>p_i</math> המוגדר באופן הבא:

: <math>p_i = h_i(v_{-i}) - \sum_{j \neq i} v_j(a)</math>

כאשר <math>v_{-i} = (v_1, \dots, v_{i-1}, v_{i+1}, \dots, v_n)</math>. כלומר <math>h_i</math> היא פונקציה התלויה רק בהצעות של הקונים האחרים. תנאי זה מספיק להבטיח אמירת אמת כאסטרטגיה שלטת

אפשר לקחת, לדוגמה, <math>h_i(v_{-i}) = 0</math> אבל אז כל המחירים המתקבלים יהיו שליליים. באופן כללי במכירות אנחנו מעדיפים שהלקוחות ישלמו מאשר שהמכרז ישלם לקונים. הפונקציה:

: <math>h_i(v_{-i}) = \max_{b \in A} \sum_{j \neq i} v_j(b)</math>

נקראת Clarke pivot rule. ויש לה שתי תכונות מעניינות:

* היא מועילה לכל קונה בנפרד. <math>v_i (a) - p_i \geq 0</math> כל קונה המשתתף במכרז מקבל תועלת חיובית, אף אחד לא חייב להציע הצעה.

* היא מועילה למנהלי המכרז. <math>p_i \geq 0</math>. המנגנון לא משלם דבר לקונים.

קטגוריה:תכנון מכניזמים
קטגוריה:כלכלה
קטגוריה:מכירה פומבית