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