BiFC-Wykład5
Transkrypt
BiFC-Wykład5
ELEMENTY TEORII GIER Świat nas otaczający pełen jest konfliktów i rywalizacji. Można wymienić liczne przykłady sytuacji decyzyjnych, między innymi: wojny, kampanie polityczne, kampanie reklamowe i marketingowe rywalizujących ze sobą firm i wiele innych, w których mamy do czynienia z konfliktem między ich uczestnikami. Teorię gier opracowano wcześniej niż teorię podejmowania decyzji i stanowi ona obecnie integralną jej część. Przedmiotem badań teorii gier są sytuacje decyzyjne, w których każdy z niezależnych uczestników musi podejmować decyzje. Zwykle pomiędzy decydentami istnieje konflikt interesów. Najczęściej stosowanym kryterium w rozwiązywaniu problemów tego rodzaju jest kryterium minimaksowe. Słowo gra oznacza w literaturze, zarówno zbiór umów i reguł rozgrywania gry jak i pojedynczą rozgrywkę (partię), tj. szczególną realizację tych reguł dotyczącą jednej sytuacji. Zakładamy, że po zakończeniu gry G każdy z graczy Pi, i=1,2,...,n, otrzymuje (bądź traci) pewną ilość pieniędzy vi zwaną wygraną (przegraną) gracza P. Celem każdego z graczy jest maksymalizacja jego wygranej. W najbardziej znanych grach, jak np. poker, całkowita ilość pieniędzy stracona przez przegrywających graczy jest równa całkowitej ilości pieniędzy wygranych przez wygrywających. Przyjmujemy zatem, że zachodzi warunek n ∑v i =1 i =0 Wartości wygranych vi mogą być dodatnie, ujemne bądź równe zero, przy czym vi > 0 oznacza wygraną gracza Pi, vi <0 - jego przegraną, a vi = 0 - wynik remisowy z punktu widzenia gracza Pi. Gry, dla których zachodzi powyższy warunek nazywamy grami o sumie wypłat zero (grami zerowymi). Gry klasyfikuje się również ze względu na ilość graczy i możliwych ruchów. Szachy są grą dwuosobową o skończonej ilości możliwych ruchów, a poker grą wieloosobową również o skończonej ilości ruchów (oczywiście, jeżeli stosuje się odpowiednie reguły przerwania gry). Pojedynek, w którym walczący mogą strzelać w dowolnej chwili danego przedziału czasu jest grą dwuosobową o nieskończonej ilości możliwych ruchów. Gry można charakteryzować jako zespołowe (kooperacyjne) i niezespołowe. W grach zespołowych gracze mogą tworzyć koalicje i działać jako grupy, w grach niezespołowych każdy z graczy zainteresowany jest tylko indywidualną wygraną. Najwcześniej znaleziono rozwiązania dla gier dwuosobowych o sumie wypłat zero. Gry dwuosobowe o sumie wypłat zero - każdą ze stron zainteresowanych grą nazywamy graczem, - dokładnie sprecyzowana przed rozpoczęciem gry reguła decyzyjna, na podstawie której gracz podejmuje decyzję, określona dla każdej decyzji przeciwnika zwana jest strategią, - strategia mieszana to strategia polegająca na tym, że gracz postanawia w pewnej ustalonej proporcji zastosować wszystkie lub kilka z dostępnych mu sposobów działania. Jeżeli gracz decyduje się na jeden tylko określony sposób działania mówimy, że stosuje strategię czystą, - mówimy, że gracze rozgrywają partię gry wówczas, gdy każdy z nich podjął decyzję o sposobie działania, - po każdej rozegranej partii jeden z graczy wypłaca drugiemu kwotę wynikającą z obranych przez nich sposobów działania, - wartość gry to średnia kwota na partię, którą wygrałby w długim okresie czasu jeden z graczy, gdyby obaj stosowali swoje najlepsze strategie, - macierz wypłat to tablica ukazująca w wierszach kwoty otrzymane przez gracza P1 (sposoby działania gracza P1 wyróżnione są w boczku tablicy) dla każdego przyjętego przez niego sposobu działania oraz dla każdego sposobu działania gracza P2 (sposoby działania gracza P2 wyróżnione są w główce tablicy). Wypłaty pokazane są tylko dla gracza P1 - ze względu na zerowy charakter gry wypłaty dla gracza P2 są liczbami przeciwnymi. Przy danej tablicy wypłat gracz P1 maksymalizuje wygraną, zaś gracz P2 minimalizuje wygraną. Definicja 1 Mówimy, że określona jest gra macierzowa, jeśli dana jest macierz A= a11 a12 ... a1n a21 a22 ... a2 n ....................... am1 am 2 ... amn o wymiarach mxn, której elementy aij są dowolnymi liczbami rzeczywistymi. Macierz A nazywamy macierzą wypłat. Element aij jest sumą wypłacaną graczowi P1 przez gracza P2, jeśli P1 wybiera strategię i-tą a gracz P2 wybiera strategię j-tą. Definicja 2 Przez strategię mieszaną gracza P1 rozumiemy wektor XT=[x1,x2,...,xm] liczb rzeczywistych spełniających warunek: xi ≥ 0 dla i=1,2,...,m oraz x1 + x2 +...+ xm = 1. Przez strategię mieszaną gracza P2 rozumiemy wektor YT = [y1 ,y2 ,...,yn] liczb rzeczywistych spełniających warunek: y j ≥ 0 dla j=1,2,...,n oraz y1 + y2 + ...+ yn = 1. Elementy xi i yj przedstawiają odpowiednio częstości/prawdopodobieństwa z jakimi gracz P1 wybiera i-ty sposób postępowania a P2 j-ty sposób postępowania. Definicja 3 Dla każdego i=1,2,...,m, strategię mieszaną, której i-ta współrzędna jest równa 1 a pozostałe współrzędne są równe zero nazywa się i-tą strategią czystą gracza P1 . Oznaczamy ją przez i. Podobnie, j-ta strategia czysta gracza P2 , oznaczana przez j , jest mieszaną strategią gracza P2 o j-tej współrzędnej równej 1 i pozostałych współrzędnych równych 0. Definicja 4 Funkcję wypłaty dla gracza P1 , tj. wartość oczekiwaną jego wygranej określamy jako: n E(X,Y) = ∑ y j ⋅ E( X| Y = j) = j =1 m = ∑ xi ⋅ E(Y | X = i ) = i =1 = XT AY= m n = ∑ ∑ x i aij y j , i =1 j =1 gdzie X i Y są dowolnymi strategiami mieszanymi graczy P1 i P2, x i i y j są prawdopodobieństwami wyboru i-tej strategii czystej przez gracza P1 oraz j-tej strategii czystej przez gracza P2. • E(X|Y=j) oznacza warunkową oczekiwaną wypłatę dla gracza P1, jeżeli stosuje on strategię mieszaną X pod warunkiem, że gracz P2 stosuje strategię czystą j. • E(Y|X=i) oznacza warunkową oczekiwaną wypłatę dla gracza P2, jeżeli stosuje on strategię mieszaną Y pod warunkiem, że gracz P1 stosuje strategię czystą i. Definicja 5 Rozwiązaniem gry macierzowej jest para strategii mieszanych [ ] [ X * = x1* , x 2* , . . . , x m* , Y * = y1* , y 2* , . . . , y n* ] i liczba rzeczywista v taka, że zachodzą następujące warunki: ∀j = 1,2,..., n E( X* | Y = j) ≥ v ∀i = 1,2,..., m E(Y* | X = i) ≤ v. Strategie X* i Y* nazywamy strategiami optymalnymi, a liczbę v wartością gry. Definicja 6 Mówimy, że l-ta strategia czysta gracza P1, reprezentowana przez l-ty wiersz macierzy A, jest zdominowana przez i-tą strategię czystą, jeśli ∀j alj ≤ aij oraz ∃j alj < aij i-ta strategia czysta nosi wówczas nazwę strategii dominującej. Mówimy, że p-ta strategia czysta gracza P2 jest zdominowana przez j-tą strategię czystą, jeśli ∀i aip ≥ aij oraz ∃i aip > aij . j-ta strategia czysta, reprezentowana przez j-tą kolumnę macierzy A, nosi wówczas nazwę strategii dominującej. Każdy gracz powinien grać racjonalnie, co oznacza tutaj, że powinien minimalizować swoje maksymalne straty. Kryterium, zwane kryterium minimaksowym, jest standardowym kryterium proponowanym w teorii gier dla wyboru strategii optymalnej dla gier konfliktowych. Przy danej tablicy wypłat: • gracz P1 wybiera strategię, dla której najmniejsza z wypłat jest maksymalna (maximin) - jest to tzw. dolna wartość gry, oznaczana przez v , • gracz P2 wybiera strategię, dla której największa ze strat jest najmniejsza (minimax) - jest to tzw. górna wartość gry, oznaczana przez v . W przypadku, gdy dolna i górna wartość gry są sobie równe mówimy, że gra posiada punkt siodłowy, który odpowiada czystym strategiom minimaksowym obu graczy. Nie wszystkie gry będą posiadać punkt siodłowy. W takich przypadkach dopuszczamy występowanie strategii mieszanych. Przykład 1 Rozważmy grę o następującej macierzy wypłat: P2 P1 5 1 3 3 2 4 −3 0 1 Wartość dolna gry, v = max {1, 2, -3}= 2 i odpowiada drugiej strategii czystej gracza P1. Wartość górna gry, v = min{5, 2, 4} = 2 i odpowiada drugiej strategii czystej gracza P2. Zatem para strategii czystych XT = [0,1,0] , Y T = [0,1,0] stanowi punkt siodłowy powyższej gry i wartość gry v=2. Przykład 2 Rozważmy grę o następującej macierzy wypłat: P2 P1 4 2 1 3 v = max {2,1}=2, v = min{4,3}=3 Powyższa gra nie ma punktu siodłowego. Twierdzenie o minimaksie Jeżeli dopuszczamy występowanie strategii mieszanych, to istnieje para optymalnych strategii mieszanych zgodnych z kryterium minimaksowym taka, że v = v = v , tzn. max min E ( X , Y) = min max E ( X , Y) = v X Y Y X Rozwiązanie gry jest stabilne, co oznacza, że żaden z graczy nie może zwiększyć swojej wygranej (lub zmniejszyć straty) poprzez jednostronną zmianę swojej strategii. Koncepcja strategii mieszanych jest zrozumiała w przypadku gier powtarzanych; w przypadku gier rozgrywanych jednokrotnie wymaga dodatkowej interpretacji. Oznacza ona wybór jednej czystej strategii wybranej losowo według danego rozkładu prawdopodobieństwa - wartości xi i=1,...,m traktowane są jako prawdopodobieństwa wyboru i-tej strategii. Oczywista jest także interpretacja rozwiązania optymalnego gry jako pary strategii mieszanych w przypadkach, gdy gracze nie muszą dokonywać wyboru jednej strategii spośród alternatyw, ale mogą stosować wszystkie z różnym natężeniem (np. w przypadku gier marketingowych). Wartości xi i = 1,...,m można wówczas traktować jako optymalne procentowe przydziały środków przeznaczonych na wprowadzenie itej strategii. Twierdzenie o liczbie stosowanych strategii Niech m∗ (n ∗ ) oznacza liczbę strategii, jaką używać będzie postępujący optymalnie gracz P1 (gracz P2). Każdy z graczy postępując optymalnie używać będzie nie więcej strategii niż wynosi mniejsza z liczb m lub n , tj. m∗ ≤ min{m,n} oraz n∗ ≤ min{m,n} . Rozważmy grę, odpowiadająca której macierz wypłat Ac powstała przez dodanie do wszystkich elementów macierzy wypłat A stałej wielkości c. Pokażemy, że strategie optymalne są dla nowej gry takie same jak w przypadku macierzy wypłat A, a wartość nowej gry jest równa v+c. Funkcja wypłaty E1 dla gry oryginalnej: m n E1 (X,Y)=X AY= ∑ ∑ x i aij y j T i =1 j =1 oraz funkcja wypłaty E2 dla gry zmodyfikowanej: m n E2 (X,Y)=X A Y= ∑ ∑ x i (aij + c) y j = T c i =1 j =1 m n = ∑ ∑ x i aij y j + i =1 j =1 Ze względu na m n i =1 j =1 ∑ xi = ∑ y j = 1 m n c∑ x i ∑ y j . j =1 i =1 m otrzymujemy: n E2 (X,Y) = ∑ ∑ x i aij y j + c = i =1 j =1 = E1 (X,Y) + c = = v + c. Dodanie stałej wartości c do macierzy wypłat nie wpływa na wybór optymalnej strategii, zmienia się jedynie wartość gry o c. Równoważność gry macierzowej i zagadnienia programowania liniowego Rozważmy dowolną grę macierzową o sumie wypłat zero z macierzą wypłat A=[aij ]. Z definicji wiemy, że strategią optymalną dla gracza P1 jest strategia mieszana XT =[x1 ,x2 ,...,xm ], dla której oraz dla wszystkich strategii czystych j =1,...,n gracza P2 spełniony jest warunek m n ∑∑x a i ij i =1 j =1 yj ≥ v , co odpowiada układowi n nierówności postaci m ∑a i =1 tzn. ij xi ≥ v dla j=1,2 ,...,n . a11 x1 + a21 x2 + ... + am1 xm ≥ v a12 x1 + a22 x2 + ... + am 2 xm ≥ v ................................. a1n x1 + a2 n x2 + ... + amn xm ≥ v x1 + x2 + ... + xm = 1 xi ≥ 0 i = 1,..., m Podobnie, dla gracza P2 należy znaleźć taki wektor YT =[y1, y2,...,yn ] i taką liczbę v, które dla każdej strategii czystej gracza P1 spełniają następujący układ relacji: a11 y1 + a12 y2 + ... + a1n yn ≤ v a21 y1 + a22 y2 + ... + a2 n yn ≤ v ................................. am1 y1 + am 2 y2 + ... + amn yn ≤ v y1 + y2 + ... + yn = 1 y j ≥ 0 j = 1,..., n Prawe strony ograniczeń są nieznane (jest to nieznana wartość gry v), ale mogą być zawsze sprowadzone do wartości dodatnich z wykorzystaniem własności wykazanej w poprzednim paragrafie, a mianowicie, jeżeli w macierzy A występują elementy ujemne, poprzez dodanie do wszystkich elementów aij odpowiedniej wartości c tworzymy macierz zmodyfikowaną Ac , która będzie miała wszystkie elementy dodatnie. Możemy zatem przyjąć, że wartość gry v jest większa od zera. Pozostają jednak następujące trudności: 1o wartość gry v jest nieznana 2o zadanie nie ma funkcji kryterium. Pokażemy dwa sposoby rozwiązania problemu. Pierwszy sposób polega na dokonaniu zamiany zmiennych według następującego wzoru: x'= x /v , y'= y /v. Zauważmy, że zachodzą następujące relacje: m 1 m 1 x ' = x = oraz ∑ ∑ i i v v i =1 i =1 n 1 n 1 y ' = y = ∑ ∑ j v j v j =1 j =1 Zwróćmy uwagę, że po zamianie zmiennych maksymalna wartość gry v osiągana jest wówczas, gdy n m ∑x i =1 i ' jest minimalna, minimalizacji zaś v odpowiada jednoczesna maksymalizacja ∑y j =1 j '. Otrzymujemy symetryczne zagadnienia dualne: Zagadnienie pierwotne f(x') = x1'+x2'+...+xm' → min przy ograniczeniach a11 x '1 + a21 x ' 2 +. ..+ am1 x ' m ≥ 1 a12 x '1 + a22 x ' 2 +. ..+ am 2 x ' m ≥ 1 .. .. ... .. ... .. .. ... .. ... .. .. ... .. a1n x '1 + a2n x ' 2 +...+ amn x ' m ≥ 1 x i ' ≥ 0 i = 1,...,m Zagadnienie dualne g(y’) = y1’+y2’+...+ yn’ → max przy ograniczeniach a11 y'1 +a12 y ' 2 +... +a1n y' n ≤ 1 a21 y '1 +a22 y' 2 +... +a2 n y' n ≤ 1 ................................. am1 y '1 +am 2 y ' 2 +... +amn y ' n ≤ 1 y' j ≥ 0 j = 1,...,n Zatem każda gra o sumie wypłat zero posiada rozwiązanie optymalne oraz 1 min ∑ x ' i = max ∑ y' j = . v i j Wartość gry znajdziemy jako odwrotność optymalnej wartości funkcji kryterium zagadnienia pierwotnego bądź dualnego. Częstości stosowania strategii otrzymamy mnożąc optymalne wartości zmiennych przez wartość gry (bądź dzieląc przez optymalną wartość funkcji kryterium). Przykład 1: Dla gry skonstruowano następującą macierz wypłat: 2 v = −1 A 2 x 3 = − 1 0 1 − 2 − 3 −1 ≤ v ≤ 0 ⇒ v ≤ 0. v=0 Ponieważ wartość gry nie jest dodatnia do macierzy A dodajemy stałą c = 4. Macierz zmodyfikowanej gry Ac przyjmuje postać: A c = 3 4 6 v = 3 . 5 2 1 v=4 Wartość zmodyfikowanej gry jest na pewno dodatnia i większa od wartości gry oryginalnej o 4. Konstruujemy parę dualnych zadań programowania liniowego dla zmodyfikowanej gry: + x' 2 → min x'1 3 x'1 + 5 x' 2 ≥1 ≥1 4 x'1 + 2 x' 2 6 x'1 + 1x' 2 ≥1 x' ≥ 0 x' ≥ 0 2 1 y '1 3 y '1 5 y' 1 y '1 ≥ 0 + y'2 + 4 y'2 + 2 y'2 y' 2 ≥ 0 + y '3 → max + 6 y '3 ≤1 + 1y '3 ≤1 y '3 ≥ 0 Rozwiązania optymalne obu zadań są następujące 3 X' = 14 114 o i 1 7 o Y' = 1 07 oraz wartość funkcji kryterium fo =2 7. Natomiast rozwiązanie zmodyfikowanej gry uzyskamy dzieląc elementy wektorów X’o i Y’o przez f o: 3 X = 4 1 4 ∗ i 1 / 2 Y∗ = 1 / 2 . 0 Wartość zmodyfikowanej gry jest równa odwrotności f o i wynosi: v+c = 7 . 2 Optymalne częstości stosowania strategii dla gry oryginalnej są takie same jak dla gry zmodyfikowanej a wartość gry 7 1 oryginalnej wynosi v = 2 − 4 = − 2 . Druga metoda sprowadzania gry do zagadnienia programowania liniowego polega na tym, że w układach nierówności wartość gry v oznaczamy odpowiednio przez xm+1 i yn+1 i przenosimy na lewą stronę. Ponieważ zmienne te oznaczają nieznaną wartość gry, mogą tworzyć także funkcje celu w parze symetrycznych zadań dualnych programowania liniowego: Zagadnienie pierwotne f(x') = xm+1 → max albo f(x') = - xm+1 → min przy ograniczeniach a11 x1 + a21 x2 + ... + am1 xm − xm+1 ≥ 0 a12 x1 + a22 x2 + ... + am 2 xm − xm+1 ≥ 0 ................................. a1n x1 + a2 n x2 + ... + amn xm − xm+1 ≥ 0 x1 + x2 + ... + xm = 1 xi ≥ 0 i = 1,..., m +1 Zagadnienie dualne g(y’) = yn+1 → min albo g(y’) = -yn+1 → max przy ograniczeniach a11 y1 + a12 y2 + ... + a1n yn − yn+1 ≤ 0 a21 y1 + a22 y2 + ... + a2 n yn − yn+1 ≤ 0 ................................. am1 y1 + am 2 y2 + ... + amn yn − yn+1 ≤ 0 y1 + yj ≥ 0 y2 + ... + yn = 1 j = 1,..., n +1 Przykład 2: Gra jak w Przykładzie 1. Macierz gry zmodyfikowanej po dodaniu stałej c=4 jest postaci: A c = 3 4 6 v = 3 . 5 2 1 v=4 Modele PL dla gry zmodyfikowanej: max x3 3 x1 + 5 x2 − x3 ≥ 0 4 x1 + 2 x2 − x3 ≥ 0 6 x1 + 1x2 − x3 ≥ 0 x1 + x2 = 1 x1 , x2 , x3 ≥ 0 min y4 3 y1 + 4 y2 + 6 y3 − y4 ≤ 0 5 y1 + 2 y2 + 1y3 − y4 ≤ 0 y1 + y 2 + y3 =1 y1,y2 ,y3 ,y4 ≥ 0 o o Rozwiązanie optymalne jest następujące: x1o = 0,75 , x 2 = 0,25 , x3 = 3,5 = v+c o o o y1o = 0,5 , y 2 = 0,5 , y 3 = 0 , y 4 = 3,5 = v+c. Optymalne wartości zmiennych to optymalne częstości stosowania strategii oraz wartość zmodyfikowanej gry. Aby otrzymać wartość gry oryginalnej należy odjąć wartość stałej c.