D. Miszczyńska, M.Miszczyński KBO UŁ 1 GRY KONFLIKTOWE GRY 2-OSOBOWE O SUMIE WYPŁAT ZERO Gra w sensie niżej przedstawionym to zasady którymi kierują się decydenci. Zakładamy, że rezultatem gry jest wypłata, którą zgodnie z regułami gry przegrany płaci wygranemu. Przy czym rozważamy tylko gry w których bierze udział dwóch graczy i przegrana jednego jest wygraną drugiego. Ponadto dysponujemy tzw macierzą wypłat, która pozwala nam na określenie gry. I. DEFINICJE i TWIERDZENIA Konfliktowe gry dwuosobowe opisuje macierz wypłat [( A mxn = aij ,bij gdzie: aij bij )] - wygrana gracza I - wygrana gracza II Jeżeli suma wypłat jest równa zero, tj. aij + bij = 0 to grę nazywamy dwuosobową grą macierzową o sumie wypłat zero. Macierz wypłat takiej gry jest więc następująca [( A mxn = aij ,− aij )] W tej sytuacji macierz wypłat może opisywać tylko wygrane jednego z graczy. Przyjęto iż będzie to gracz I; zatem wygrane gracza II będą automatycznie liczbami przeciwnymi do wygranych gracza I. D. Miszczyńska, M.Miszczyński KBO UŁ 2 Def. Macierz wypłat gry dwuosobowej o sumie wypłat zero ma postać [ ] A mxn = aij Elementy macierzy A są wygranymi gracza I i jednocześnie przegranymi gracza II. Def. Strategia mieszana Wektor wierszowy opisujący częstość stosowania poszczególnych strategii przez gracza I. X1xm = [ x1 x2 ... xm ] m gdzie: xi ≥ 0 dla i=1,2,...,m oraz ∑x i =1 i =1 Wektor kolumnowy opisujący częstość stosowania poszczególnych strategii przez gracza II Ynx1 y1 y = 2 ... gdzie: yn n y j ≥ 0 dla j=1,2,...,n oraz ∑y j =1 j =1 Def. Strategia czysta Jeżeli X lub Y są wersorami to nazywamy je strategiami czystymi. D. Miszczyńska, M.Miszczyński KBO UŁ 3 Def. Funkcją wypłaty nazywamy oczekiwaną wygraną gracza I (nadzieję matematycznę wygranej gracza I) m n E ( X , Y) = XAY = ∑ ∑ xi aij y j i =1 j =1 Def. Rozwiązaniem gry nazywamy wektory [ X1∗×m = x1∗ oraz liczbę rzeczywistą ( ) E (i ,Y ) ≤ v x2∗ L xm∗ v ] Yn∗×1 i y1∗ ∗ y2 = M ∗ y n takie, że spełnione są warunki E X∗ , j ≥ v dla strategii czystych gracza II j=1,2,...,n ∗ dla strategii czystych gracza I i=1,2,...,m Strategie X∗ oraz Y∗ nazywamy strategiami optymalnymi, a liczbę v wartością gry. Wartość gry v jest oczekiwaną wygraną (nadzieją matematyczną wygranej) gracza I jeżeli obaj gracze stosują swoje optymalne strategie mieszane X∗ oraz Y∗ , tj. ( ) E X∗ , Y∗ = v Tw. (H.Kuhn'a o punkcie siodłowym w teorii gier) Oczekiwana wygrana (nadzieja matematyczna) gracza I stosującego dowolną strategię mieszaną X podczas gdy gracz II stosuje optymalną strategię Y∗ nie przekracza wartości gry. I odwrotnie, oczekiwana wygrana gracza I stosującego optymalną strategię X∗ podczas gdy gracz D. Miszczyńska, M.Miszczyński KBO UŁ 4 II stosuje dowolną strategię mieszaną gry ( ) Y ( jest nie mniejsza niż wartość ) ( E X , Y∗ ≤ E X∗ , Y∗ ≤ E X∗ , Y Tw. ) (twierdzenie minimaksowe von Neumana i Morgensterna twierdzenie zasadnicze gier macierzowych) Dla każdej gry macierzowej istnieją i są sobie równe wielkości max min E ( X , Y) oraz min max E ( X , Y) , które odpowiadają wartości X Y Y X gry v , tj. max min E ( X , Y) = min max E ( X , Y) = v X Y Y X Każda gra 2-osobowa o sumie wypłat zero ma zawsze rozwiązanie. Tw. (twierdzenie o liczbie stosowanych strategii) ∗ ∗ Niech m (n ) oznacza liczbę strategii jaką używać będzie postępujący optymalnie gracz I (gracz II). Każdy z graczy postępując optymalnie używać będzie nie więcej strategii niż wynosi mniejsza z liczb m (liczba strategii gracza I) lub n (liczba strategii gracza II), tj. m∗ ≤ min{m,n} Def. Dolna wartość gry Liczba rzeczywista v oraz n∗ ≤ min{m, n} (minimalna wygrana gracza I) taka, że v = max{ai • } i gdzie { } ai • = min aij j D. Miszczyńska, M.Miszczyński KBO UŁ 5 Dla dolnej wartości gry zachodzi { } v = max min aij ≤ v i Def. Górna wartość gry v Liczba rzeczywista j (maksymalna przegrana gracza II) taka, że { } v = min a• j j { } a• j = max aij gdzie i Dla górnej wartości gry zachodzi { } v = min max aij ≥ v j i Sposób określania dolnej ( v ) i górnej ( v ) wartości gry nosi nazwę zasady minimaksu, tj. zasady odzwierciedlającej ostrożne postępowanie obu graczy. 2 3 5 A = aij = 4 1 0 4 [3] 5 [ ] v=3 [ 2] 0 v=2 2≤v≤3 Def. Gra z punktem siodłowym jest to gra, w której dolna ( v ) i górna ( v ) wartości gry są sobie równe, tj. v=v Def. Punkt siodłowy jest to ten z elementów macierzy wypłat [ ] A = aij , który wyznacza dolną ( v ) i górną ( v ) wartość gry w grze z punktem siodłowym. D. Miszczyńska, M.Miszczyński KBO UŁ Tw. 6 (twierdzenie o rozwiązaniu gry z punktem siodłowym) Rozwiązaniem gry z punktem siodłowym jest para strategii czystych (wersorów) X∗ i Y∗ oraz wartość gry v = v = v 3 A= 4 4 [ 2] 1 5 0 [ 2] 5 [ 2] 0 X∗ = [1 0] v=2 0 Y∗ = 1 0 v=v=v=2 v=2 Def. Gra symetryczna. Grę nazywamy grą symetryczną jeżeli macierz wypłat tej gry jest macierzą skośno-symetryczną, tj. [ A m = aij = − a ji Tw. ] (twierdzenie o rozwiązaniu gry symetrycznej) W grze symetrycznej optymalne strategie obu graczy są identyczne, a wartość gry wynosi zero, tj. X∗ = Y∗ 0 5 −3 A = aij = −5 0 2 3 −2 0 3 5 2 [ ] v =2 −3 −5 −2 v = −2 oraz v=0 2 / 10 X∗ = [2 / 10 3 / 10 5 / 10] Y∗ = 3 / 10 5 / 10 v =0 D. Miszczyńska, M.Miszczyński KBO UŁ Tw. 7 (twierdzenie o dodaniu stałej do macierzy wypłat) Dla dwóch gier macierzowych A i B o macierzach wypłat [ ] [ ] A mxn = aij B mxn = bij = aij + c gdzie c∈R \ {0} i wartościach gry odpowiednio v A oraz v B zachodzą następujące związki: oraz 1. optymalne strategie mieszane sa identyczne, tj. X∗A = X∗B oraz YA∗ = YB∗ 2. wartości gry różnią się o stałą c , tj. vB = v A + c 3 A= 4 4 [2] 5 1 0 [ 2] [ 2] 0 vA = 2 X∗A = [1 0] 0 YA∗ = 1 0 vA = v A = v A = 2 5 vA = 2 7 B = A + [ 4] = 8 8 [6] 9 5 4 [6] [6] 4 vB = 6 X∗B = [1 0] 0 YB∗ = 1 0 9 vB = v B = v B = 6 vB = 6 vB = v A + 4 = 2 + 4 = 6 D. Miszczyńska, M.Miszczyński KBO UŁ 8 II. ROZWIĄZYWANIE GIER MACIERZOWYCH II.1. Redukcja macierzy wypłat Redukcja macierzy polega na zastąpieniu wyjściowej macierzy A mxn ekwiwalentną macierzą A kxr gdzie zachodzi przynajmniej jeden z przypadków k<m lub r<n. Rozwiązania gry wyjściowej i ekwiwalentnej są identyczne. Def. Wiersz dominujący, zdominowany (strategia gracza I dominująca lub zdominowana) Mówimy, że wiersz t jest zdominowany przez wiersz s jeżeli atj ≤ a sj dla wszystkich j Wiersz s-ty nazywamy dominującym, a wiersz t-ty zdominowanym. Def. Kolumna dominująca, zdominowana (strategia gracza II dominująca lub zdominowana) Mówimy, że kolumna p jest zdominowana przez kolumnę r jeżeli aip ≥ air dla wszystkich i Kolumnę r-tą nazywamy dominującą, a kolumnę p-tą zdominowaną. D. Miszczyńska, M.Miszczyński KBO UŁ 9 Z wyjściowej macierzy A mxn usuwamy wszystkie wiersze i kolumny zdominowane. Odpowiadające im strategie nie będą używane przez optymalnie postępujących graczy, tj. odpowiednie częstości oraz y j będą równe zero. PRZYKŁAD A 4 x5 2 2 = 4 2 1 2 −1 3 3 4 5 2 1 5 0 5 0 4 2 2 z1 z1 z3 ⇒ x1 = 0 z2 ⇒ x4 = 0 z2 ⇓ ⇓ y3 = 0 y5 = 0 A2x3 2 3 5 = 4 1 0 xi D. Miszczyńska, M.Miszczyński KBO UŁ II.2. 10 Graficzne rozwiązywanie gier macierzowych Jeżeli przed lub po redukcji wymiarów macierz wypłat ma dwa wiersze lub dwie kolumny (jest macierzą A 2 xn lub A mx2 ), to odpowiadającą jej grę można rozwiązać graficznie. Dla gry o macierzy wypłat A 2 x 3 postępowanie wygląda następująco. [ 2] 2 3 5 A2x3 = 4 1 0 4 [ 3] 5 v=2 0 2≤v≤3 v=3 Wektory strategii mieszanych obu graczy mają postać X = [ x1 Z założenia x2 ] i y1 Y = y2 y3 x1 + x2 = 1 . Przyjmując x1 = x mamy x2 = 1 − x . Stąd X = [ x 1 − x] Wyznaczamy oczekiwane wygrane gracza I, jeżeli gracz II stosuje swoje strategie czyste, tj. E [ X, j ] . Oznaczać je będziemy krótko Ej . Nanosimy otrzymane proste na układ xOy. Oś Ox ograniczymy do odcinka [0,1] rozciągając go nieproporcjonalnie w stosunku do jednostek na osi Oy. Wystawiamy pomocniczą prostą o równaniu x=1. Oś Oy powiążemy z wygraną, tj. z funkcją wypłaty E[X,Y]. D. Miszczyńska, M.Miszczyński KBO UŁ 11 2 E1 = E [ X,1] = [ x 1 − x ] = −2 x + 4 4 3 E2 = E [ X,2] = [ x 1 − x ] = 2 x + 1 1 5 E3 = E[ X,3] = [ x 1 − x] = 5x 0 Zgodnie z zasadą minimaksu określamy dla każdej wartości x∈[0,1] minimalną (gwarantowaną) wygraną. Będą to wartości wynikające z dolnej obwiedni { E1 , E 2 , E3 } . Największa z minimalnych (gwarantowanych) wygranych występuje przy przecięciu E1 z E 2 E1 = E2 −2 x + 4 = 2 x + 1 x = 3/ 4 D. Miszczyńska, M.Miszczyński KBO UŁ 12 Optymalna strategia mieszana dla gracza I ma więc postać X ∗ = [ 3 / 4 1 / 4] Wartość wygranej przy x=3/4 jest równa wartości gry v = 5 / 2 [ = E[ [3 / 4 ] 1 / 4] , 2 ] = 2 × 3 / 4 + 1 = 5 / 2 E1 = E [ 3 / 4 1 / 4] , 1 = −2 × 3 / 4 + 4 = 5 / 2 E2 Gracz II nie powinien stosować żadnej swojej strategii, przy której wygrana optymalnie postępującego gracza I byłaby większa od wartości gry v=5/2. [ ] ∗ Musi wyeliminować wszystkie strategie, dla których E X , j > 5 / 2 . [ ] ∗ Warunek taki spełnia strategia 3 ponieważ E X , 3 = 15 / 4 > 5 / 2 . ∗ Zatem w optymalnej strategii mieszanej gracza II y3 = 0 . ∗ Aby określić pozostałe składowe wektora Y należy rozwiązać pomocniczy układ równań y1∗ + y2∗ + y3∗ = 1 2 y1∗ + 3 y2∗ + 5 y3∗ = 5 / 2 z def . E 1, Y∗ = [ ] E [2 , Y ] = ∗ 4 y1∗ + 1y2∗ + 0 y3∗ = 5 / 2 ∗ Ponieważ y3 = 0 , to powyższy układ równań można zastąpić [ ] E [2 , Y ] = E 1, Y∗ = ∗ y1∗ + y2∗ = 1 2 y1∗ + 3 y2∗ = 5 / 2 4 y1∗ + 1y2∗ = 5 / 2 D. Miszczyńska, M.Miszczyński KBO UŁ 13 Wykorzystując dwa dowolnie wybrane równania powyższego układu otrzymamy y1∗ = 1 / 2 oraz y2∗ = 1 / 2 Rozwiązanie omawianej gry o macierzy wypłat A 2 x 3 jest następujące X ∗ = [ 3 / 4 1 / 4] 1 / 2 Y∗ = 1 / 2 0 i oraz v = 5/ 2 Dla gier o macierzy wypłat A mx2 postępować będziemy podobnie. Rysunek dotyczył będzie gracza II, o którym należy pamiętać, że jest zainteresowany w minimalizacji warości gry v. Optymalne częstości w wektorze Y wyznaczymy tutaj analizując górną obwiednię { E1 , E2 ,..., Em } , poszukując na niej minimalnej wartości gry (minimalnej przegranej gracza II). Dla gry o macierzy wypłat A 3 x 2 postępowanie wygląda następująco. A 3x 2 1 = −1 5 5 2 [1] 4 −1 v =1 0 0 [ 4] 1≤ v ≤ 4 v=4 Wektory strategii mieszanych obu graczy mają tutaj postać X = [ x1 x2 x3 ] i y1 Y= y2 D. Miszczyńska, M.Miszczyński KBO UŁ 14 Z założenia y1 + y2 = 1 . Przyjmując y1 = y mamy y2 = 1 − y . Stąd y Y= 1 − y Wyznaczamy oczekiwane wygrane gracza II, jeżeli gracz I stosuje swoje strategie czyste, tj. E [i,Y] . Oznaczać je będziemy krótko Ei . y E1 = E [1,Y] = [1 2] = −y + 2 1 − y y E2 = E [ 2 ,Y] = [ −1 4] = −5 y + 4 1 − y y E 3 = E [ 3,Y] = [5 0] = 5y 1 − y E2 = E3 ⇒ − 5y + 4 = 5y ⇒ y = 2 / 5 D. Miszczyńska, M.Miszczyński KBO UŁ 15 Optymalna strategia mieszana dla gracza II ma więc postać 2 / 5 Y∗ = 3 / 5 Wartość wygranej przy y=2/5 jest równa wartości gry v=2 2 / 5 E2 = E 2, = −5 × 2 / 5 + 4 = 2 3/ 5 2 / 5 E3 = E 3, = 5 × 2 / 5 = 2 3/ 5 Gracz I nie powinien stosować żadnej swojej strategii, przy której przegrana optymalnie postępującego gracza II byłaby mniejsza od wartości gry v=2 (wygrana gracza I byłaby mniejsza od wartości gry !!!). [ ] ∗ Musi wyeliminować wszystkie strategie, dla których E i,Y < 2 . [ ] ∗ Warunek taki spełnia strategia 1 ponieważ E 1, Y = 8 / 5 < 2 . ∗ Zatem w optymalnej strategii mieszanej gracza I x1 = 0 . ∗ Aby określić pozostałe składowe wektora X należy rozwiązać pomocniczy układ równań z def . x1∗ + E X∗ ,1 = 1x1∗ − [ ] E [ X ,2] = ∗ x2∗ + x3∗ = 1 1x2∗ + 5x3∗ = 2 2 x1∗ + 4 x2∗ + 0 x3∗ = 2 D. Miszczyńska, M.Miszczyński KBO UŁ 16 ∗ Ponieważ x1 = 0 , to powyższy układ równań można zastąpić x2∗ + [ ] E [ X ,2] = x3∗ = 1 E X∗ ,1 = −1x2∗ + 5x3∗ = 2 ∗ 4 x2∗ + 0 x3∗ = 2 Wykorzystując dwa dowolnie wybrane równania powyższego układu otrzymamy x2∗ = 1 / 2 oraz x3∗ = 1 / 2 Rozwiązanie omawianej gry jest następujące X = [ 0 1 / 2 1 / 2] ∗ i 2 / 5 Y∗ = 3 / 5 oraz v=2 D. Miszczyńska, M.Miszczyński KBO UŁ II.4. 17 Iteracyjne rozwiązywanie gier macierzowych Jedną z metod przybliżonego rozwiązywania gier jest metoda symulacyjna oparta na analizie skumulowanych wygranych. Omówimy ją na przykładzie. A 2 x3 2 3 5 = 4 1 0 v=2 v=3 2≤v≤3 Proces iteracyjny prowadzimy w tablicy do momentu, gdy wykonamy minimalną liczbę iteracji (np. 8). Po ich wykonaniu możemy zakończyć proces symulacji gry, gdy: − otrzymamy błąd oszacowania wartości gry (ε) nie większy od założonego poziomu (np. ε = 0.1) − osiągniemy maksymalną liczbę iteracji (np. 100) lub W kolumnie (k) odnotowuje się numer bieżącej iteracji, a w kolumnie (ε) błąd oszacowania wartości gry. W kolumnach (gracz II) odnotowuje się skumulowane wypłaty gracza II, a w kolumnach (gracz I) skumulowane wygrane gracza I. 1. Symulację rozpoczynamy od dodania do kolumn (gracz II) pierwszego wiersza macierzy wypłat. W kolumnach (gracz II) wybieramy najmniejszą skumulowaną wypłatę; jest to wypłata 2 odpowiadająca strategii 1 gracza II. Do kolumn (gracz I) dodajemy zatem kolumnę 1 macierzy wypłat A. W kolumnach (gracz I) wybieramy największą skumulowaną wygraną; jest to wygrana 4 odpowiadająca strategii 2 gracza I. Taki wybór powoduje, że w kolejnej (k=2) iteracji do kolumn (gracz II) dodajemy wiersz 2 macierzy wypłat A. 2. W kolumnach (gracz II) wybieramy najmniejszą skumulowaną wypłatę; jest to wypłata 4 odpowiadająca strategii 2 gracza II. Do kolumn (gracz I) dodajemy zatem kolumnę 2 macierzy wypłat A. W kolumnach (gracz I) wybieramy największą skumulowaną wygraną; jest to wygrana 5 odpowiadająca strategii 1 gracza I (wybór był tutaj niejednoznaczny; wybrano strategię o niższym numerze). W wyniku tego w kolejnej (k=3) iteracji do kolumn (gracz II) dodajemy wiersz 1 macierzy wypłat A. D. Miszczyńska, M.Miszczyński KBO UŁ 18 W ten sposób przebiegają kolejne iteracje. Po 8 iteracjach wolno nam zakończyć proces obliczeniowy jeżeli błąd oszacowania wartości gry nie przekracza 10% (ε=0.1) . Taka sytuacja ma miejsce dopiero po 10 iteracjach. Rozwiązanie gry uzyskujemy zliczając w kolumnach (gracz I) i (gracz II) krotność użycia każdej strategii. Dzieląc te krotności przez liczbę wykonanych iteracji otrzymamy oszacowania składowych wektorów X∗ i Y∗ . Przybliżone rozwiązanie gry uzyskane w wyniku symulacji jest następujące X ∗ = [ 7 / 10 3 / 10] i A2x3 gracz II 1 / 2 Y ∗ = 1 / 2 0 oraz v = 49 / 20 2 3 5 = 4 1 0 gracz I v iteracja strategia 1 strategia 2 strategia 3 v ε v strategia 1 strategia 2 k a •1 a •2 a •3 a• j / k a 1• a 2• ai• / k v−v (v + v) / 2 0 0 0 0 − 0 0 − − − 1 2 3 5 2 2 4 4 2 3 2 6 4 5 2 5 5 5/2 1/2 9/4 3 8 7 10 7/3 8 6 8/3 1/3 5/2 4 10 10 15 5/2 10 10 5/2 0 5/2 5 12 13 20 12/5 12 14 14/5 2/5 13/5 6 16 14 20 7/3 15 15 5/2 1/6 11/4 7 18 17 25 17/7 18 16 18/7 1/7 5/2 8 20 20 30 5/2 20 20 5/2 0 5/2 9 22 23 35 22/9 22 24 24/9 2/9 23/9 10 26 24 35 12/5 25 25 5/2 1/10 49/20 krotność użycia 5 5 0 7 3 wartość gry częstość 5/10 5/10 0 7/10 3/10 49/20