L ETZTE Ä NDERUNG : 21. N OVEMBER 2006 Vorlesung: Einführung in die Spieltheorie WS 2006/2007 7. Vorlesung 21. November 2006 Guido Schäfer Wenn die Latenzfunktionen (ce )e∈E differenzierbar und schwach monoton steigend sind, erhält man für δ → 0 die folgende äquivalente Definition: Definition 2.4. Seien die Latenzfunktionen (ce )e∈E differenzierbar und schwach monoton steigend. Ein zulässiger Fluss f für die Instanz (G, r, c) ist genau dann ein Nash-Fluss, wenn für jede commodity i ∈ [k] gilt: ∀P1 , P2 ∈ Pi , fP1 > 0 : cP1 ( f ) ≤ cP2 ( f ) (3) Wir nennen einen si ,ti -Pfad P mit positivem Fluss fP > 0 einen flussführenden Pfad. Bemerke, dass letztere Definition das folgende aussagt: In einem Nash-Fluss sind die Kosten eines jeden flussführenden si ,ti -Pfades minimal. Ferner sind die Kosten aller flussführenden si ,ti -Pfade gleich. Korollar 2.1. Sei f ein Nah-Fluss für die Instanz (G, r, c). Dann gilt für jede commodity i ∈ [k]: alle flussführenden si ,ti -Pfade von f haben die gleichen Kosten ci ( f ). Wir werden später sehen, dass ein Nash-Fluss immer existieren muss und seine Kosten eindeutig sind. Bemerkung 2.1. Wir haben es hier mit einem strategischen Spiel zu tun, in dem jeder Spieler (= Nutzer) einer commodity einen infinitesimalen Bruchteil des Gesamtflusses ri kontrolliert. Man spricht daher auch von einem nicht-atomaren, nicht-kooperativen Strategiespiel. 2.2 Preis der Anarchie Wir möchten die Auswirkungen des unkoordinierten und eigennützigen Verhaltens der Nutzer in Routing Problemen charakterisieren. Eine Möglichkeit, dies zu tun, ist die Kosten eine Nash-Flusses mit denen eines Systemoptimums zu vergleichen. Definition 2.5 (Preis der Anarchie). Gegeben sei eine Instanz (G, r, c) des Selfish Routing Problems. Sei f ein Nash-Fluss und f ∗ ein optimaler Fluss für (G, r, c). Der Preis der Anarchie ρ(G, r, c) für die Instanz (G, r, c) ist definiert als ρ(G, r, c) := 30 C( f ) . C( f ∗ ) (4) Sei I eine Menge von Selfish Routing Instanzen. Der Preis der Anarchie von I ist definiert als ρ(I ) := sup ρ(G, r, c). (G,r,c)∈I Bisher ist nicht klar, dass (4) in obiger Defintion wohldefiniert ist; Nash-Flüsse könnten nicht existieren oder unterschiedlichen Kosten für eine Instanz (G, r, c) haben. Wir werden aber später sehen, dass es für Selfish Routing Probleme immer einen Nash-Fluss geben muss und die Kosten eines Nash-Flusses eindeutig sind. Somit ist auch der Wert ρ(G, r, c) in (4) eindeutig. Im allgemeinen versteht man unter dem Preis der Anarchie das Verhältnis eines schlechtesten Nash-Gleichgewichts zu einem optimal Fluss. 2.3 Charakterisierung von optimalen Flüssen und Nash-Flüssen Als nächstes kommen wir zu ein paar nützlichen Charakterisierung von optimalen Flüssen und Nash-Flüssen. Zuvor führen wir aber kurz ein Resultat aus der nichtlinearen Programmierung ein. Gegeben sei eine Selfish Routing Instanz (G, r, c). Betrachten das folgende nichtlineare Programm (NLP): min ∑ he( fe) ∑ fP e∈E u.d.N. ∀i ∈ [k] = ri P∈Pi fe = ∑ P∈P:e∈P fP ≥ 0 fP ∀e ∈ E ∀P ∈ P. Die erste und letzte Nebenbedingung stellen sicher, dass der Fluss ( fP )P∈P ein zulässiger Fluss für (G, r, c) ist. Die zweite Nebenbedingung weist jeder Kante den entsprechenden Kantefluss zu; dies wird benötigt, da die Zielfunktion auf der Grundlage eines Kantenflusses definiert ist. Wir haben es hier mit einem Programm mit exponentiell vielen Variablen zu tun. Man kann dieses aber relativ leicht in ein kompakteres Programm (Kantenformulierung) mit |E| vielen Variablen umwandeln. (NLP) ist ein Lineares Programm, wenn die Funktionen (he )e∈E linear sind. Sind die Funktionen (he )e∈E hingegen konvex und differenzierbar, gibt uns einer der wichtigsten Optimalitätsbedingungen der nichtlineare Optimierung (first order, Kuhn–Tucker) den folgenden Satz: 31 Satz 2.1 (Optimalitätsbedingung für (NLP)). Betrachte das Programm (NLP) mit konvexen und differenzierbaren Funktionen (he )e∈E . Ein zulässiger Fluss f ist eine optimale Lösung für (NLP) genau dann, wenn für jede commodity i ∈ [k] und für alle Pfade P1 , P2 ∈ Pi mit fP1 > 0 gilt: h0P1 ( f ) := ∑ h0e( fe) ≤ ∑ h0e( fe) =: h0P2 ( f ), e∈P1 wobei h0e (x) die Ableitung 2.3.1 d dx he (x) e∈P2 bezeichnet. Optimale Flüsse Ein optimaler Fluss f ∗ ist ein zulässiger Fluss, der die Funktion C( f ) = ∑e∈E ce ( fe ) · fe minimiert. Definieren wir he (x) := x · ce (x), entspricht die Menge aller optimalen Lösungen zu (NLP) genau der Menge aller optimalen Flüsse. Wir nennen eine Funktion c : R+ → R+ semi-konvex, wenn die Funktion x · c(x) konvex ist. Für den weiteren Verlauf dieses Abschnitts treffen wir folgende Vereinbarung: Annahme: Die Latenzfunktionen (ce )e∈E einer Selfish Routing Instanz (G, r, c) sind nicht-negativ, schwach monoton steigend, differenzierbar und semi-konvex. Instanzen, die diese Bedingungen erfüllen, nennen wir gutmütig. Unter dieser Annahme sind die Funktionen he (x) differenzierbar und konvex. Satz 2.1 liefert uns nun folgende Charakterisierung eines optimalen Flusses: Satz 2.2. Sei (G, r, c) eine gutmütige Selfish Routing Instanz. Dann ist f ∗ genau dann ein optimaler Fluss, wenn für jede commodity i ∈ [k] und für alle Pfade P1 , P2 ∈ Pi mit fP∗1 > 0 gilt: (5) ∑ h0e( fe∗) ≤ ∑ h0e( fe∗) e∈P1 e∈P2 wobei h0e (x) := ce (x) + x · c0e (x). Bemerke, dass die Bedingung (5) sehr ähnlich zu Bedingung (3) in Definition 2.4 ist; es handelt sich lediglich um andere Kostenfunktionen. Wir bezeichnen diese speziellen Kostenfunktionen als marginale Kostenfunktionen. Definition 2.6 (Marginale Kostenfunktionen). Sei (G, r, c) eine gutmütige Selfish Routing Instanz. Wir definieren die marginale Kostenfunktionen c∗ := (c∗e )e∈E als c∗e (x) := d (ce (x) · x) = ce (x) + x · c0e (x). dx 32 Ein zulässiger Fluss f ∗ ist somit genau dann optimal, wenn für jeden Pfad P mit fP∗ > 0 die marginalen Kosten c∗P ( f ) minimal sind. Wir erhalten folgendes Korollar: Korollar 2.2. Sei (G, r, c) eine gutmütige Selfish Routing Instanz. Ein zulässiger Fluss f ∗ ist genau dann optimal für (G, r, c), wenn f ∗ ein Nash-Fluss für die Instanz (G, r, c∗ ) ist. 2.3.2 Existenz und Eindeutigkeit von Nash-Flüssen Wir zeigen nun, dass ein Nash-Fluss existieren muss und alle Nash-Flüsse die gleichen Kosten haben. Auch hierbei wird Satz 2.1 hilfreich sein. Betrachte das nichtlineare Programm (NLP), wobei wir die Funktionen (he )e∈E wie folgt definieren: Z x he (x) := 0 ce (t)dt. (6) Wir behaupten, dass die optimalen Lösungen zu (NLP) mit diesen Funktionen gerade den Nash-Flüssen entsprechen: Satz 2.3. Sei (G, r, c) eine Instanz des Selfish Routing Problems mit nicht-negativen, differenzierbaren und schwach monoton steigenden Latenzfunktionen (ce )e∈E . Dann ist die Menge aller Nash-Flüsse von (G, r, c) gerade die Menge aller optimalen Lösungen zu (NLP) mit den Kostenfunktionen he (x) in (6). Beweis. Die Ableitung der Funktion he ist ce , eine nicht-negative, differenzierbare und schwach monoton steigende Funktion. Somit ist die Funktion he für jede Kante e ∈ E konvex. Ferner ist he differenzierbar. (NLP) ist also ein konvexes Programm und wir können Satz 2.1 anwenden. Es folgt: f ist genau dann eine optimale Lösung für (NLP), wenn für jede commodity i ∈ [k] und für alle Pfade P1 , P2 ∈ Pi mit fP1 > 0 gilt: h0P1 ( f ) = cP1 ( f ) ≤ cP2 ( f ) = h0P2 ( f ). Eine optimale Lösung f von (NLP) entspricht somit genau einem Nash-Fluss f für (G, r, c). Wir können nun leicht zeigen, dass ein Nash-Fluss existieren muss. Korollar 2.3. Sei (G, r, c) eine Selfish Routing Instanz mit nicht-negativen, differenzierbaren und schwach monoton steigenden Latenzfunktionen (ce )e∈E . Dann existiert ein Nash-Fluss. Beweis. Die Zielfunktion des Programms (NLP) mit (6) ist stetig. Ferner ist die Menge aller zulässigen Flüsse kompakt. Somit existiert eine optimale Lösung zu (NLP). Das Korollar folgt von Satz 2.3. 33 x 1 s s t 1 1 x t 0 x Abbildung 4: Pigou’s und Braess Beispiel Korollar 2.4. Sei (G, r, c) eine Selfish Routing Instanz mit nicht-negativen, differenzierbaren und schwach monoton steigenden Latenzfunktionen (ce )e∈E . Seien f und f˜ NashFlüsse für (G, r, c). Es gilt: C( f ) = C( f˜). Beweis. Folgt direkt von Satz 2.3. 2.3.3 Beispiele Wir illustrieren die oben gewonnenen Einsichten an Pigou’s und Braess Beispielnetzwerken: Beispiel 2.3 (Pigou). Betrachte das Beispiel in Abbildung 4 (links). Ein Nash-Fluss f hat die Eigenschaft, dass alle flussführenden s,t-Pfade die gleichen Kosten haben. Der Fluss, der eine Flusseinheit entlang der unteren Kante schickt, hat diese Eigenschaft und ist somit ein Nash-Fluss. Betrachten wir nun einen optimalen Fluss. Dieser ist ein Nash-Fluss bzgl. der marginalen Kostenfunktionen c∗ . Die marginalen Kosten auf der untern Kante ist 2x, die der oberen ist 1. Möchten wir die Kosten auf allen flussführenden Pfaden bzgl. c∗ ausbalancieren, so geschieht dies, wenn wir x = 1/2 wählen; also je eine halbe Flusseinheit über die untere und obere Kante schicken. Das ist ein optimaler Fluss. Beispiel 2.4. Betrachte das Beispiel in Abbildung 4 (rechts). Ein Nash-Fluss balanciert alle Kosten der flussführenden s,t-Pfade. Wir senden daher eine Flusseinheit über die Kanten links oben, mitte, rechts unten. Der optimale Fluss balanciert die Kosten der flussführenden s,t-Pfade bzgl c∗ . Wir schicken daher jeweils eine halbe Einheit entlang des oberen und unteren Pfades. 34