מכרז Vickrey-Clarke-Groves

מכרז Vickrey–Clarke–Groves הוא סוג של מכירה פומבית סגורה המציעה לקונים מספר פריטים וכל קונה מגיש הצעת מחיר שונה לכל פריט. במכירה זו כל פריט מוקצה בצורה האופטימלית החברתית וכל קונה זוכה לכל היותר בפריט אחד. במנגנון זה כל קונה משלם את הנזק שהוא גורם לקונים האחרים ובכך מובטח שהאסטרטגיה הטובה ביותר עבור הקונה היא להציע את המחיר האמיתי שהקונה מעדיף לשלם עבור כל פריט ופריט. מנגנון זה הוא הכללה של מכרז מחיר שני עבור מספר רב של פריטים. תהי M = { t 1 , … , t m } {\displaystyle M=\{t_{1},\ldots ,t_{m}\}} קבוצת הפריטים המוצעים למכירה, ותהי N = { b 1 , … , b n } {\displaystyle N=\{b_{1},\ldots ,b_{n}\}} קבוצת הקונים במכירה. נגדיר גם את V N M {\displaystyle V_{N}^{M}} כערך הפונקציה החברתית המתקבל במנגנון המכירה עם קבוצת הפריטים M {\displaystyle M} וקבוצת הקונים N {\displaystyle N} לאחר שאלו הגישו את הצעותיהם. אם הקונה b i {\displaystyle b_{i}} זוכה בפריט t j {\displaystyle t_{j}} אז המחיר שעליו לשלם לפי מנגנון VCG מוגדר להיות V N ∖ { b i } M − V N ∖ { b i } M ∖ { t j } {\displaystyle V_{N\setminus \{b_{i}\}}^{M}-V_{N\setminus \{b_{i}\}}^{M\setminus \{t_{j}\}}} . הביטוי הראשון הוא ערך הפונקציה החברתית שמתקבל כאשר הקונה b i {\displaystyle b_{i}} אינו משתתף במכירה, הביטוי השני הוא ערך הפונקציה החברתית כאשר גם הקונה וגם הפריט t j {\displaystyle t_{j}} אינם משתתפים במכירה. כלומר, הביטוי השני הוא הערך המתקבל מכל שאר המשתתפים במכירה כאשר b i {\displaystyle b_{i}} השתתף במכירה והביטוי הראשון הוא הערך המתקבל מכל שאר המשתתפים במכירה כאשר b i {\displaystyle b_{i}} לא השתתף במכירה. לכן ההפרש ביניהם הוא הנזק ש b i {\displaystyle b_{i}} גורם לשאר הקונים. על סמך ההגדרות הנ"ל, אם הערך האמיתי של הפריט t j {\displaystyle t_{j}} בעיני הקונה b i {\displaystyle b_{i}} הוא A {\displaystyle A} , אז התועלת המתקבלת לקונה b i {\displaystyle b_{i}} במכירה היא A − ( V N ∖ { b i } M − V N ∖ { b i } M ∖ { t j } ) {\displaystyle A-\left(V_{N\setminus \{b_{i}\}}^{M}-V_{N\setminus \{b_{i}\}}^{M\setminus \{t_{j}\}}\right)} (הערך שהקונה מרוויח מהפריט פחות התשלום על הנזק שנגרם לשאר הקונים). נניח שבמכירה מוצעים שני תפוחים וקיימים שלושה קונים. קונה א' רוצה תפוח אחד ומציע עבורו 5 ש"ח. קונה ב' מעוניין גם בתפוח אחד ומוכן לשלם עבורו 2 ש"ח. קונה ג' רוצה שני תפוחים ומוכן לשלם 6 ש"ח עבור שניהם בתנאי שהוא זוכה בשניהם (ולא בתפוח אחד בלבד). תחילה, נעריך את תוצאת המכירה כשבוחרים בהצעות היקרות ביותר לכל פריט: קונה א' וקונה ב' זוכים כל אחד בתפוח אחד. כעת, כדי לחשב את התשלומים שעליהם לשלם עבור הנזקים שגרמו לקונים האחרים, נחשב את השפעת ההצעה על שאר הקונים. לפי התוצאה כרגע, התועלת של לקוח ב' היא 2 ש"ח. נניח ולקוח א' לא היה משתתף במכרז, לקוח ג' היה זוכה עם תועלת של 6 ש"ח ולכן לקוח א' משלם 6-2=4 ש"ח. בעבור לקוח ב': התועלת של לקוח א' כרגע היא 5 ש"ח והתועלת של לקוח ג' היא 0, נניח ולקוח ב' לא היה משתתף במכרז, לקוח ג' היה זוכה עם תועלת של 6 ש"ח ולכן לקוח ב' משלם 6-5=1 ש"ח. התוצאה הייתה זהה אם לקוח ג' לא היה משתתף ולכן הוא אינו חייב לשלם דבר. נבחר קונה אחד באופן שרירותי b 1 {\displaystyle b_{1}} ונתמקד בו. יהי v i {\displaystyle v_{i}} הערך האמיתי שהקונה מציעה לפריט t i {\displaystyle t_{i}} . נניח, בה"כ, שאם b 1 {\displaystyle b_{1}} מציע את הערכותיו האמיתיות, מנגנון VCG מקצה לו את פריט t 1 {\displaystyle t_{1}} . נשים לב תחילה שלהצעותיו של b 1 {\displaystyle b_{1}} אין השפעה על ערך התועלת שלו, בהנחה שהוא זוכה באותו פריט, מכיוון שהתועלת של b 1 {\displaystyle b_{1}} בלתי תלויה בערכים האחרים. נניח ש b 1 {\displaystyle b_{1}} אינו מציע את הערכותיו האמיתיות וזוכה בפריט t j {\displaystyle t_{j}} בזכות הצעותיו המטעות. במקרה שהיה מגיש את הערכותיו האמיתיות התועלת של b 1 {\displaystyle b_{1}} היא U 1 = v 1 − ( V N ∖ { b 1 } M − V N ∖ { b 1 } M ∖ { t 1 } ) {\displaystyle U_{1}=v_{1}-\left(V_{N\setminus \{b_{1}\}}^{M}-V_{N\setminus \{b_{1}\}}^{M\setminus \{t_{1}\}}\right)} . במקרה שהציע את הערכותיו המטעות התועלת היא U 2 = v j − ( V N ∖ { b 1 } M − V N ∖ { b 1 } M ∖ { t j } ) {\displaystyle U_{2}=v_{j}-\left(V_{N\setminus \{b_{1}\}}^{M}-V_{N\setminus \{b_{1}\}}^{M\setminus \{t_{j}\}}\right)} . צריך להוכיח ש U 1 − U 2 ≥ 0 {\displaystyle U_{1}-U_{2}\geq 0} , כלומר התועלת של הצעת אמת עולה על התועלת של הצעה מטעה. U 1 − U 2 = v 1 − ( V N ∖ { b 1 } M − V N ∖ { b 1 } M ∖ { t 1 } ) − v j + ( V N ∖ { b 1 } M − V N ∖ { b 1 } M ∖ { t j } ) = [ v 1 + V N ∖ { b 1 } M ∖ { t 1 } ] − [ v j + V N ∖ { b 1 } M ∖ { t j } ] {\displaystyle U_{1}-U_{2}=v_{1}-\left(V_{N\setminus \{b_{1}\}}^{M}-V_{N\setminus \{b_{1}\}}^{M\setminus \{t_{1}\}}\right)-v_{j}+\left(V_{N\setminus \{b_{1}\}}^{M}-V_{N\setminus \{b_{1}\}}^{M\setminus \{t_{j}\}}\right)=\left[v_{1}+V_{N\setminus \{b_{1}\}}^{M\setminus \{t_{1}\}}\right]-\left[v_{j}+V_{N\setminus \{b_{1}\}}^{M\setminus \{t_{j}\}}\right]} הביטוי הראשון הוא הערך המקסימלי המתקבל של פונקציית התועלת החברתית כש b 1 {\displaystyle b_{1}} זכה בפריט t 1 {\displaystyle t_{1}} . הביטוי השני הוא הערך המקסימלי של פונקציית התועלת החברתית כש b 1 {\displaystyle b_{1}} זכה בפריט t j {\displaystyle t_{j}} . מכיוון שאנחנו מניחים שמנגנון VCG הקצה ל b 1 {\displaystyle b_{1}} את הפריט t 1 {\displaystyle t_{1}} אז הערך של הביטוי הראשון הוא הגדול יותר ולכן מתקבל U 1 − U 2 ≥ 0 {\displaystyle U_{1}-U_{2}\geq 0} . ישנה הבחנה כללית יותר למנגנון VCG. נתבונן בקבוצה A {\displaystyle A} היא קבוצת התוצאות האפשריות של n {\displaystyle n} קונים המציעים ערכים שונים לכל תוצאה. ניתן לבטא זאת כפונקציה: v i : A ⟶ R + {\displaystyle v_{i}:A\longrightarrow R_{+}} המבטאת לכל קונה i {\displaystyle i} את הערך שנתן לכל תוצאה אפשרית. במכרז זה, כל קונה מציע את הערכותיו שלו ומנגנון VCG בוחר את האפשרות a ∈ A {\displaystyle a\in A} שממקסמת את ∑ i v i ( a ) {\displaystyle \sum _{i}v_{i}(a)} וגובה מחיר p i {\displaystyle p_{i}} המוגדר באופן הבא: p i = h i ( v − i ) − ∑ j ≠ i v j ( a ) {\displaystyle p_{i}=h_{i}(v_{-i})-\sum _{j\neq i}v_{j}(a)} כאשר v − i = ( v 1 , … , v i − 1 , v i + 1 , … , v n ) {\displaystyle v_{-i}=(v_{1},\dots ,v_{i-1},v_{i+1},\dots ,v_{n})} . כלומר h i {\displaystyle h_{i}} היא פונקציה התלויה רק בהצעות של הקונים האחרים. תנאי זה מספיק להבטיח אמירת אמת כאסטרטגיה שלטת אפשר לקחת, לדוגמה, h i ( v − i ) = 0 {\displaystyle h_{i}(v_{-i})=0} אבל אז כל המחירים המתקבלים יהיו שליליים. באופן כללי במכירות אנחנו מעדיפים שהלקוחות ישלמו מאשר שהמכרז ישלם לקונים. הפונקציה: h i ( v − i ) = max b ∈ A ∑ j ≠ i v j ( b ) {\displaystyle h_{i}(v_{-i})=\max _{b\in A}\sum _{j\neq i}v_{j}(b)} נקראת Clarke pivot rule. ויש לה שתי תכונות מעניינות: היא מועילה לכל קונה בנפרד. v i ( a ) − p i ≥ 0 {\displaystyle v_{i}(a)-p_{i}\geq 0} כל קונה המשתתף במכרז מקבל תועלת חיובית, אף אחד לא חייב להציע הצעה. היא מועילה למנהלי המכרז. p i ≥ 0 {\displaystyle p_{i}\geq 0} . המנגנון לא משלם דבר לקונים.