Load balancing games Marcin Witkowski Uniwersytet im. Adama Mickiewicza w Poznaniu 11 grudnia 2010 1 / 34
Szeregowanie zadań Przyporządkowanie zbioru zadań do zbioru maszyn, w ten sposób, aby obciążenie wśród maszyn było rozłożone możliwie równomiernie. Oznaczenia: n zadań J = {J 1, J 2,..., J n } = [n], m maszyn M = {M 1, M 2,..., M m } = [m], wektor czasów wykonywania p i = [p i1, p i2,..., p im ] T, całkowitego obciążenia maszyny l k. 2 / 34
Szeregowanie zadań Naszym celem będzie minimalizacja kryterium długości uszeregowania: Możliwe warianty: maszyny identyczne max k=1,...,m l k w i - wielkość zadania J i - czas jego wykonywania na najwolniejszej z maszyn. 3 / 34
Szeregowanie zadań Naszym celem będzie minimalizacja kryterium długości uszeregowania: Możliwe warianty: maszyny identyczne maszyny jednorodne max k=1,...,m l k w i - wielkość zadania J i - czas jego wykonywania na najwolniejszej z maszyn. 3 / 34
Szeregowanie zadań Naszym celem będzie minimalizacja kryterium długości uszeregowania: Możliwe warianty: maszyny identyczne maszyny jednorodne maszyny dowolne max k=1,...,m l k w i - wielkość zadania J i - czas jego wykonywania na najwolniejszej z maszyn. 3 / 34
4 / 34 Przykład
Teoria Gier Teoria gier to dział matematyki zajmujący się badaniem optymalnego zachowania w przypadku konfliktu interesów [Wikipedia]. W naszych rozważaniach będziemy zakładać, że: gracze dokonują samolubnych wyborów (zależy im jedynie na optymalizowaniu własnego kosztu) 5 / 34
Teoria Gier Teoria gier to dział matematyki zajmujący się badaniem optymalnego zachowania w przypadku konfliktu interesów [Wikipedia]. W naszych rozważaniach będziemy zakładać, że: gracze dokonują samolubnych wyborów (zależy im jedynie na optymalizowaniu własnego kosztu) gracze podejmują racjonalne wybory (nie wybierając ruchów pogarszających ich funkcję kosztu) 5 / 34
Teoria Gier Definicja (Gra strategiczna) Trójkę G =< N, (A i ), ( i ) > nazywamy grą strategiczną, gdzie: N - skończony zbiór graczy A i - zdefiniowany dla każdego gracza i N niepusty zbiór akcji, które może wykonać gracz i i - zdefiniowana dla każdego gracza i N relacja słabego porządku na zbiorze A = i N A i Wektor decyzji graczy nazwiemy profilem akcji graczy. 6 / 34
Teoria Gier Preferencje graczy będą modelowane przez funkcję kosztu U : A R, gdzie x y wtedy i tylko wtedy gdy U(x) U(y). W takim wypadku zamiast < N, (A i ), ( i ) > możemy zdefiniować grę jako < N, (A i ), (u i ) >. Kosztem socjalnym gry nazywamy miarę jakości rozwiązania z punktu widzenia użytkownika spoza systemu. W naszym przypadku będzie to całkowita długość uszeregowania. 7 / 34
Równowaga Nasha (NE) Definicja (Nash 1950) Gra osiąga stan równowagi Nasha jeżeli żaden z graczy i nie może zmienić wybranej akcji ai, tak aby poprawić wartość własnej funkcji kosztu pod warunkiem, że każdy inny gracz j wybierze swoją akcję aj. Inaczej mówiąc nawet gdyby gracz i znał wcześniej decyzje swoich przeciwników to nie zmieniłby swojej decyzji (przy racjonalnych zachowaniach graczy). Uwaga Jako stan równowagi uważamy wektor wyborów każdego z graczy spełniający powyższe warunki. 8 / 34
Silna równowaga (SE) Definicja (Aumann 1959) Gra osiąga stan silnej równowagi jeżeli nie można wybrać podzbioru zbioru graczy (koalicji) takiego, że w wyniku zmiany ich ruchów każdy z graczy z koalicji poprawi swoją wartość funkcji kosztu. Uwaga Jako stan silnej równowagi uważamy wektor wyborów każdego z graczy spełniający powyższe warunki. 9 / 34
Przykład - dylemat więźnia P N P 3, 3 0, 4 N 4, 0 1, 1 Tabela: Dylemat więźnia - P -przyzna się N - nie przyzna się 10 / 34
Przykład - dylemat więźnia P N P 3, 3 0, 4 N 4, 0 1, 1 Tabela: Dylemat więźnia - P -przyzna się N - nie przyzna się Gra ma unikalną równowagę Nasha (Przyzna,Przyzna). 10 / 34
Przykład - dylemat więźnia P N P 3, 3 0, 4 N 4, 0 1, 1 Tabela: Dylemat więźnia - P -przyzna się N - nie przyzna się Gra ma unikalną równowagę Nasha (Przyzna,Przyzna). Gra nie ma silnej równowagi. 10 / 34
Gra szeregująca zadania Definicja Grą szeregującą zadania nazywamy grę, w której zbiorem graczy jest zbiór zadań a dostępnym zbiorem akcji dla każdego gracza jest zbiór maszyn. Kosztem każdego z graczy jest obciążenie maszyny, którą wybrał a kosztem socjalnym jest całkowita długość uszeregowania. Stwierdzenie Przyporządkowanie A jest równowagą Nasha wtedy i tylko wtedy gdy i J, k M : l A(i) l k + p ik. 11 / 34
12 / 34 Gra szeregująca zadania - przykład
Gra szeregująca zadania - przykład a) NE 12 / 34
Gra szeregująca zadania - przykład a) NE b) SE 12 / 34
Gra szeregująca zadania - przykład a) NE b) SE OPT = 8 12 / 34
13 / 34 Gra szeregująca zadania - przykład 2
Dlaczego warto zajmować się grami? Nie zawsze mamy pełną kontrolę nad systemem. 14 / 34
Dlaczego warto zajmować się grami? Nie zawsze mamy pełną kontrolę nad systemem. Użytkownicy rywalizujący o zasoby (Internet): 14 / 34
Dlaczego warto zajmować się grami? Nie zawsze mamy pełną kontrolę nad systemem. Użytkownicy rywalizujący o zasoby (Internet): * Przeglądarki, rutery, serwery 14 / 34
Dlaczego warto zajmować się grami? Nie zawsze mamy pełną kontrolę nad systemem. Użytkownicy rywalizujący o zasoby (Internet): * Przeglądarki, rutery, serwery Samolubność - użytkownicy będą łamać ustalone zasady jeżeli będzie się to wiązać z ich zyskiem 14 / 34
Gry zgromadzeniowe (congestion games) Definicja (Rosenthal (1973)) Grami zgromadzeniowymi (ang. congestion games) nazywamy gry, w których wartość funkcji kosztu zależy tylko od liczby graczy, którzy wybiorą tę samą lub przecinającą się strategię. Niech A = i N A i będzie zbiorem wszystkich możliwych profili. Dla danego a A oraz j M, niech n j ( a) będzie liczbą graczy którzy w danym profilu wybrali obiekt j. Wtedy funkcja kosztu gracza i wynosi u i ( a) = j a i c j (n j ( a)). 15 / 34
Gry potencjalne (potencial games) Definicja (Funkcja porządkowo potencjalna) Funkcja Φ : A R jest funkcją porządkowo potencjalną dla gry G jeżeli a A ai,b i A i (Φ(b i, a i ) Φ(a i, a i ) < 0) (u i (b i, a i ) u i (a i, a i ) < 0), Definicja (Monderer and Shapley 1991) Gra G jest nazywana grą potencjalną (grą z potencjałem) jeżeli istnieje dla niej funkcja porządkowo potencjalna. 16 / 34
17 / 34
Congestion vs Potencial Twierdzenie (Monderer and Shapley 1994) Każda gra zgromadzeniowa jest grą potencjalną. Dowód. P(A) = n j (A) u j (l). j n i=1 Ai l=1 18 / 34
Congestion vs Potencial Definicja (Funkcja ściśle potencjalna) Funkcja Φ : A R jest funkcją ściśle potencjalną gry G jeżeli a A ai,b i A i Φ(b i, a i ) Φ(a i, a i ) = u i (b i, a i ) u i (a i, a i ). Twierdzenie Każda skończona gra potencjalna jest izomorficzna z pewną grą zgromadzeniową. 19 / 34
Gra szeregująca zadania Lemat Jeżeli czasy wykonania zadań są liczbami naturalnymi to funkcja postaci Φ(A) = m k=1 4 l k(a) jest funkcją porządkowo potencjalną dla gry szeregującej zadania. Dowód. Rozważmy przypadek kiedy pojedyncze zadanie zmienia wybór maszyny M 1 na inną M 2. Niech u i będzie zmianą funkcji kosztu wywołaną zmianą uszeregowania: u i = u i (M 2, a i ) u i (M 1, a i ) = l 2 ( a) + p i2 l 1 ( a). Zmiana funkcji Φ wyniesie wtedy: 20 / 34 Φ = 4 l 1( a) p i1 + 4 l 2( a)+p i2 4 l 1( a) 4 l 2( a)
Gra szeregująca zadania Lemat Funkcja postaci Φ(A) = m k=1 4 l k(a) jest funkcją porządkowo potencjalną dla gry szeregującej zadania. Dowód. Jeżeli u i < 0 l 2 ( a) + p i2 < l 1 ( a) l 2 ( a) + p i2 + 1 l 1 ( a). Dodatkowo l 1 ( a) p i1 + 1 l 1 ( a) (ponieważ p ik N + ). Z obu nierówności otrzymujemy: {4 l 1( a) p i1 4 l 1( a) 1, 4 l 2( a)+p i2 4 l 1( a) 1 } Φ 2 4 l 1( a) 1 4 l 1( a) = 2 4 l 1( a) 1 < 0 21 / 34
Gra szeregująca zadania Lemat (Even-dar, E., A. Kesselman, and Y. Mansour. 2003) Każda instancja gry równoważącej obciążenie posiada przynajmniej jeden stan równowagi Nasha. Dowód. Gra jest w stanie równowagi Nasha w punkcie, w którym funkcja porządkowo potencjalna osiąga (lokalne) minimum. 22 / 34
Cena anarchii (price of anarchy) Definicja Ceną anarchii nazywamy stosunek najgorszego rozwiązania będącego równowagą Nasha do rozwiązania optymalnego PoA(m) = max G G max P Nash(G) cost(p) opt(g) Podobna definicja dla silnej ceny anarchii. 23 / 34
Oszacowania - maszyny identyczne Podobne do ograniczenia zachłannego algorytmu Grahama Twierdzenie PoA(m) = ( 2 2 ) m + 1 Analogicznie do PoA instancja dla której Twierdzenie SPoA(m) = ( 2 2 ) m + 1 24 / 34
Oszacowania - maszyny identyczne Dowód. Obciążenie najbardziej obciążonej maszyny to nasz koszt. Najbardziej obciążona maszyna musi wykonywać co najmniej 2 zadania. Wtedy z warunku na równowagę Nasha otrzymujemy: l j l j p i cost(a) 1 2 cost(a) = 1 2 cost(a). Zauważmy teraz, że koszt optymalnego przyporządkowania nie może być mniejszy od równomiernego obciążenia wszystkich maszyn, stąd Stąd: 25 / 34 cost(a) opt(g) (m + 1)cost(A). 2m 2m ( m + 1 opt(g) = 2 2 ) opt(g). m + 1
Oszacowania - maszyny identyczne Dowód. Rozważmy następujące grę o n = 2m zadaniach takich, że: p 1 = = p m = 1 oraz p m+1 = p 2m = 1 m. Optymalnym rozwiązaniem jest uszeregowanie o długości 1 + 1 m. Rozważmy profil akcji graczy s postaci: i {1,..., m 2}, s i = M i s m 1 = s m = M m 1, s m+1 = = s 2m = M m. 26 / 34
Oszacowania - maszyny jednorodne Czumaj, Vöcking (2002) (rozwiązanie rekurencji) Twierdzenie PoA(m) = O ( log m ) log log m Fiat, Levy, Kaplan (2007) (analogicznie do dowodu Czumaja) Twierdzenie ( ) log m SPoA(m) = Θ (log log m) 2 27 / 34
Idea: Oszacowania - maszyny jednorodne Γ(z) = 0 t z 1 e t. Niech c = cost(a)/opt(g). Pokazujemy, że c Γ 1 (m), gdzie Γ 1 oznacza odwrotność funkcji gamma Eulera. Bez straty ogólności załóżmy, że v 1 v 2 v m oraz niech L = [1, 2,..., m] będzie listą maszyn posortowaną nierosnącą względem prędkości. Dla k {0,..., c 1}, oznaczmy przez L k maksymalny prefiks L taki, że obciążenie każdej z maszyn z L k wynosi co najmniej k opt(g). Należy pokazać, że zachodzi następująca zależność rekurencyjna 28 / 34 L k (k + 1) L k+1 (0 k c 2) L c 1 1.
Oszacowania - maszyny jednorodne L k (k + 1) L k+1 (0 k c 2) L c 1 1. Po rozwiązaniu tej rekurencji otrzymujemy, że L 0 (c 1)! = Γ(c). Zauważmy, że L 0 = L i stąd L 0 = m. Implikuje to, że m Γ(c), czyli c Γ 1, co dowodzi twierdzenia. 29 / 34
Oszacowania - maszyny dowolne Awerbuch, Azar, Richter (2003) Twierdzenie PoA(m) s Fiat, Levy, Kaplan (2007) Twierdzenie SPoA(m) = m w ij, gdzie s = max i,j,l:w ij < w lj 30 / 34
Oszacowania - maszyny dowolne Twierdzenie SPoA(m) = m. Dowód. s - stan silnej równowagi; M 1,..., M m - maszyny uporządkowane nierosnąco względem obciążeń w s; l 1 l 2 l m będą tymi obciążeniami. Zauważmy, że l m opt. Jeżeli l m > opt, wtedy wszyscy gracze zyskują w wyniku zmiany na uszeregowanie optymalne, co przeczy temu, że s jest silną równowagą. Wystarczy pokazać, że że l i l i+1 + opt dla każdego 1 i m 1. Stosując powyższy argument po kolei dla wszystkich i od 1 do m otrzymujemy, że l 1 l m + (m 1)opt. Dodając do tego trywialną własność l m opt, otrzymujemy tezę twierdzenia. 31 / 34
Oszacowania - maszyny dowolne M 1 M 2 M 3 M 4 J 1 1 1 J 2 1 2 J 3 1 3 J 4 1 4 Tabela: Przykład gry szeregującej zadania na m = 4 maszynach dowolnych, dla której SPoA = m. Grubym kółkiem obrysowane jest uszeregowanie będące silną równowagą, cienkimi kółkami obrysowano rozwiązanie optymalne. 32 / 34
Bibliografia 33 / 34 Nir Andelman, Michal Feldman, and Yishay Mansour. Strong price of anarchy. In SODA 07, pages 189 198. SIAM, 2007. Baruch Awerbuch, Yossi Azar, Yossi Richter, and Dekel Tsur. Tradeoffs in worst-case equilibria. Theor. Comput. Sci., 361(2):200 209, 2006. Amos Fiat, Meital Levy, Haim Kaplan, and Svetlana Olonetsky. Strong price of anarchy for machine load balancing. IBFI, Schloss Dagstuhl, Germany, 2007. Noam Nisan, Tim Roughgarden, Eva Tardos, et al. Algorithmic Game Theory. Cambridge University Press, September 2007.
34 / 34 Pytania?