6.4.4 Vickrey-Clarke-Groves-Mechanismen Klasse von Aufdeckungsmechanismen für quasilineare Nutzenfunktionen. Definition 6.26: Nutzenfunktion von Spieler i sei u i ((a, p), x i ) = v i (a, x i ) + p i. Sei x = (x 1,..., x n ) Vektor der Deklarationen der Spieler. Vickrey-Clarke-Groves-Mechanismus (VCG) definiert durch: Auswahlfunktion: n a (x ) arg max v i (a, x i ). a A i=1 Auszahlungsfunktion: Für beliebige feste Funktionen h 1,..., h n : Ê n 1 Ê: p i (x ) := j =i v j (a, x j ) + h i(x i ), i = 1,..., n. 660
Satz 6.27 (Groves 1973): VCG-Mechanismen sind wahrheitsaufdeckend und allokationseffizient. Beweis: Allokationseffizienz klar, wenn wahrheitsaufdeckend, da Auswahlfunktion gerade passende Zielfunktion maximiert. Zeige also, dass Mechanismus wahrheitsaufdeckend. Sei x = (x 1,...,x n ) Vektor der (wahren) privaten Eingaben. Zu zeigen: Für Spieler i {1,..., n} ist Deklaration von x i = x i dominante Strategie. 661
Nutzen von Spieler i für Ausgabe (a (x ), p(x )): u i ((a (x ), p(x )), x i ) = v i (a (x ), x i ) + p i (x ) = v i (a (x ), x i ) + j =i v j (a (x ), x j ) + h i(x i ). Will x i, sodass dies maximal. Dafür h i(x i ) ignorieren, da unabhängig von x i. Zeige: v i (a (x ), x i ) + j =i v j (a (x ), x j ) maximal für x i = x i. Ausdruck hängt nur über a (x ) von x i ab. Für x i = x i wird aber gerade a so gewählt, dass obiger Ausdruck maximal wird, denn gemäß Definition: ( a (x i, x i ) arg max v i (a, x i ) + v j (a, x j ). ) a A j =i 662
Clarke-Mechanismen: Definition 6.28: Clarke-Mechanismus ist VCG-Mechanismus mit h i (x i ) := j =i wobei a i (x i ) arg max a A v j (a i (x i ), x j ), v j (a, x i ), j =i d. h. eine optimale Alternative für Problem ohne Spieler i. Lösung für öffentliches Projekt, Vickrey-Auktion und Routing. Nur Routing genauer, Rest selbst überlegen. 663
Routing-Mechanismus als Clarke-Mechanismus: Alternativen a A hier s-t-wege. Falls s-t-weg a gewählt: Wert für Spieler e E: ( c e ) [e a] (negativ, da Kosten). Sei a kürzester s-t-weg für alle Kanten. Summe der deklarierten Werte für Spieler e = e: ( c e )[e a ] = d G ce =0. e =e Sei a e kürzester s-t-weg ohne e. h e (c e ) = e =e( c e )[e a e ] = d G c e =. Auszahlung des früheren Mechanismus ist gerade p e = d G ce = d G ce =0 = e =e( c e )[e a ] + h e (c e ). 664
6.4.5 Zusatzeigenschaften von Mechanismen Eindeutigkeit von Gleichgewichten: Im Allgemeinen möglich: Schwach dominante Strategientupel x, x, Zielfunktion von x implementiert, von x nicht. Beispiel: Zwei Spieler, A = X 1 = X 2 = {0, 1}, v i (a, x i ) = 1 + (a 1)x i, i = 1, 2. f(x, a) := a(2 x 1 x 2 ). Mechanismus: a (x) = 1, p 1 (x) = p 2 (x) = 0. Für x = (0, 0): u i (a (x ), x i ) = v i(1, x i ) = 1, i = 1, 2. Damit x i = 0 und x i = 1 schwach dominante Strategien, x i = 1 (Lüge) führt zu suboptimalem f -Wert. 665
Eindeutigkeit von Gleichgewichten (Forts.): Falls es für alle Spieler strikt dominante Strategie gibt, d. h. Nutzen für dominante Strategie immer echt größer als für alle anderen, dann resultierendes Strategientupel eindeutiges Gleichgewicht. Mehrfache Gleichgewichte genau dann, wenn mindestens ein Spieler denselben Nutzen für verschiedene schwach dominante Strategien hat. Nimm an, dass Spieler diese Indifferenz zu unseren Gunsten auflöst. Für viele wichtige Mechanismen Eindeutigkeit gegeben. 666
Budgetbalancierung: Erinnerung: Für beliebige x: n p i (x) = 0. i=1 Nenne Wertefunktionen der Spieler allgemein, falls jeweils durch Wahl der privaten Eingabe alle möglichen Funktionen A Ê realisierbar. Satz 6.29 (Hurwicz 1975, Green und Laffont 1977): Es gibt keinen Mechanismus für Spieler mit allgemeinen Wertefunktionen, der eine Zielfunktion in dominanten Strategien implementiert, die sowohl allokationseffizient als auch budgetbalanciert ist. Damit VCG-Mechanismen im Allgemeinen nicht budgetbalanciert! 667
Schwache Budgetbalancierung? n Erinnerung: Für beliebige x: p i (x) 0. i=1 Definition 6.30: Wertefunktionen v i, i = 1,..., n, der Spieler heißen frei von Einzelspieler-Effekten, wenn für alle Spieler i gilt: Für jedes x und jede Lösung a (x) arg max a A j v j(a, x j ) für das Szenario mit allen Spielern gibt es eine Lösung a i (x i) für das Szenario ohne Spieler i, sodass v j (a i, x j) v j (a (x), x j ). j =i j =i Intuitiv: Entfernen von Spieler i restliche Spieler können immer noch mindestens so hohen Gesamtwert erzielen wie in ursprünglichem Szenario. 668
Proposition 6.31: Falls die Wertefunktionen der Spieler frei von Einzelspieler- Effekten sind, sind Clarke-Mechanismen schwach budgetbalanciert. Beweis: Definition von p i und h i : p i = j =i v j (a (x), x j ) j =i v j (a i (x i), x j ). Keine Einzelspieler-Effekte: Dies ist für alle i nichtpositiv. Also insbesondere Summe nichtpositiv. Für umgekehrte Ungleichung in Definition 6.30 passend für nichtnegative (Belohnungs-)Zahlungen an Spieler, dann n p i (x) 0. i=1 669
Beispiele: Öffentliches Projekt: Menge der zur Verfügung stehenden Alternativen hängt nicht von Vorhandensein von Spieler i ab. Selbe Alternative wie mit Spieler i liefert für restliche Spieler denselben Gesamtwert. Auktionen: Voraussetzung: Nur Käufer und Entsorgen von Objekten sei umsonst. Restliche Spieler werfen Objekte, die Spieler i erhalten hat in optimaler Gesamtlösung in den Mülleimer und erhalten eine mindestens so gute Lösung für das reduzierte Problem. 670
Aber: Trotz schwacher Budgetbalancierung möglich: Bei Nettozahlung durch Spieler Gesamtzahlung 0. Z. B. bei kombinatorischen Auktionen problematisch. Bei Belohnungen Gesamtzahlung deutlich größer 0. Problem der Überzahlung. Beispiel Routing: Schwache Budgetbalancierung heißt hier i p i 0. Tatsächlich im Allgemeinen i p i 0. e / 2l s t e 1 / 1 e 2 / 1 e l / 1 Zahle Kante e i auf unterem Weg d G cei = d G cei =0 = l + 1, insgesamt für kürzesten Weg l (l + 1) = (l 2 ). 671
6.4.6 Anwendung: Multicast-Routing Arbeit: Feigenbaum, Papadimitriou, Shenker (2000). Szenario: Übertragung großer Datenmenge aus einer Quelle an viele verschiedene Empfänger im Internet, z. B. für Live-Videos. Mit üblichem Routing: Muss für jeden Empfänger einzeln Daten von der Quelle aus schicken. Multicast-Routing: Sende Daten nur einmal, Duplizierung durch Router an Verzweigungen. Kostenverteilung? Hier: Staatliche Lösung. Infrastruktur gehört Staat, kann Defizite auffangen. 672
Netzstruktur: T : Datenquelle Universeller Baum T : Baum mit Verbindungen von der Datenquelle aus zu allen potenziellen Empfängern. Potenzielle Empfänger sitzen an Knoten des universellen Baumes. 673
Netzstruktur: T : Datenquelle Universeller Baum T : Baum mit Verbindungen von der Datenquelle aus zu allen potenziellen Empfängern. Potenzielle Empfänger sitzen an Knoten des universellen Baumes. 673
Netzstruktur: T : Datenquelle Übertragung an alle Empfänger in Menge R: Routing-Hardware konstruiert minimalen Teilbaum T(R) von T, der Empfänger in R erreicht. 673
Netzstruktur: T : Datenquelle Übertragung an alle Empfänger in Menge R: Routing-Hardware konstruiert minimalen Teilbaum T(R) von T, der Empfänger in R erreicht. 673
Netzstruktur: T : 1 5 3 2 1 1 5 Datenquelle 1 1 2 3 1 1 Übertragung an alle Empfänger in Menge R: Routing-Hardware konstruiert minimalen Teilbaum T(R) von T, der Empfänger in R erreicht. Kantenmarkierung: Kosten für Verbindungsleitungen (Links). 673
Netzstruktur: T : 3 2 1 1 1 5 Datenquelle 1 1 2 3 Übertragung an alle Empfänger in Menge R: Routing-Hardware konstruiert minimalen Teilbaum T(R) von T, der Empfänger in R erreicht. Kantenmarkierung: Kosten für Verbindungsleitungen (Links). 5 1 1 Kosten für Baum T(R): c(r). Im Beispiel: c(r) = 4. 673
Mechanismus-Anforderungen: Ausgaben des Mechanismus: Für Benutzer i = 1,..., n: Entscheidung, ob Benutzer an Übertragung angeschlossen wird: R i = 1, falls ja; R i = 0 sonst (im Folgenden R als Vektor aus {0, 1} n oder Menge); Festlegung des Preises p i, den Benutzer i zahlen muss. Nutzen von Spieler i für Ausgabe (R, p): u i ((R, p), x i ) = x i R i p i. wobei x i Bewertung von Benutzer i für Übertragung. 674
Mechanismus-Anforderungen (Forts.): Globale Zielfunktion: Maximiere f(x, R) := x i c(r), i R Gesamtwert für Empfänger minus Kosten für Netzaufbau. (Diskussion später.) Will Mechanismus, der Zielfunktion wahrheitsaufdeckend implementiert, zusätzlich: Keine Zahlungen an Benutzer (NPT): Für alle i: p i (x) 0. Individuelle Rationalität (IR): Für alle i: u i ((R (x), p), x i ) 0. Der Kunde ist König (CS, customer sovereignty): Jeder Benutzer wird bei hinreichend hohem Gebot angeschlossen. 675
Der Grenzkosten-Mechanismus: Deklarationsvektor sei x = (x 1,..., x n ). Welche Benutzer anschließen? Wähle größte Menge R, die f(x, R ) maximiert. Anschluss genau der Benutzer in R. Preise? Benutzer i R zahlt Deklaration x i abzüglich Bonus, misst seinen Beitrag zum Gesamtwert der Übertragung: Bonus i (x) := f(x, R ) f(x, R i ). Falls R = R i {i}: Kosten c(r ) c(r i ) (d. h. Grenzkosten für Anschluss). 676
Satz 6.32: Der Grenzkosten-Mechanismus ist wahrheitsaufdeckend, allokationseffizient und erfüllt (NPT), (IR) und (CS). Beweisideen: Wahrheitsaufdeckung: Darstellen als Clarke-Mechanismus, dazu Kosten c(r) auf zusätzlichen Spieler 0 verbuchen. Zusatzeigenschaften mit Eigenschaft der Kostenfunktion: c(r 1 ) + c(r 2 ) c(r 1 R 2 ) (Übungsaufgabe). fqed Moulin, Shenker (2001): Grenzkosten-Mechanismus ist der einzige Mechanismus mit obigen Eigenschaften. 677
Verteilte Realisierung: Phase 1: Bottom-Up-Durchlauf durch universellen Baum: Für jeden Knoten u berechne W u (x) := x u c u + Kinder v von u mit W v (x) 0 W v (x), wobei x u Gesamtwert aller Empfänger an u, c u Kosten für Link von u zu Elter von u (bzw. c u = 0, falls u Wurzel). Setze vorläufig R i := 1 für alle Benutzer i an Knoten u, falls W u (x) 0. 678
Beobachtungen: Falls W u (x) 0: W u (x) ist f -Wert des Teilbaumes unterhalb (und inklusive) u. Der Spannbaum für die Menge der anzuschließenden Benutzer enthält genau die Knoten u mit W u (x) 0. Für die Menge R in der Ausgabe des Grenzkosten- Mechanismus und einen Benutzer i an Knoten u gilt R i (x) = 1 genau dann, wenn W u(x) 0 für alle Knoten v auf dem Weg von u zur Wurzel (inklusive v). Beweisidee: Induktion und Definition von R (größte Menge, die f -Wert im jeweiligen Teilbaum maximiert). 679
Phase 2: Top-Down-Durchlauf durch universellen Baum: Für jeden Knoten u berechne das Minimum Wu min (x) aller W v (x) über alle Knoten v auf dem Weg von der Wurzel zu v (inklusive v). Für jeden Knoten u und für alle Benutzer i an u: Falls Wu min (x) < 0 setze Ri := 0 und p i := 0. Sonst: Falls x i Wu min (x), setze p i := 0. Sonst (x i > Wu min (x)) setze p i := x i Wu min (x). Korrektheit mit Beobachtungen, falls Wu min (x) < 0: Knoten u wird nicht angeschlossen, da nicht angeschlossener Knoten v auf dem Weg von u zur Wurzel existiert. 680
Korrektheit der Kostenberechnung: 1. Fall, x i Wu min (x): Entfernen von Benutzer i: W -Werte der Knoten von u auf dem Weg zur Wurzel fallen alle um genau x i, keiner wird negativ. Damit R i = R, f(x, R ) f(x, R i ) = x i und Preis für Benutzer i ist p i = x i (f(x, R ) f(x, R i )) = 0. 2. Fall, x i > Wu min (x): Entfernen von Benutzer i macht W -Wert eines Knotens auf dem Weg zur Wurzel negativ, wird aus Übertragungsbaum entfernt. Kettenreaktion von absinkenden W -Werten und Entfernungen stoppt an Knoten mit Wert Wu min (x), dieser wird erreicht, weil vorher Kettenreaktion nicht stoppt. Also Verlust von Wu min (x) beim f -Wert, damit Preis für Benutzer i: p i = x i Wu min (x). 681
Netzkomplexität: Zwei Botschaften pro Link (jeweils nur W -Werte), insgesamt O(n) bei n Knoten im universellen Baum, lokale Berechnungen sehr einfach. Fazit: Verteilte Realisierung von Mechanismus an nichttrivialem Beispiel, Kommunikationsaufwand asymptotisch optimal. Kritik: Falsche Zielfunktion für die meisten realen Anwendungen! (Will Ertragsmaximierung statt Wohlfahrtsmaximierung.) Nicht sicher gegenüber Koalitionen von Spielern. Shapleywert-Mechanismus: Budgetbalanciert, aber allokationseffizient und keine effiziente verteilte Implementierung. 682
Weitere Anwendung: BGP-Routing Arbeit: Feigenbaum u. a. (2002). Realistischere Version des einführenden Routing-Beispiels. Szenario: Netz mit autonomen Systemen (AS) als Knoten. Kosten bei Durchleitung von Paketen durch Knoten. Für jedes Quellen-Senken-Paar Anzahl von Datenpaketen, die geroutet werden sollen. Zahlungen an ASe, sodass diese ihre wahren Kosten bekannt geben. Ziel: Minimierung der Gesamtkosten. Realisierung mit Clarke-Mechanismus (Grenzkosten analog zu einfachem Routing-Beispiel). Kommunikationsaufwand asymptotisch wie bei BGP-Protokoll. 683
6.5 Auktionen Vier grundlegende klassische Auktionsformen: Offene Gebote (open-cry): Aufsteigender Preis (ascending price), englische Auktion (Sotheby s usw.) Absteigender Preis (descending price), holländische Auktion (Blumenmärkte in Holland). Geschlossene Gebote (sealed-bid): Zweitpreis (second price), Vickrey-Auktion. Erstpreis (first price). Bei festen Bieterwerten und kontinuierlich steigendem/fallendem Preis jeweilige offene Auktion wie korrespondiere geschlossene. 684
Auktionstheorie: Optimale Auktionen unter Annahmen über Verteilung der Werte der Bieter (Bayes-Nash-Gleichgewichte). Ziel ist Maximierung des erwarteten Ertrags für Auktionator. Grob: Auktionen mit denselben Zuteilungsregeln liefern denselben erwarteten Ertrag. Satz 6.33 (Revenue-Equivalence-Theorem, Myerson 1981): Auktionen mit einem zu versteigernden Gut (evtl. mehrere Kopien), Bieter mit identischen Wertverteilungen, quasilinearen Nutzenfunktionen und gleichen Strategien bei gleichen Werten. Dann liefern alle Auktionen, für die Spieler mit niedrigstem Gebot dieselbe Auszahlung bekommen und Zuschlag an Höchstbietenden geht, jeweils dieselbe erwartete Auszahlung für alle Spieler und damit auch für den Verkäufer. 685
Weitere Erkenntnisse: Erweiterung für mehrere Güter und die Klasse der allokationseffizienten Auktionen. Vickrey-Auktion unter allokationseffizienten und individuell rationalen Auktionen einzige, die den erwarteten Ertrag des Verkäufers maximiert. (Krishna, Perry 1997). Für praktische Anwendungen kompliziertere Modelle, die zusätzliche Nebenbedinungen berücksichtigen. Z. B. unterschiedliche Bieter, Abhängigkeiten / Absprachen zwischen Bietern, Budgeteinschränkungen der Bieter, Reservierungspreise des Verkäufers usw. 686
Vickrey-Auktion in der Praxis: Trotz netter theoretischer Eigenschaften spielt die geschlossene Version praktisch kaum eine Rolle. Einige Probleme: Nicht sicher gegenüber Absprachen zwischen Bietern: Z. B. zwei Bieter mit privaten Werten 100 und 99e, koalieren und bieten 100 und 1e. Betrügerischer Auktionator kann dem Gewinner gefälschtes (höheres) zweithöchstes Gebot angeben. Wahrheitsaufdeckung kann unerwünschte Folgen haben (Firmengeheimnisse, Schwächung der Position des Käufers in späteren Verhandlungen). Arbeiten: Sandholm (1996), Ausubel, Milgrom (2006). 687
Kombinatorische Auktionen (CAs): Szenario: Endliche Menge G von zu versteigernden Objekten. n Bieter, Bieter i hat für jede Menge S G Einschätzung v i (S) des Wertes von S. Menge der möglichen Alternativen: Zuordnungen von Objektteilmengen an Bieter, A := {(S 1,..., S n ) S i G, S i S j für i = j}. Strategie von Spieler i: Für jedes S G Gebot v i (S). Ausgabe des Auktion-Mechanismus: Zuordnung a (v ) A der Objekte; Für jeden Spieler i zu zahlender Preis p i (v ). 688
Anwendungen: Versteigerung von LKW-Transportaufträgen, Busrouten, Sendefrequenzen (FCC, UMTS). Prinzipielle Lösungsmöglichkeit: Verallgemeinerte Vickrey-Auktion (GVA): Bestimme a = (S 1,..., S n ), sodass n Preis für Spieler i: i=1 v i (S i) maximal. p i (v ) := v(a i ) j =i v j (S j), wobei v(a i ) der maximale Gesamtwert (bezüglich gemeldeter Gebote) im Szenario ohne Spieler i sei. 689
Komplexität: Gebotsabgabe: Erfordert spezielle Gebotssprachen (Nisan 2000). Bestimmung der Zuordnung a : MAXIMUM WEIGHTED SET PACKING, äquivalent bez. PTAS-Reduktionen zu MAXIMUM CLIQUE und damit insbesondere NP-schwer. Bestimmung der Preise: Zusätzlich für jeden Bieter reduziertes Problem lösen. Abhilfe: Approximationsalgorithmen, iterative Auktionen. (Z. B. Nisan, Ronen (2000), Parkes (2001).) Problem: Aufrechterhaltung der Wahrheitsaufdeckung, gleichzeitig Ertragsmaximierung. 690