Rozdział 5 Gry na sieciach

Transkrypt

Rozdział 5 Gry na sieciach
Rozdział 5
Gry na sieciach
5.1
Wprowadzenie do gier na sieciach
Na dzisiejszym wykładzie, podobnie jak na dwóch kolejnych, zajmiemy się tematem,
który powstał gdzieś na styku teorii gier i informatyki. Tym tematem będzie opis zachowań użytkowników sieci. Zacznijmy od tego, co jest istotą problemu przy opisie działania
sieci, i jaki ma z tym związek teoria gier. Otóż w sieci mamy wielu użytkowników, z których każdy chce przetransportować jakiś ładunek z jednego miejsca w tej sieci do innego,
i każdy chce to zrobić możliwie jak najszybciej, przy czym wszyscy korzystają z tych
samych połączeń. Jeśli założymy, że każdy wybiera drogę, przez którą idzie jego ładunek,
samodzielnie, to pojawi się klasyczna sytuacja teoriogrowa – mamy wielu graczy, z których każdy chce przetransportować swój ładunek jak najszybciej, ale szybkość zależy też
od tego, jaką drogę wybrali pozostali gracze. Naszym celem na najbliższych wykładach
będzie określenie, jak będzie wyglądała równowaga w grze tego typu, i jaki wpływ brak
kooperacji między graczami (charakterystyczny dla rozwiązania Nasha) będzie miał na
szybkość działania całej sieci. Zacznijmy od opisu modelu, oraz rozwiązania, którego
będziemy szukali.
1. Sieć opisywana jest przez graf G = (V, E), gdzie wierzchołki tego grafu są punktami, pomiędzy którymi przesyłane są ładunki, a krawędzie są drogami, po których
są one przesyłane.
2. Z każdą z krawędzi e związana jest funkcja le (x), określająca, ile czasu zajmuje
przesłanie ładunku x. Zakładamy, że le jest ciągła i niemalejąca.
3. Mamy nieskończenie wielu graczy k typów, gdzie typ i gracza oznacza, że przesyła
on pakiety z ustalonego wierzchołka si do ti (też ustalonego). Zakładamy, że dla
graczy dwóch różnych typów i i j, si 6= sj lub ti 6= tj . Dla każdego typu jest też
ustalona ilość pakietów, która ma być przesłana, di.
4. Niech Π oznacza zbiór wszystkich ścieżek, łączących dwa wierzchołki w tym grafie.
f : Π → R nazwiemy dopuszczalnym rozwiązaniem takiej gry, jeśli:
• f (P ) ­ 0 dla każdego P ∈ Π.
• Dla każdego typu i,
P
P łączy si z ti
f (P ) = di .
5. Całkowity przepływ przez krawędź e, związany z rozwiązaniem f , jest równy fe =
P
P :e∈P f (P ). Przy jego pomocy możemy zdefiniować czas przesyłu przez ścieżkę
38
P ∈ Π jako lP (f ) = e∈P le (fe ). Ponieważ celem graczy jest minimalizacja właśnie
tych czasów, przy ich pomocy możemy zdefiniować równowagę dla gry tego typu.
P
Rozwiązanie dopuszczalne f nazwiemy równowagą (Wardropa) w grze, gdy dla
każdego typu i, jeśli P ∈ Π jest ścieżką łączącą si z ti , to f (P ) > 0 tylko wtedy,
gdy lP (f ) ¬ lQ (f ) dla dowolnej innej ścieżki Q, łączącej si z ti . Czyli w równowadze
wybierane są wyłacznie te ścieżki, które gwarantują najkrótszy czas przesyłu.1
Głównym problemem, jakim będziemy się zajmować na najbliższych wykładach,
zgodnie z tym co mówiłem, jest to, w jaki sposób samolubne, całkowicie niekooperacyjne zachowanie graczy, wpływa na szybkość przepływu pakietów w sieci. Intuicja jest
z pewnością taka, że to na pewno nie będzie wpływ pozytywny, i na pewno osiągnięcie
optymalnej szybkości będzie wymagało pewnej współpracy. Jeśli ktoś ma jednak ciągle
pewne wątpliwości co do tego, poniższy przykład powinien je całkowicie rozwiać. (Przy
okazji oswoją się państwo z tym nowym sposobem opisu gry i równowagi).
Przykład: To, co teraz zaprezentuję, znane jest pod nazwą paradoksu Braessa. Będzie to gra z tylko jednym typem gracza. Mamy sieć reprezentowaną przez graf o czterech
wierzchołkach: S, T , U i V i czterech ścieżkach: e1 łączy S z U, le1 (x) = x, e2 – S z V ,
le2 (x) = 1, e3 łączy U z T , le3 (x) = 1 oraz e4 – V z T z le4 (x) = x (patrz rysunek).
e1
x
U
e3
1
S
T
1
x
e4
e2
V
Przyjmijmy też, że d1 = 1. Obliczmy, jak wygląda równowaga w takiej grze. Dla
uproszczenia myślmy o dużej skończonej liczbie graczy, zamiast liczbie nieskończonej,
dzięki temu łatwiej będzie zrozumieć intuicje stojące za tak zdefiniowanym pojęciem
równowagi.
Załóżmy, że w równowadze większość graczy x1 > x2 = 1 − x1 wybiera górną drogę.
Wtedy opóźnienie tych „górnych” jest równe 1 + x1 > 1 + x2 , gdzie to drugie jest opóźnieniem, jakiego doświdczyliby, gdyby wybrali dolną drogę. W związku z tym, każdy z
nich zmieniłby swój wybór drogi na drogę „dolną”, czyli to nie jest równowaga. Podobnie możemy pokazać, że jeśli x2 > x1 , to to nie jest równowaga. Natomiast, jeśli połowa
graczy wybierze górną drogę, a połowa dolną, to żadnemu nie opłaca się zmieniać swojej
drogi, czyli równowagą jest (zgodnie z powyższym zapisem)
f (P ) =
1
dla P z S do T.
2
Teraz rozważmy grę, w której do powyższego grafu dokładamy dodatkową krawędź e5 z U
do V z le5 (x) = 0. Zdrowy rozsądek podpowiada nam, że dołożenie dodatkowej krawędzi
powinno poprawić szybkość działania sieci, zwłaszcza że przesył przez tę krawędź jest
bardzo szybki.
1
Czyli, mimo innego sposobu opisu, istota równowagi jest taka sama – tu też żaden z graczy nie będzie
chciał odstąpić od równowagi, bo to będzie dla niego oznaczało, że przerzuci część swojego ładunku na
wolniejszą drogę, dzięki czemu jego ładunek (a przynajmniej jego część) dotrze do celu później.
39
e1
x
S
1
U
e3
e5 0
1
T
x
e4
e2
V
Teraz równowagą jest
0
f (P ) =
(
1
0
dla P = {e1 , e5 , e4 }
dla dowolnego innego P
(Łatwo sprawdzić). Zauważmy jednak, że w równowadze w wyjściowej grze, f , całkowity
czas przesyłu pakietów był równy 1.5, podczas gdy w grze z dodaną krawędzią czas
przesyłu jest równy 2, czyli więcej. I to jest właśnie ten paradoks, na który zwrócił
uwagę Braess – dodanie dodatkowej krawędzi może spowolnić działanie sieci, jeśli gracze
ze sobą nie współpracują.
Uwaga 5.1 Drugą rzeczą, na którą warto zwrócić uwagę przy okazji tego przykładu,
jest to, że założenie, że graczy jest wielu2 , a nie jeden, jest istotne. Gdyby był jeden
gracz, w drugiej grze wybrałby f .
To był jeden konkretny przykład gry na sieci, w którym stosunkowo łatwo było znaleźć równowagę. Żeby móc prowadzić jakiekolwiek rozważania odnośnie tego, jak bardzo
negatywnie wpływa na szybkość działania sieci samolubne zachowanie poszczególnych
jej użytkowników, na początek musimy znaleźć narzędzia, służące do obliczania z jednej
strony równowag w grach tego typu, z drugiej – rozwiązania optymalnego.
Zaczniemy od pewnego pomocniczego wyniku, z którego będziemy korzystać dzisiaj
kilka razy. Nie jest to wynik związany bezpośrednio z teorią gier, raczej z programowaniem wypukłym.
Lemat 5.1 Niech ce : R → R będzie dla każdego e ∈ E pewną funkcją ciągłą, różniczkowalną i wypukłą. Rozważmy funkcję C zdefiniowną na zbiorze dopuszczalnych rozwiązań
naszej gry wzorem
X
ce (f (e)).
C(f ) =
e∈E
Rozwiązanie f minimalizuje C wtedy i tylko wtedy, gdy dla każdej ścieżki P z si do ti ,
spełniającej f (P ) > 0, i dowolnej innej ścieżki Q z si do ti , zachodzi
X
e∈P
c0e (fe ) ¬
X
c0e (fe ),
e∈Q
gdzie c0 (x) oznacza pochodną funkcji ce w punkcie x.
Dowód:3 ⇒: Załóżmy nie wprost, że rozwiązanie f minimalizuje C ale istnieją si , ti
oraz ścieżka z si do ti , P , taka że f (P ) > 0, dla której
X
c0e (fe ) >
X
c0e (fe )
e∈Q
e∈P
2
Założenie, że jest ich continuum jest matematycznym sformułowaniem tego, że jest ich tak wielu,
że pojedyńczy gracz nie ma wpływu na działanie sieci – wpływ może mieć dopiero większa grupa.
3
Nie było go na wykładzie.
40
dla pewnej innej ścieżki Q z si do ti (bez straty ogólności możemy założyć, że te dwie
ścieżki nie mają wspólnych krawędzi). Z definicji pochodnej istnieje zatem taki ε, 0 <
ε ¬ f (P ), że
X
X
[ce (fe ) − ce (fe − ε)] >
[ce (fe + ε) − ce (fe )].
e∈P
e∈Q
Przenosząc część wyrazów na przeciwne strony, otrzymujemy:
X
ce (fe ) +
X
ce (fe ) >
e∈P
e∈Q
e∈P
X
ce (fe − ε) +
X
ce (fe + ε).
(5.1)
e∈Q
Zauważmy teraz, że f ∗ różniące się od f tylko tym, że przepływ przez ścieżkę P jest
zmniejszony o ε, a przepływ przez Q, zwiększony o tyle samo, też jest rozwiązaniem
dopuszczalnym (przepływ z si do ti się nie zmienił), ale
C(f ∗ ) =
X
ce (fe∗ ) =
ce (fe∗ ) +
e∈P ∪Q
e∈E
<
X
X
ce (fe ) +
e∈P ∪Q
ce (f ∗ e)
X
e∈E\P ∪Q
X
ce (fe ) =
X
ce (fe ) = C(f ),
e∈E
e∈E\P ∪Q
gdzie nierówność wynika z nierówności (5.1). A to oznacza, że rozwiązanie f , wbrew
założeniu, nie minimalizowało funkcji C.
⇐: Załóżmy, że f nie minimalizuje funkcji C, ale spełnia nierówność zadaną w treści
lematu. Na początek zauważmy, że funkcja f jest wypukła. To jest istotne, bo dla funkcji
wypukłej każde minimum lokalne jest też minimum globalnym, a w związku z tym, żeby
dojść do sprzeczności, wystarczy, że pokażemy, że f jest minimum lokalnym funkcji C.
Do pokazania, że to jest minimum lokalne, wystarczy, że udowodnimy, że zmieniając
przepływ dla jednego ustalonego typu gracza i i dwóch jego ścieżek, nie jesteśmy w stanie
zmniejszyć wartości funkcji C. (Taka argumentacja nie byłaby poprawna zawsze – tutaj
możemy tak zrobić ze względu na wypukłość funkcji C oraz postać zbioru, na którym
minimalizujemy, który jest wypukłym wielościanem. Jeśli znajdziemy się na ścianie tego
wielościanu, jesteśmy w stanie, zmieniając przepływ tylko dla dwóch ścieżek, poruszać się
po jego ścianach). Załóżmy zatem, że f ∗ (jak poprzednio) oznacza rozwiązanie dopuszczalne, które różni się od rozwiązania f tylko przepływem przez ścieżki Q1 i Q2 , łączące
si z ti i daje mniejszą wartość funkcji C. Ponieważ suma wszystkich przepływów między
punktami si i ti jest stała (równa di ), to oznacza, że f (Q1 )−f ∗ (Q1 ) = f ∗ (Q2 )−f (Q2 ) = ε
(i przyjmijmy, że ε jest większy od zera). Z założenia spełniona jest następująca nierówność:
X
X
c0e (fe ).
(5.2)
c0e (fe ) ¬
e∈Q2
e∈Q1
Z drugiej strony założyliśmy, że C(f ∗ ) < C(f ). Ponieważ rozwiązania f i f ∗ różnią się
tylko na ścieżkach Q1 i Q2 , a zatem
X
X
ce (fe ) >
ce (fe∗ ).
e∈Q1 ∪Q2
e∈Q1 ∪Q2
Znowu, jak poprzednio, założymy bez straty ogólności, że ścieżki Q1 i Q2 nie mają
wspólnych krawędzi. Wtedy powyższa nierówność sprowadza się do:
X
e∈Q1
ce (fe ) +
X
e∈Q2
ce (fe ) >
X
e∈Q1
41
ce (fe∗ ) +
X
e∈Q2
ce (fe∗ ).
Przenosząc część wyrazów na przeciwne strony, otrzymujemy, że
X
e∈Q1
[ce (fe ) − ce (fe∗ )] >
X
e∈Q2
[ce (fe∗ ) − ce (fe )].
Teraz korzystając z założenia o wypukłości funkcji ce możemy lewą stronę ograniczyć z
góry przez
X
ε
c0e (fe ),
e∈Q1
a prawą z dołu przez
ε
X
c0e (fe ),
e∈Q2
tyle, że otrzymana teraz nierówność jest sprzeczna z (5.2). Mając ten lemat, możemy udowodnić twierdzenie o postaci równowagi w naszej grze.
Twierdzenie 5.1 Rozwiązanie dopuszczalne f jest równowagą Nasha, wtedy i tylko wtedy gdy minimalizuje funkcję
φ(f ) =
XZ
f (e)
e∈E 0
le (ξ)dξ,
nazywaną funkcją potencjału.
Dowód: Niech φe (x) = 0x le (η)dη. Oczywiście φ(f ) = e∈E φ(fe ). Ponieważ φe jest
funkcją górnej granicy całkowania, jest różniczkowalna, a φ0e (x) = le (x). Z założeń naszego modelu jest to funkcja rosnąca (niemalejąca), a zatem φe jest także wypukła.
Skoro tak, możemy zastosować powyższy lemat, dostając, że rozwiązanie dopuszczalne
f minimalizuje φ wtedy i tylko wtedy, gdy
R
P
X
p∈P
le (fe ) ¬
X
le (fe )
e∈Q
dla dowolnych krawędzi P i Q, łączących któreś si z ti , spełniających fP > 0. Tyle że to
jest dokładnie warunek na to, żeby f było równowagą w naszej grze. Co nam daje to twierdzenie? Z punktu widzenia praktycznego zastosowania do liczenia równowag Nasha niewiele, bo znalezienie tego minimum (a czasem nawet policzenie
tej całki, która pojawia się w definicji potencjału) może być dla bardziej skomplikowanych sieci problematyczne, natomiast dla sieci mniej skomplikowanych równowagę
Nasha da się policzyć z definicji (przez wyrównywanie czasów przesyłu różnymi ścieżkami). Istotna korzyść natomiast z tego twierdzenia będzie teoretyczna. Teoretyczna w
tym sensie, że, jak się za chwilę okaże, da nam ono możliwość porównania działania sieci,
gdy wszyscy używają strategii w równowadze, z tymi, gdy szybkość działania sieci jest
optymalna.
Jak będziemy rozumieć tutaj optymalność? To można zdefiniować różnie, i można by
sobie wyobrazić lepszą definicję (zwłaszcza w przypadku sieci tego typu, jak w rozważanym przez nas przykładzie, z jednym wierzchołkiem, z którego przesyłamy pakiety i
jednym, do którego je przesyłamy – tam najbardziej oczywistą miarą szybkości przesyłu
byłoby maksimum czasu przesyłu wszystkimi możliwymi ścieżkami), ale my będziemy
zakładać, że optymalne pod względem szybkości jest rozwiązanie f , które minimalizuje średnie opóźnienie w przesyle pakietów przez wszystkie krawędzie,
czyli
X
X
f (P )lP (f ).
fe le (fe ) =
c(f ) =
P ∈Π
e∈E
42
Niech ce (x) = xle (x). Ponieważ zakładaliśmy, że le jest ciągła i różniczkowalna, to też
będzie funkcja ciągła i różniczkowalna. Gdybyśmy mieli jeszcze wypukłość, moglibyśmy
zastosować lemat także do znalezienia rozwiązania optymalnego. Tyle że
c0e (x) = le (x) + xle0 (x),
co nie musi być rosnące, ale jest rosnące dla bardzo obszernej klasy funkcji le , w związku
z tym jest rozsądne założyć sobie, że to założenie też jest spełnione. Wtedy prawdziwe
będzie następujące twierdzenie:
Twierdzenie 5.2 Załóżmy, że le jest dla każdego e ∈ E funkcją różniczkowalną, a
ce (x) = xle (x) jest wypukła. Wtedy f minimalizuje średnie opóźnienie c, jeśli dla dowolnych ścieżek P i Q, łączących pewne si z ti , takich że f (P ) > 0, spełnione jest
X
e∈P
[le (fe ) + fe le0 (fe )] ¬
X
[le (fe ) + fe le0 (fe )].
e∈Q
Dowód jest powtórzeniem dowodu poprzedniego twierdzenia, więc nie będę go przeprowadzał. Tego twierdzenia będziemy używać przy obliczeniach, dotyczących tego, na ile
nieoptymalne (jeśli chodzi o szybkość) jest stosowanie strategii w równowadze na następnym wykładzie, korzystając z następującego natychmiastowego wniosku.
Wniosek 5.1 Jeśli spełnione są założenia powyższego twierdzenia, rozwiązanie f minimalizuje średnie opóźnienie c wtedy i tylko wtedy, gdy f jest równowagą w grze rozgrywanej na tym samym grafie (tej samej sieci), ale z czasami przesyłu przez poszczególne
krawędzie le∗ , zdefiniowanymi wzorem le∗ (x) = le (x) + xle0 (x).
5.2
Price of anarchy
Na dzisiejszym wykładzie spróbujemy określić w sposób ilościowy to, w jakim stopniu
egoistyczne zachowanie poszczególnych użytkowników sieci spowalnia jej działanie. Zaczniemy od najprostszego przykładu sieci. Potem przejdziemy do przypadku bardziej
skomplikowanego, i okaże się, że tamten przypadek da się sprowadzić do tego najprostszego.
Rozważmy sieć, w której są dwa wierzchołki, połączone dwiema krawędziami. Mamy
jeden typ graczy - przesyłających z wierzchołka S do wierzchołka T . Górna krawędź,
e1 , ma czas przesyłu le1 (x) = ax (dla pewnej stałej dodatniej a). Dolna krawędź ma
opóźnienie le2 ≡ 1. Przyjmijmy, że chcemy przesłać ładunek d. (Patrz rysunek).
ax
e1
S
T
1
e2
Na początek obliczmy, jaka jest równowaga w tym przypadku. Z definicji, równowagą będzie sytuacja, gdy opóźnienie przesyłu wszystkimi krawędziami, którymi jest coś
przesyłane, jest takie samo, i mniejsze niż opóźnienie na każdej innej krawędzi łączącej
S z T . W związku z tym równowagą będzie
frown (P ) = d jeśli P = e1 ,
43
jeśli tylko d ¬ a1 (wtedy opóźnienie dowolnego ładunku przesłanego dolną krawędzią byłoby równe 1, czyli więcej niż opóźnienie, jeśli wszystko prześlemy górą). W przeciwnym
wypadku
(
1
jeśli P = e1
frown (P ) = a 1
.
d− a
jeśli P = e2
(W takim wypadku, żeby znaleźć równowagę, musimy znaleźć przepływ górną krawędzią
x, taki że opóźnienia na górnej i dolnej krawędzi się wyrównają, czyli rozwiązać równanie
ax = 1 (przepływ dołem jest równy d − x)).
Teraz policzmy optymalny przepływ. Sposób liczenia jego wynika z twierdzenia z
ostatniego wykładu (a dokładniej – z wniosku do tego twierdzenia). Mianowicie tam
pokazaliśmy, że optymalny przepływ jest równowagą w grze z czasami przesyłu przez
poszczególne krawędzie le∗1 (x) = le1 (x) + xle0 1 (x) = 2ax oraz le∗2 (x) = le2 (x) + xle0 2 (x) = 1.
Czyli optymalnym przepływem jest
fopt (P ) = d jeśli P = e1 ,
jeśli d ¬
1
.
2a
W przeciwnym przypadku
fopt (P ) =
(
1
2a
d−
jeśli P = e1
.
jeśli P = e2
1
2a
Na początku wykładu mówiłem, że będziemy chcieli określić liczbowo wpływ egoistycznego zachowania użytkowników na szybkość działania sieci. Ponieważ przez optymalne rozwiązanie rozumiemy takie, które minimalizuje średni przepływ na krawędż,
czyli (przypominam z ostatniego wykładu)
c(f ) =
X
fe le (fe ),
e∈E
więc naturalnym wskaźnikiem optymalności wydaje się wielkość
max
d
c(frown )
.
c(fopt )
Tę wielkość nazywamy Price of anarchy dla tej sieci. W naszym prostym przypadku
jest ona równa
max
(
max
1 1
1
d∈[ 2a , a ] 4a
ad2
+d−
1
2a
, max
1
d> a
1
a
1
4a
+d−
+d−
1
a
1
2a
)
4
= .
3
1
(Funkcja znajdująca się pod pierwszym maksimum jest na przedziale [ a1 , 2a
] rosnąca
2d(d−
1
)−d2
1
(pochodna z tego wyrażenia jest równa (d−4a1 )2 ­ 0 dla d ­ 2a
), z kolei wyrażenie pod
4a
a
drugim maksimum jest równe 1 + 4d−a , co jest oczywiście malejące, a zatem maksimum
jest osiągnięte dla d = a1 . Łatwo policzyć, że jest równe 43 ).
W podobny sposób (także przez przyrównanie wartości przepływów dolną i górną
krawędzią) możemy znaleźć Price of anarchy dla podobnej sieci, tyle że z dowolnym
czasem przesyłu przez górną krawędź, spełniającym założenia potrzebne do zastosowania
twierdzenia z ostatniego wykładu, czyli le1 różniczkowalnym, oraz xle1 (x) wypukłym,
oraz dowolnym stałym czasem przesyłu przez dolną krawędź. W zależności od tego,
jakie będą te wartości, wynik może być różny. Istotne jest jednak to, że w zasadzie dla
każdej konkretnej funkcji le1 jest to łatwe do policzenia.
Co się jednak okazuje – przy pewnych założeniach właśnie takie proste przypadki
będą dla nas najbardziej interesujące. Prawdziwe jest bowiem takie twierdzenie:
44
Twierdzenie 5.3 (Roughgarden) Ograniczeniem górnym na Price of anarchy w dowolnej sieci takiej, że lei są różniczkowalne, oraz xlei (x) – wypukłe dla każdej krawędzi
należącej do tej sieci, jest Price of anarchy dla sieci złożonej z dwóch równoległych krawędzi, z których jedna ma opóźnienie stałe, a druga opóźnienie równe lei , dla którejś z
krawędzi ei tej sieci.
Dowód (Tardos): Narysujmy sobie dowolny graf G.
Niech graf G oznacza naszą sieć, i niech f oznacza rozwiązanie w równowadze dla tej
sieci przy pewnych ustalonych przepływach graczy. Rozważmy teraz sieć reprezentowaną
przez graf G0 o tych samych wierzchołkach, ale ze zduplikowanymi krawędziami (patrz
rysunek, łuki oznaczają „kopie” krawędzi oryginalnego grafu).
Dla dowolnej krawędzi e grafu G, opóźnienie dla jej kopii, e0 definiujemy wzorem le0 (x) =
le (fe ) (to opóźnienie jest stałe).
Zauważmy teraz, że f jest dalej równowagą w nowej grze, bo puszczenie dowolnego
niezerowego przepływu ścieżką zawierającą e0 dawałoby na niej opóźnienie nie mniejsze
niż opóźnienie dla tej samej ścieżki, tyle że z e0 zamienionym na e. Z kolei każda ścieżka,
którą nic nie płynie w rozwiązaniu f , musi mieć w grze z grafem G0 czas przesyłu większy
niż ścieżki wykorzystane przez f – inaczej f nie byłoby równowagą w wyjściowej grze
G.
Zastanówmy się teraz, jak wygląda optymalne rozwiązanie. Zgodnie z twierdzeniem z
ostatniego wykładu optymalne rozwiązanie jest równowagą dla gry G0 z czasami przesyłu
przez poszczególne krawędzie równymi le∗ (x) = le (x) + xle0 (x). W przypadku grafu G0 to
oznacza, że dla dowolnej „starej” krawędzi e, le∗ (x) = le (x)+xle0 (x), a dla odpowiadającej
jej „nowej” krawędzi, le∗0 (x) = le0 (x) + 0 = le (fe ). Jeśli teraz wyrównamy opóźnienia na
krawędziach e i e0 , otrzymamy rozwiązanie dopuszczalne f ∗ , mające na dowolnej parze
krawędzi e i e0 czas przesyłu równy le (fe ), czyli taki, jak w przypadku równowagi Nasha
w wyjściowej grze. A ponieważ f było równowagą w wyjściowej grze, więc żaden z graczy
nie może przyspieszyć przesyłu swoich pakietów przez zamianę ścieżki, którą one idą, a
więc f ∗ jest równowagą w grze na grafie G0 i ze zmodyfikowanymi czasami przesyłu (a
w konsekwencji rozwiązaniem optymalnym w grze G0 ).
Wracamy teraz do naszego wyjściowego problemu.
cG0 (frown )
f (e)le (fe )
cG (frown )
e∈E f (e)le (fe )
¬
=P
¬ max ∗
,
∗
∗
∗
e∈E f le (f ∗ ) + f ∗0 le (fe )
cG (fopt )
cG0 (fopt )
e∈E [fe le (fe ) + fe0 le (fe )]
e
e
e
P
tyle że to jest stosunek kosztów równowagi oraz optymalnego rozwiązania dla grafu z
dwiema krawędziami, o czasach przesyłu le oraz const = le (fe ) i przepływie d = fe .
45
Jeśli nałożymy na obie strony maksimum po przepływach d = (d1 , . . . , dk ), dostaniemy
nierówność zadaną w twierdzeniu. Teraz, żeby pokazać, jak można stosować powyższe twierdzenie, powróćmy do sytuacji dowolnej sieci z liniowymi czasami przesyłu przez poszczególne krawędzie. Liniowymi, tzn. le (x) = ae x + be dla dowolnej krawędzi e. Zgodnie z powyższym twierdzeniem, żeby znaleźć ograniczenie górne na Price of anarchy dla takiej sieci, wystarczy,
że znajdziemy supremum z Price of anarchy dla sieci o dwóch wierzchołkach i dwóch
krawędziach, łączących te dwie krawędzie, takich że czas przesyłu górną krawędzią jest
liniowy, a czas przesyłu dolną – stały (patrz rysunek).
ax + b
S
T
1
Zauważmy jednak, że powyższa sieć jest równoważna (w tym sensie, że czas przesyłu
dowolną ścieżką z S do T w tej sieci jest taki sam jak w sieci wyjściowej), następującej
sieci:
ax
b
S
T
1
Z twierdzenia Roughgardena wynika jednak, że Price of anarchy dla tej sieci jest ograniczone z góry przez Price of anarchy dla jednej z dwóch sieci:
ax
b
1
1
W pierwszej sieci (jak widać) przepływ górą jest równy ax, w drugiej – przepływ
górą jest równy b = const. Przypadek z przesyłem b ma Price of anarchy równą 1.
Drugi przypadek już rozważaliśmy, i tam Price of anarchy jest równe 34 , więc to jest
ograniczenie górne Price of anarchy dla sieci z liniowymi czasami przesyłu.
Ten wynik wydaje się być optymistyczny. Niestety, jak pokażę na kończącym ten wykład przykładzie, jeśli założymy, że czasy przesyłu są dowolnymi wielomianami, (nawet
spełniającymi założenia twierdzenia Roughgardena), opóźnienie związane z samolubnym
postępowaniem graczy może być dowolnie duże. Rozważmy sieć z dwoma wierzchołkami
i dwiema krawędziami, łączącymi te dwa wierzchołki. Niech czas przesyłu przez górną
krawędź będzie równy xn , a czas przesyłu przez dolną 1. Załóżmy, że przesyłamy d = 1
z S do T .
xn
S
T
1
46
Standardową metodą możemy obliczyć równowagę Nasha w tej grze, a także rozwiązanie
optymalne (ich obliczenie będzie jednym z zadań na 5. liście). Równowagą będzie
f (P ) =
(
1
0
dla górnej krawędzi
.
dla dolnej krawędzi
Z kolei rozwiązanie optymalne będzie wyglądało następująco:
∗
f (P ) =
 



1
n+1
1−
1
dla górnej krawędzi
n
1
n+1
1
.
dla dolnej krawędzi
n
A stąd Price of anarchy dla tej sieci jest ograniczone z dołu przez
c(f )
=
c(f ∗ )
Ale
1
1
n+1
+1−
1
1
n+1
1
.
n
n
1
1
1
[H]
= lim − ln(n + 1) = lim −
= 0,
lim ln
n→∞
n→∞
n→∞
n+1
n
n+1
a więc wyrażenie w mianowniku dolnego ograniczenia Price of anarchy także dąży do
zera, co oznacza, że dla odpowiednio dużego n Price of anarchy w sieci z czasami przesyłu
przez poszczególne krawędzie, będącymi wielomianami stopnia n, może być dowolnie
duża.
Ten ostatni wynik sugerowałby, że w rzeczywistych sieciach powinno co rusz dochodzić do potężnych zakorkowań. Dlaczego tak się nie dzieje, na następnym wykładzie.
5.3
Tworzenie sieci jako gra
Na ostatnim wykładzie z pewną przesadą zapowiedziałem, że dziś opowiem o tym, dlaczego w rzeczywistych sieciach nie występuje tak duży problem z nieefektywnością ich
działania. W rzeczywistości dzisiaj opowiem o pewnych prostych modelach tworzenia się
sieci jako grach i pokażę, że w tych modelach albo nie ma tak dużego problemu z nieefektywnością spowodowaną przez niekooperacyjne działania poszczególnych uczestników
gry albo o tym, co w teorii można zrobić, żeby w jakiś sposób te problemy ograniczyć.
Nie będzie natomiast mowy o zakorkowaniu sieci z powodu przesyłania nadmiernego
ładunku.
Na wykładzie ograniczymy się do dwóch modeli znanych w literaturze jako Local
Connection Game i Global Connection Game. Ta „lokalność” lub „globalność” tych
gier będzie polegała na tym, że w pierwszej gracze będą mieli wpływ na powstawanie
połączeń bezpośrednio pomiędzy własnym węzłem w sieci a innymi węzłami, natomiast
w drugiej mogą mieć wpływ na powstawanie dowolnych fragmentów sieci, jeśli tylko te
fragmenty są im do czegoś potrzebne. W ten sposób o pierwszej można myśleć jako o
modelu powstawania połączeń pomiędzy małymi, lokalnymi sieciami, lub tworzenia się
sieci P2P, natomiast o drugiej jako o modelu powstawania „dużych” sieci. Zaczniemy od
sformalizowania pierwszego modelu, w którym gracze mogą tworzyć jedynie połączenia
bezpośrednio pomiędzy sobą.
47
Local Connection Game
1. Zbiorem graczy jest zbiór wierzchołków (w domyśle wierzchołków grafu, opisującego sieć, którą chcemy stworzyć), V . (Liczbę tych wierzchołków będziemy oznaczali
przez n).
2. Strategiami gracza v ∈ V są wszystkie możliwe krawędzie (a właściwie wszystkie
podzbiory zbioru krawędzi), łączące v z jakimś innym wierzchołkiem. Jeśli gracz
v zdecyduje się na wybudowanie połączeń z trzema innymi wierzchołkami, dajmy
na to u1 , u2 i u3 , czyli wybudowanie krawędzi evu1 , evu2 , evu3 , to będziemy pisali,
że strategią gracza v jest Sv = {evu1 , evu2 , evu3 }. Oczywiście, jeśli gracze stosują
strategie S = (Sv1 , Sv2 , . . . , Svn ), to sieć, która powstanie w wyniku ich działań
S
będzie postaci G(S) = v∈V Sv .
3. Ponieważ graczy budujących sieć interesują dwie sprawy – koszt budowy oraz
szybkość kontaktu z innymi użytkownikami sieci, kosztami (tutaj znowu raczej
będziemy mówić o koszcie – nie wypłacie) graczy w naszej grze będą sumy tych
dwóch składników:
X
cv (S) = |Sv |α +
d(u, v),
u6=v
gdzie α będzie kosztem wybudowania pojedynczej krawędzi, a d(u, v) – odległością
pomiędzy wierzchołkami (oczywiście liczoną jako najkrótsza ścieżka w grafie je
łącząca)4 .
Jak poprzednio, nas będzie interesowało: po pierwsze, jaka sieć tutaj powstanie,
po drugie – jak to, co powstanie będzie się miało do tego, co będzie najkorzystniejsze z
punktu widzenia społeczności. Zanim do tego przejdziemy, musimy zdefiniować, co będzie
oznaczało „najlepsza dla społeczności”, czyli co chcemy optymalizować. Otóż naturalną
miarą tutaj będzie zapewne suma kosztów, które musi ponieść cała społeczność plus
suma czasów przesyłu między dowolnymi dwoma wierzchołkami grafu, czyli:
c(S) =
[
v∈V
X
d(u, v)
Sv α +
u6=v
Oczywiście tutaj, jak poprzednio, jakość rozwiązania będziemy określać, dzieląc przez
siebie koszt danego rozwiązania i koszt optymalny. Na poprzednich zajęciach, kiedy
mówiłem o grach na sieciach, taki stosunek kosztów, gdy porównujemy równowagę z
rozwiązaniem optymalnym, nazywałem Price of anarchy. Tutaj będę stosował dwa alternatywne pojęcia: Price of anarchy i Price of stability – oba będą oznaczały niby to
samo, ale jednak coś innego. Price of anarchy będziemy nazywali najgorszy możliwy
stosunek pomiędzy kosztem równowagi i kosztem optymalnym, Price of stability będzie
najlepszym możliwym stosunkiem. Najgorszym i najlepszym, bo ta gra (jak większość
gier) może mieć wiele równowag, znacząco różniących się kosztami (w przypadku gier
na sieciach nie wprowadzałem pojęcia Price of stability, bo tam, nawet jeśli gra miałaby
kilka równowag, koszt dla tych równowag jest zawsze taki sam). Oczywiście Price of
anarchy jest pojęciem dużo bardziej naturalnym – mówi nam o tym, co się stanie, jeśli
4
Oczywiście tu pojawia się kilka uproszczeń: po pierwsze ani koszt wybudowania każdego połączenia
ani odległość pomiędzy węzłami w rzeczywistości nie są stałe. Podobnie suma pierwszego (związanego z
opłatą za stworzenie sieci) i drugiego (wziązanego z szybkością przesyłu) składnika nie musi być brana
jeden do jednego, ale w naszym uproszczonym modelu dla nas tak jest najwygodniej.
48
pozwolimy graczom działać, jak im się podoba (wtedy zapewne po jakimś czasie gra
ustabilizuje się w którejś z równowag. Której – nie wiemy). Sens rozpatrywania Price of
stability jest taki, że wprowadzając pewne dodatkowe zasady prowadzenia gry (w przypadku gier, w których rzeczywistymi graczami nie są ludzie, tylko maszyny – o takiej
grze można by myśleć w przypadku tworzenia sieci P2P – takie zasady mogą narzucać
wykorzystywane protokoły), możemy wpływać na graczy, wymuszając granie pewnej
konkretnej równowagi. Jeśli doprowadzimy do tego, że zaczną grać zgodnie z tą równowagą, to żaden nie będzie miał interesu w zmianie swojego postępowania, i uzyskamy
stabilność, przewidywalność gry.
Rozważania o tym, jakie są wartości tych wielkości w naszej grze, zaczniemy od Price
of stability, a właściwie od zauważenia, że istnieją pewne łatwe do zidentyfikowania
równowagi w tej grze.
Twierdzenie 5.4 Każdy układ strategii, w wyniku którego powstaje gwiazda (graf, w
którym każdy wierzchołek poza jednym jest połączony bezpośrednio wyłącznie z tym jednym wyróżnionym wierzchołkiem) jest równowagą w Local Connection Game dla α ­ 1.
Dla α < 1 każdy układ strategii, w wyniku którego powstaje graf pełny, jest równowagą
w Local Connection Game.
Dowód: Dowód dla α ­ 1 przeprowadzimy dla przypadku, gdy jeden z graczy (ten
w centrum gwiazdy, oznaczmy go v0 ) płaci za wszystkie krawędzie. W każdym innym
przypadku będzie wyglądał podobnie. Zauważmy, że w gwieździe odległość między każdymi dwoma graczami jest ¬ 2. Jeśli któryś z graczy chciałby odstąpić od równowagi,
to musiałby:
1. Zrezygnować z jakiejś krawędzi, jeśli jest graczem v0 . To jednak wiązałoby się z
odłączeniem jedynego połączenia z którymś z pozostałych węzłów, czyli powiększeniem kosztu gracza v0 do ∞ (bo jednym ze składników kosztu jest suma odległości
do wszystkich innych węzłów w sieci).
2. Dokupić jakieś krawędzi, jeśli jest którymś z pozostałych graczy. Dokupienie każdej krawędzi zmniejszy jednak jego odległość tylko do jednego gracza, zmniejszając
koszt o jeden; jednocześnie zwiększy koszt o α ­ 1, więc nie opłaca mu się dokupywać żadnej krawędzi.
Dla α < 1 odstąpienie od strategii generującej graf pełny przez któregokolwiek z
graczy musiałoby oznaczać, że rezygnuje z bezpośredniego połączenia z którymś z pozostałych. Wtedy jednak zwiększy koszt o 1 na każdej z krawędzi, z których kupowania
zrezygnował, jednocześnie zmniejszając o α < 1. Kolejne twierdzenie będzie mówić o tym, co będzie rozwiązaniem optymalnym w
naszej grze.
Twierdzenie 5.5 Rozwiązaniem optymalnym w Local Connection Game dla α ­ 2 jest
dowolny układ strategii, w wyniku którego tworzy się gwiazda. Rozwiązaniem optymalnym
dla α < 2 jest układ strategii, w wyniku którego powstaje graf pełny.
Dowód: Dla optymalnego rozwiązania liczba krawędzi powstałego grafu m musi spełniać m ­ n − 1 (inaczej któreś dwa wierzchołki nie będą ze sobą połączone i c będzie
, bo tyle krawędzi jest w grafie pełnym.
nieskończone). Z drugiej strony m ¬ n(n−1)
2
49
Oczywiście, jeśli graf ma m krawędzi, to tylko 2m par (uporządkowanych)5 wierzchołków może być połączonych ze sobą bezpośrednio, pozostałe muszą być między sobą
odległe o co najmniej 2, czyli jeśli strategia S generuje graf z m krawędziami, to jej koszt
wynosi co najmniej
αm + [2m + 2(n(n − 1) − 2m)] = (α − 2)m + 2n(n − 1)
i dokładnie tyle zarówno dla gwiazdy, jak i pełnego grafu. Żeby teraz ten koszt zminimalizować, musimy dla α ­ 2 wziąć m najmniejsze z możliwych, czyli n − 1 (gwiazda),
(graf pełny). a dla α < 2, m największe możliwe, czyli n(n−1)
2
Korzystająć z tych dwóch twierdzeń, możemy teraz ograniczyć Price of stability.
Twierdzenie 5.6 Price of stability w Local Connection Game jest dla α < 1 oraz α ­ 2
równa 1. Dla pozostalych wartości α jest nie większa od 34 .
Dowód: Pierwsza część jest oczywista (równowaga Nasha jest w tych przedziałach rozwiązaniem optymalnym, więc Price of stability musi być równe 1). Jeśli chodzi o drugą
część, to sprowadza się ona do policzenia kosztu dla Nasha i rozwiązania optymalnego6 :
c(SN ash )
(n − 1)(α − 2) + 2n(n − 1)
2n + α − 2
= n(n−1)
=
.
c(SOpt )
n( α2 + 1)
(α − 2) + 2n(n − 1)
2
4
Nietrudno zauważyć, że otrzymana wartość rośnie wraz ze wzrostem n do α+2
, a to dla
4
α ∈ [1, 2) jest ograniczone z góry przez 3 (wartość dla α = 1). Ale ponieważ stosunek
kosztu dowolnej równowagi Nasha i kosztu rozwiązania optymalnego ogranicza z góry
Price of stability, takie jest też ograniczenie tej ostatniej. Co w takim razie z Price of anarchy? Czy też jest taka nieduża? Otóż, jakkolwiek
Local Connection Game może mieć wiele równowag, to Price of anarchy da się ograniczyć. Ograniczenie nie będzie takie precyzyjne, ale dla nas zadowalające. Nie ma w nim
bowiem zależności od wielkości grafu ani liczby graczy, a jedynie od ceny pojedynczej
krawędzi w grafie7 .
√
Twierdzenie 5.7 Price of anarchy dla Local Connection Game jest co najwyżej O( α).
Szkic dowodu: Dowód tego twierdzenia można podzielić na dwie części:
1. W pierwszej pokazujemy, że jeśli jakiś układ strategii generuje graf, w którym
√
maksymalna odległość między wierzchołkami jest większa od 2 α, to to nie może
być równowaga: Zakładamy nie wprost,
że odległość między wierzchołkami u i v
√
jest większa bądź równa 2k > 2 α. Wtedy graczowi u (lub v) opłaca się kupić
krawędź, łączącą go bezpośrednio z v, bo to wiąże się z dodatkowym kosztem α, ale
jednocześnie zmniejsza odległość v do wszystkich węzłów leżących na najkrótszej
ścieżce z u do v, ale bliżej u niż v (w sumie) o (2k −1) + (2k −3) + . . . + 1 = k 2 > α.
5
Tutaj piszemy o parach uporządkowanych, bo w definicji kosztu c odległość pomiędzy dowolnymi
dwoma wierzchołkami (graczami) u i v występuje dwa razy – raz jako d(u, v) i raz jako d(v, u)
6
w koszcie grafu pełnego wziąłem n(n − 1), stąd prawidłowy wynik
Na wykładzie zamiast n(n−1)
2
nie chciał wyjść.
7
Oczywiście nie jest to model, w którym byłyby uwzględnione opóźnienia proporcjonalne do przesyłanych ładunków, więc trudno mówić o tym, że taki rezultat tłumaczy to, że sieci tworzone przez
egoistycznych graczy będą działały dobrze, ale sugeruje wyraźnie, że jeśli tworzący sieć biorą pod uwagę jednocześnie koszt jej budowy i szybkość jej działania, to w ostatecznym rozrachunku strata szybkości
z powodu ich nieefektywnego działania nie jest duża.
50
2. Następnie liczymy, że koszt dla układu strategii w równowadze, które generują
graf, w którym największa odległość między wierzchołkami wynosi D, jest co najwyżej O(D) razy większy niż koszt rozwiązania optymalnego: Koszt rozwiązania
optymalnego (który już raz liczyliśmy) jest zawsze Ω(αn + n2 ). Dla równowagi,
zgodnie z założeniem, suma odległości pomiędzy dowolnymi wierzchołkami jest
równa co najwyżej n(n − 1)D. Pozostaje nam ograniczenie kosztu zakupu krawędzi. Dla dowolnego grafu o n wierzchołkach, krawędzi, których usunięcie (każdej
oddzielnie) powoduje, że graf przestaje być spójny jest co najwyżej n − 1 (czyli
koszt ich zakupu jest równy co najwyżej α(n − 1)). Można pokazać, że graf genero) pozostałych krawędzi (co kosztuje O(nD)). Po
wany przez równowagę ma O( nD
α
zsumowaniu dostajemy, że całkowity koszt grafu generowanego przez równowagę
jest O(αn + n2 ). Teraz przejdźmy do gry, która miałaby modelować bardziej rozległe sieci:
Global Connection Game
1. Mamy graf G = (V, E) z zadanymi nieujemnymi kosztami utrzymania (można
myśleć o nich jako o kosztach, które gracze muszą ponieść, żeby zapewnić sobie
przesył przez daną krawędź o zadanej szybkości) poszczególnych krawędzi ce (to
stałe, choć równie dobrze moglibyśmy rozpatrywać funkcje).
2. Jest k graczy, gracz i opisywany przez parę wierzchołków si , ti , pomiędzy którymi
chce przesyłać informacje8 .
3. Możliwymi strategiami gracza i są wszystkie ścieżki z si do ti . Wybierając ścieżkę P
gracz zobowiązuje się partycypować w utrzymywaniu wszystkich jej krawędzi. Jak
poprzednio, w wyniku wyboru strategii ustalany jest rzeczywisty graf (rzeczywista
sieć), który zostanie wybudowany jako suma wszystkich ścieżek wybranych przez
graczy.
4. Zakładamy, że za każdą wybudowaną krawędź gracze płacący za jej utrzymanie
płaci po równo, a stąd koszt, jaki ponosi gracz i, jeśli gracze używają strategii
S = (S1 , . . . , Sk ), jest równy
X ce
,
ci (S) =
e∈Si ke
gdzie ke oznacza liczbę graczy, których strategia zawiera krawędź e.
Jak poprzednio, będziemy chcieli określić, na ile nieefektywny będzie wynik tej gry
przez to, że gracze ze sobą nie współpracują. Tutaj za najbardziej pożądany rezultat
będziemy uznawali powstanie najtańszej sieci, która wszystkim graczom zapewni przesył
na założonym poziomie. Minimalizować będziemy więc następujący koszt:
c(S) =
X
ce .
S
e∈
S
i¬k i
Nietrudno zauważyć, że to jest dokładnie suma kosztów poszczególnych graczy.
Taka gra (jak poprzednia) może mieć wiele równowag – ma więc sens mówienie i o
Price of anarchy i o Price of stability. Jak poprzednio zaczynamy od tej drugiej.
8
Tym razem i to jeden gracz, a nie nieskończenie wielu, jak w przypadku wcześniej omawianych gier
na sieciach, w związku z czym może się zdarzyć, że kilku graczy będzie miało te same si i ti
51
Na pierwszy rzut oka widać podobieństwo między tą grą a grami z poprzednich
wykładów. Okazuje się, że to podobieństwo nie ogranicza się do podobnego opisu – ten
sam jest bowiem sposób liczenia równowagi. Mianowicie, jeśli rozważymy funkcję
Φ(S) :=
X
e∈E
ce Hke ,
1
gdzie Hm = m
i=1 i (oczywiście jeśli k = 0, to cała suma będzie równa zero), to prawdziwe jest takie twierdzenie:
P
Twierdzenie 5.8
Φ(S) − Φ(S 0 ) = ci (S) − ci (S 0 )
dla dowolnych S = (S1 , . . . , Sk ) i S 0 = (S10 , . . . , Sk0 ) różniących się tylko strategią i-tego
gracza.
Dowód: Zmiana strategii gracza i może polegać na tym, że rezygnuje z korzystania
z pewnych krawędzi lub zaczyna pewnych krawędzi używać. Poniższy dowód będzie
dotyczył najprostszego przypadku, gdy chodzi o jedną krawędź. To jednak nie ogranicza
jego ogólności, jednocześnie upraszczając zapis.
Jeśli gracz, zmieniając strategię z S na S 0 , przestaje używać krawędzi e, to płaci o kcee
mniej za strategię S 0 , a to jest dokładnie ce Hke −ce Hke −1 = Φ(S)−Φ(S 0 ). Podobnie, jeśli
e
= ce Hke +1 − ce Hke więcej, co też jest zmianą
zaczyna używać krawędzi e, płaci o kec+1
funkcji Φ. Zauważmy teraz, że znalezienie minimum globalnego funkcji Φ będzie równoważne
znalezieniu (pewnej) równowagi Nasha dla tej gry. Dlaczego? Zgodnie z dopiero co udowodnionym twierdzeniem, jeśli S będzie minimum Φ, to dowolny gracz i, zmieniając
swoją strategię na inną, zwiększy swój koszt (bo zwiększy wartość Φ), a więc nie będzie
mu się opłacało nic zmieniać, czyli to jest równowaga.9
Możemy teraz wykorzystać to, że znamy potencjał dla naszej gry, do ograniczenia
Price of stability.
Twierdzenie 5.9 Price of stability dla Global Connection Game jest ograniczona z góry
przez Hk (Gdzie k jest liczbą graczy).
Dowód: Zacznijmy od zauważenia, że dla dowolnego układu strategii graczy S zachodzą
nierówności:
c(S) ¬ Φ(S) ¬ Hk c(S)
(5.3)
(to wynika błyskawicznie z definicji c i Φ).
Teraz możemy przejść do zasadniczej części dowodu. Pokażemy, że jeśli SN jest równowagą Nasha, która minimalizuje potencjał Φ, a SOpt jest układem strategii, minimalizującym koszt c, to c(SN ) ¬ Hk c(SOpt ). Zacznijmy od zapisania lewej nierówności (5.3)
dla SN :
c(SN ) ¬ Φ(SN ).
Ponieważ SN minimalizuje Φ, to
c(SOpt) ­ c(SN ),
9
Jeśli przypomnijmy sobie twierdzenie z pierwszego wykładu o grach na sieciach, to tam też występowała funkcja, która miała minimum w równowadze. Tam taką funkcję nazywałem potencjałem gry.
Tu też ją będę tak nazywał. Wiele innych gier na grafach będzie można opisać przy pomocy potencjału,
i dla każdej z nich jakąś równowagę Nasha będzie można znaleźć, minimalizując tę funkcję.
52
z kolei druga z nierówności (5.3), zastosowana do SOpt to
Φ(SOpt ) ¬ Hk c(SOpt),
co w połączeniu z dwiema poprzednimi daje nierówność, którą mieliśmy udowodnić. W przypadku Price of anarchy prawdziwe jest następujące oszacowanie:
Twierdzenie 5.10 Price of anarchy dla Global Connection Game jest nie większa niż
k.
Dowód: Zakładamy, że to ograniczenie nie jest prawdziwe, czyli że istnieje równowaga
Nasha w tej grze, SN ash , dla której c(SN ash ) > kc(SOpt ). Ponieważ c jest sumą kosztów
poszczególnych graczy, to zgodnie z zasadą szufladkową musi istnieć gracz i, dla którego
ci (SN ash ) > c(SOpt). Niech teraz ten właśnie gracz i zmieni swoją strategię na strategię
Si,Opt 10 . (Niech ten nowy układ strategii będzie się nazywał S ∗ ). Wtedy, ponieważ koszty
wszystkich graczy są nieujemne, to
ci (S ∗ ) ¬
X
cj (SOpt ) = c(SOpt ) < ci (SN ash ),
j¬k
czyli graczowi i opłaca się zmienić swoją strategię, a więc wbrew założeniu SN ash nie
jest równowagą Nasha. To, co jest najbardziej budujące w obu powyższych twierdzeniach, to to, że zarówno
Price of anarchy jak i Price of stability zależy wyłącznie od liczby podmiotów finansujących sieć, nie zależy natomiast od wielkości samej sieci, czyli sieć budowana przez
niewielką liczbę partnerów, nawet jeśli obejmuje cały świat, będzie wybudowana dosyć
efektywnie.
10
swoją składową SOpt
53