L ETZTE Ä NDERUNG : 15. F EBRUAR 2007 Vorlesung: Einführung in die Spieltheorie WS 2006/2007 18. Vorlesung 13. Februar 2007 Satz 8.1. Guido Schäfer Der Mechanismus SP ist truthful. Beweis. Um eine lästige Fallunterscheidung zu umgehen, gehen wir im folgenden davon aus, dass kürzeste s,t-Pfade immer eindeutig sind. Dies kann man zum Beispiel erreichen, indem man Pfade der gleichen Länge lexikographisch bzgl. der Indices ihrer Knoten sortiert. Betrachte eine Kante e ∈ E. Seien die deklarierten Kosten aller anderen Spieler b−e . Wir bezeichnen den kürzesten Pfad in G bzgl. (b−e , ce ) (Kante e deklariert Kantenkosten wahrheitsgemäß) mit P und den kürzesten Pfad in G bzgl. (b−e , be ) mit P0 . (Wir verwenden die Schreibweise δ 0 , wenn wir uns auf δ bzgl. der Kantenkosten (b−e , be ) beziehen möchten.) Wir können den Payoff pe und p0e von e bzgl. (b−e , ce ) bzw. (b−e , be ) wie folgt beschreiben: pe = dG−e (P−e ) − dG (P) und ( 0 ) − d 0 (P0 ) − c be + dG0 −e (P−e e 0 G pe = 0 falls e ∈ P0 sonst. (12) Falls e ∈ / P0 gilt p0e = 0. Da pe ≥ 0, ist be = ce eine dominante Strategie in diesem Fall. Sei e ∈ P0 . Fall 1: be < ce . Sei e ∈ P und e ∈ P0 (betrachte Abbildung 28(a)). Da e seine dekla0 . Wir haben rierten Kosten verringert, gilt P = P0 und P−e = P−e dG0 (P0 ) = dG (P) − ce + be . Setzt man dies in (12) ein, erhält man 0 ) − dG (P) = dG−e (P−e ) − dG (P) = pe . p0e = dG0 −e (P−e 0 . Da e bzgl. Sei nun e ∈ / P und e ∈ P0 (betrachte Abbildung 28(b)). Es gilt: P = P−e = P−e (be , ce ) nicht auf dem kürzesten Pfad P liegt, muss gelten: dG0 (P0 ) − be + ce ≥ dG (P). Setzt man dies in (12) ein, erhält man 0 ) − dG (P) = dG (P−e ) − dG (P) = 0. p0e ≤ dG0 −e (P−e In Fall 1 gilt also pe ≥ p0e , d.h., (be = ce ) ist eine dominante Strategie von Spieler e. 90 P = P0 ce e t s 0 P−e = P−e (a) Fall 1: e ∈ P0 und e ∈ P be e P0 t s 0 P = P−e = P−e (b) Fall 1: e ∈ P0 und e ∈ /P Abbildung 28: Fall 2: be > ce . Sei e ∈ P und e ∈ P0 . Dieser Fall ist äquivalent zu Fall 1, erster Teil. Angenommen, e ∈ / P und e ∈ P0 . Dies ist unmöglich, da e seine deklarierten Kosten erhöht hat und alle andere Kosten gleich geblieben sind. Die gesamten Kosten, die durch die Wahl des Pfades P bei wahrheitsgemäßer Kostendeklaration entstehen, sind ∑ ce = dG(P). e∈P Nach der Definition von SP sind diese Kosten minimal. Wir sagen auch, dass der Mechanismus SP effizient ist. Bemerke, dass der Preis, den der Koordinator zahlen muss, um Truthfulness zu erzielen, beliebig hoch sein kann. Man stelle sich zwei s,t-Pfade vor: Einer besteht aus n Kanten der Länge ε > 0, der andere aus einer Kante der Länge L. Nimm an, dass nε L. Der Mechanismus SP zahlt dann jeder der n vielen ε-Kanten ε + L − nε ≈ L; insgesamt also ungefähr nL L. 8.2 VCG Mechanismus Der im folgenden beschriebene Mechanismus verallgemeinert die Ideen, die in den beiden vorherigen Beispielen entwickelt wurden. Wir haben eine Spielermenge N = [n] und eine Menge M von Objekten. Sei O die Menge aller möglichen Allokationen von Objekten zu Spielern. Eine Allokation a ∈ O ist eine Funktion a : M → N ∪ {⊥} (wir bilden ein Objekt auf ⊥ ab, wenn es keinem Spieler zugewiesen wird). Mit a−1 (i) bezeichnen wir die Menge der Objekte, die Spieler i ∈ N 91 Algorithmus 4 VCG-Mechanismus Eingabe: (N, (bi )i∈N ) Ausgabe: a∗ ∈ O, (xi )i∈N 1: Bestimme a∗ ∈ O, so dass a∗ = arg max ∑ bi (a). a∈O i∈N 2: Berechne das Payment von Spieler i ∈ N wie folgt: ∗ xi := bi (a ) − max ∑ b j (a) − max a∈O j∈N | a∈O ∑ b j (a) . j∈N, j6=i {z i’s Anteil an Gesamtnutzen } 3: return a∗ zugewiesen wurden. Sei ui : O → R+ die private Nutzenfunktion von Spieler i; für jede Allokation a ∈ O, gibt ui (a) den Nutzen von Spieler i an, wenn er die Objekte in a−1 (i) erhält. Sei bi : O → R+ die deklarierte Nutzenfunktion von Spieler i ∈ N. Ein Mechanismus M bestimmt eine Allokation a∗ ∈ O und Payments (xi )i∈N in Abhängigkeit von (bi )i∈N . Spieler i zahlt xi ∈ R+ für die Objekte a−1 (i) und möchte seinen Payoff ui (a) − xi maximieren. Ein Mechanismum M ist effizient, wenn die von M berechnete Allokation a∗ = M(b), bei wahrheitsgemäßer Deklaration bi = ui für alle i ∈ N, den Gesamtnutzen maximiert: a∗ = arg max ∑ ui (a). a∈O i∈N Vickery, Clarke und Groves entwickelten den folgenden VCG-Mechanismus (siehe Algorithmus 4). Satz 8.2. Der VCG-Mechanismus ist truthful und effizient. Beweis. Es ist offensichtlich, dass VCG effizient ist (bi = ui für alle i vorausgesetzt). Wir argumentieren wie folgt, dass VCG truthful ist: Betrachte einen Spieler i ∈ N. Sei b := (b−i , bi ) und b̄ := (b−i , ui ). Ferner bezeichnen wir mit (a∗ , x) und (ā∗ , x̄) die von VCG berechnete Allokation und Payments bzgl. b bzw. b̄. Bemerke, dass gilt: b̄ j (a) = b j (a) ∀a ∈ O und b̄i (a) = ui (a) ∀a ∈ O. (13) Desweitern haben wir ā∗ so gewählt, dass gilt: ∑ b̄ j (ā∗) ≥ ∑ b̄ j (a) j∈N j∈N 92 ∀a ∈ O. (14) Wir können dies verwenden, um folgendes zu zeigen: ∗ ∗ ∗ ui (ā ) − x̄i = ui (ā ) − b̄i (ā ) − max ∑ b̄ j (a) − max a∈O j∈N (13) = max ∑ b̄ j (a) − max = ∑ ∑ b j (a) j∈N, j6=i b j (a) a∈O j∈N a∈O j∈N, j6=i ∗ b̄ j (ā ) − max b j (a) a∈O j∈N j∈N, j6=i ∑ (14) ≥ ∑ ∑ b̄ j (a∗) − max ∑ a∈O j∈N (13) = ∑ a∈O b̄ j (a) ∑ b j (a) j∈N, j6=i b j (a∗ ) + ui (a∗ ) − max a∈O j∈N, j6=i ∑ b j (a) j∈N, j6=i ∗ = ui (a ) − bi (a ) − max ∑ b j (a) − max ∗ a∈O j∈N a∈O j∈N, j6=i = ui (a∗ ) − xi . Für Spieler i ist also (bi = ui ) eine dominante Strategie. Obwohl der VCG-Mechanismus universell einsetzbar ist und Truthfulness sowie Effizienz für alle Probleme, die sich wie oben beschrieben darstellen lassen, garantiert, bleiben die folgenden Fragen bzw. Probleme (die man im Einzelfall untersuchen muss): ◦ Berechenbarkeit: Kann man den VCG-Mechanismus effizient implementieren? ◦ Der VCG-Mechanismus setzt voraus, dass man s∗ exakt berechnen kann. (Wenn man nur approximative Lösungen berechnen kann, muss man sich etwas anderes einfallen lassen). ◦ Man zahlt unter Umständen einen sehr hohen Preis, um Truthfulness gewährleisten zu können. 93