Selfish Routing
Selfish Routing (engl. etwa "egoistisches Vermitteln") bezeichnet die Strategie, bei der Nutzer in einem fest vorgegebenen Netzwerk eigennützig immer die schnellsten Routen wählen. Dies erscheint auf den ersten Blick die effektivste und vernünftigste Vorgehensweise zu sein, jedoch hält diese Annahme einer genaueren Untersuchung nicht stand.
Inhaltsverzeichnis |
Beispiele
Pigou's Beispiel
Wir betrachte das Netzwerk in der folgenden Abbildung, das aus zwei parallelen Kanten besteht.
Jede Kante e ist mit einer Latenzfunktion beschriftet, die die (flussabhängige) Latenz (Fahrzeit, Verzögerung, engl. latency) auf dieser Kante angibt. So ist z.B. die Latenz auf der oberen Kante 1 (unabhängig vom Fluss), die der unteren Kante hat wächst linear mit dem Fluss auf der Kante. Wir möchten eine Flusseinheit von s nach t schicken (diese Flusseinheit entspricht einer Vielzahl von Nutzern, die von s nach t wollen).
Im Falle von Selfish Routing wird jeder Nutzer wie folgt argumentieren:
die Latenz auf der unteren Kante ist 1, falls der gesamte Fluss diese benutzt und kleiner
als 1, falls jemand die obere Kante wählt. Folglich wird jeder Nutzer die untere
Kante wählen; wir nennen dies einen Nash-Fluss.
Die durchschnittliche Latenz des Nash-Flusses bei Selfish Routing ist also 1.
Betrachten wir nun einen optimalen Fluss, der die durchschnittliche Latenz minimiert.
Dieser Fluss sendet Einheiten auf der
unteren und 1 − p Einheiten auf der oberen Kante. Die durchschnittliche Latenz ist dann
(1 − p) + p2; diese Funktion wird für
minimiert und beträgt somit
.
Braess Paradoxon
Wir betrachten das linke Beispielnetzwerk in folgender Abbildung.
Erneut soll eine Flusseinheit von s nach t geschickt werden. Bei egoistischer Routenplanung
verteilt sich der (Nash-)Fluss gleichmäßig auf den oberen und unteren Pfad mit durchschnittlicher Latenz .
Um die Situation zu verbessern, fügen wir eine Kante mit Latenz 0 ein; siehe rechte Abbildung
. Paradoxerweise verschlechtert sich damit aber der Nash-Fluss: die
Flusseinheit fließt entlang der linken oberen Kante, über die 0-Kante und schließlich
über die rechte untere Kante mit durchschnittlicher Latenz 2.
Das Beispiel zeigt, dass eine Verbesserung der Netzwerkinfrastruktur bei egoistischer
Routenplanung eine Verschlechterung verursachen kann.
Natürliche Anwendungsgebiete, in denen die Auswirkungen egoistischer Routenwahl relevant sind, finden sich zum Beispiel in der Verkehrsplanung und -optimierung oder in Netzwerk-Routing Protokollen.
Braess Paradoxon in der Presse
Diesen beiden Beispiele werfen nun einige Fragen auf, wie z.B. wie groß kann die Abweichung des Nash-Flusses vom optimalen Fluss werden, wie hängt diese Abweichung vom zugrundeliegenden Netzwerk und von den Latenzfunktionen ab usw.
Modell
Vor der Untersuchung dieser Fragen definieren wir zunächst das Modell und führen Notationen ein.
Eine Instanz des Selfish Routing Problems ist wie folgt spezifiziert. Gegeben sind:
- Ein gerichteter Graph G = (V,E) mit Knotenmenge V und Kantenmenge E.
- Für jede Kante
ist eine nicht-negative Latenzfunktion
gegeben.
- Wir haben k Knotenpaare
, von Start- und Zielknoten, die wir hier als commodities (Güter) bezeichnen. Für jede commodity
möchten wir ri > 0 Flusseinheiten von si nach ti senden. Wir nennen ri die Rate von commodity i.
Wir schreiben (G,r,c), um eine Instanz des Selfish Routing
Problems zu bezeichnen (hierbei ist und
.
Sei
die Menge aller (einfachen) Pfade von si nach ti in G und definiere
als die Menge aller relevanten Pfade.Wir senden den Fluss entlang der Pfade P in .
Die Mengen
sind paarweise disjunkt; ansonsten müssen
die Start-/Zielknoten von commodities i und jgleich sein und wir können diese zu einer commodity der Rate ri + rj zusammenfassen.
Flüsse
Definition
Ein Fluss f in einem Graphen G ist ein Vektor Ein Fluss f heißt zulässig, wenn gilt:
|
In unserem Modell repräsentiert ein positiver Fluss fP > 0 auf einem Pfad
eine Route P entlang welcher ein Bruchteil
des gesamten Flusses ri von si nach ti
gelangt. Insbesondere gehen wir davon aus, dass der Fluss bzgl. jeder commodity
zykelfrei ist. (Dies gilt o.B.d.A., wenn es keine gerichteten Kreise mit Latenz
0 gibt.)
Definition
Wir definiere den Fluss auf einer Kante |
Jeder Pfadfluss induziert einen eindeutigen Kantenfluss
. Zu einem Kantenfluss kann es jedoch mehrere Pfadflüsse geben. Wir können mittels des Dekompositionssatzes
von Flüssen immer einen Pfadfluss aus einem Kantenfluss bestimmen.
Wir gehen im weiteren Verlauf davon aus, dass die Latenzfunktion für
jede Kante
nicht-negativ, differenzierbar und (schwach) monoton steigend ist. Diese
Klasse von Kostenfunktionen reicht für viele Anwendungen aus.
Definition
Wir definieren die Kosten eines Pfades P bzgl. f als
Die gesamten Kosten (Netzbelastung) eines Flusses f sind wie folgt definiert:
|
∑ | ri |
i |
Definition
Ein zulässiger Fluss f * ist optimal, wenn er die Kostenfunktion |
Ein optimaler Fluss existiert, da die Menge aller zulässigen Flüsse kompakt ist und
die Funktion stetig ist (Satz von Weierstraß).
Intuitiv ist ein zulässiger Fluss f ein Nash-Fluss, wenn gilt: für jede commodity
gibt es keine δ-Flusseinheit, die durch Wechseln von ihrem zugehörigen Pfad
auf einen Pfad
die Kosten verringern kann. Formal definieren wir dies wie folgt:
Definition
Sei f ein zulässiger Fluss für (G,r,c). f ist ein Nash-Fluss (auch: Wardrop-Equilibrium), wenn für jede commodity wobei
|
oder für :
Definition
Seien die Latenzfunktionen Wir nennen einen si,ti-Pfad P mit positivem Fluss fP > 0 einen flussführenden Pfad. |
Letztere Definition sagt Folgendes aus: 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.
Bemerkung
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.
Der Preis der Anarchie
Durch den Vergleicht der Kosten eines Nash-Flusses mit denen eines Systemoptimums kann man die Auswirkungen von Selfish Routing charakterisieren.
Definition 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
Sei
|
Der Preis der Anarchie ist wohldefiniert; im Folgenden wird gezeigt werden, dass es für Selfish Routing Probleme immer einen Nash-Fluss mit eindeutigen Kosten geben muss . Somit ist auch der Wert
ρ(G, r,c) eindeutig.
Im Allgemeinen versteht man unter dem Preis der Anarchie das Verhältnis eines schlechtesten Nash-Gleichgewichts zu einem optimal Fluss.
Charakterisierung von optimalen Flüssen und Nash-Flüssen
Bevor nun optimale Flüsse und optimale Nash-Flüsse charakterisiert und beschrieben werden, ist es noch notwendig, diesen Abschnitt um ein Merkmal aus der nicht-linearen Programmierung zu ergänzen:
Gegeben sei eine Selfish-Routing-Instanz (G, r,c). Betrachten das folgende nichtlineare Programm (NLP):
u.d.N.
Die erste und letzte Nebenbedingung stellen sicher, dass der Fluss ein zulässiger Fluss für (G,r,c) ist.
Die zweite Nebenbedingung weist jeder Kante den entsprechenden Kantenfluss zu; dies wird benötigt, da die Zielfunktion auf der Grundlage eines Kantenflusses definiert ist.
Da wir es hier mit einem Programm mit exponentiell vielen Variablen zu tun haben, wandeln man dies nun (relativ leicht) in ein kompakteres Programm (Kantenformulierung) mit |E| vielen Variablen um.
(NLP) ist ein Lineares Programm, wenn die Funktionen linear sind. Sind
die Funktionen
hingegen konvex und differenzierbar, gibt uns einer der wichtigsten
Optimalitätsbedingungen der nichtlineare Optimierung (first order, Kuhn–Tucker) den folgenden Satz:
Satz (Optimalitätsbedingung für (NLP)) Betrachte das Programm (NLP) mit konvexen und differenzierbaren Funktionen Ein zulässiger Fluss f ist eine optimale Lösung für (NLP) genau dann, wenn für jede commodity
wobei |
Optimale Flüsse
Definition Ein optimaler Fluss f * ist ein zulässiger Fluss, der die Funktion |
sei nun
he(x): = x * ce(x)
(die Menge aller optimalen Lösungen zu (NLP) entspricht genau der Menge aller optimalen Flüsse)
Die Funktion heisst semi-konvex, wenn x * c(x) konvex ist.
Um die Charakterisierung eines optimalen Flusses abzuschliessen, treffen wir folgende Annahme:
Die Latenzfunktionen 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, und mit der Optimalitätsbedingung für (NLP) gilt nun:
Sei (G,r,c) eine gutmütige Selfish Routing Instanz.
Dann ist f * genau dann ein optimaler Fluss, wenn für jede commodity und für alle Pfade
mit
gilt:
(marginale Kostenfunktion)
mit
Definition:Marginale Kostenfunktion Sei (G,r,c) eine gutmütige Selfish Routing Instanz.
Wir definieren die marginale Kostenfunktionen
|
Ein zulässiger Fluss f * ist somit genau dann optimal, wenn für jeden Pfad P mit die marginalen Kosten
minimal sind.
Sei nun (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.
Existenz und Eindeutigkeit von Nash-Flüssen
Existenz eines Nash-Flusses:
Betrachte das nichtlineare Programm (NLP), wobei die Funktionen wie folgt definiert sind:
Behauptung: Die optimalen Lösungen zu (NLP) mit diesen Funktionen entsprechen gerade den Nash-Flüssen
Satz
Sei (G,r,c) eine Instanz des Selfish Routing Problems mit nicht-negativen, differenzierbaren und schwach monoton steigenden Latenzfunktionen . 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).
(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 konvex. Ferner ist he differenzierbar.
(NLP) ist also ein konvexes Programm und wir können den Satz über die Optimalitätsbedingungen anwenden.
Es folgt: f ist genau dann eine optimale Lösung für (NLP), wenn für jede commodity und für alle Pfade
mit
gilt:
.
Eine optimale Lösung f von (NLP) entspricht somit genau einem Nash-Fluss f für (G,r,c). q.e.d.)
Korollar:
Sei (G,r,c) eine Selfish Routing Instanz mit nicht-negativen, differenzierbaren und schwach monoton steigenden Latenzfunktionen . Dann existiert ein Nash-Fluss.
(Beweis. Die Zielfunktion des Programms (NLP) mit ist stetig.
Ferner ist die Menge aller zulässigen Flüsse kompakt. Somit existiert eine optimale Lösung zu (NLP) . Mit obigem Satz folgt die Aussage. q.e.d.)
Sei (G,r,c) eine Selfish Routing Instanz mit nicht-negativen, differenzierbaren und schwach monoton steigenden Latenzfunktionen . Seien f und
Nash-Flüsse für (G,r,c).
Es gilt: .
(Beweis: folgt aus obigem Satz.)
Beispiele
Um das, was eben erarbeitet wurde, an Beispielen zu illustrieren, greifen wir nun auf obige Beispiele (Pigou's Beispiel,Braess Paradoxon) zurück.
Pigou's Beispiel
Man betrachte nun diese Abbildung:
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.
Braess Paradoxon
Wenn wir jetzt wieder die Abbildung von oben betrachten, konzentrieren wir uns auf die rechte Abbildung:
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 entlangdes oberen und unteren Pfades.
Reduktion der Preis der Anarchie auf Pigou-ähnliche Instanzen
Konstante Latenzfunktionen
Lineare und konstante Latenzfunktionen
Affin lineare Latenzfunktionen
Polynomielle Latenzfuntionen mit Grad p
Quellen und Links
- Artikel über "Selfish Routing and the Price of Anarchy" in der MIT Press:
http://mitpress.mit.edu/catalog/item/default.asp?tid=10339&ttype=2
- Dissertation über "Selfish routing with incomplete information":
http://ubdok.uni-paderborn.de/servlets/DocumentServlet?id=5369