Rozdział 4 Uczenie się w grach

Transkrypt

Rozdział 4 Uczenie się w grach
Rozdział 4
Uczenie się w grach
Na dzisiejszym wykładzie robimy krok w tył w stosunku do tego, o czym mówiliśmy
przez ostatnie tygodnie. Dotychczas mówiliśmy o dowolnych grach wieloetapowych, dziś
opowiem o grach które mają nieskończenie wiele etapów tylko formalnie, bo na każdym
z tych etapów jest rozgrywana ta sama gra jednoetapowa. Celem będzie stwierdzenie,
czy grać w taką grę można się nauczyć, a jeśli można, to w jakim sensie – do jakiego
rozwiązania doprowadzi nas używanie odpowiednich, „samouczących się” algorytmów.
Pomysł tego rodzaju, że równowagę w grze można znaleźć przy pomocy pewnej
procedury uczenia się grania w tę grę, jest prawie równie stary jak sama teoria gier.
Pierwszy algorytm tego rodzaju powstał na początku lat pięćdziesiątych, czyli w czasie,
kiedy dopiero tworzono podstawowe pojęcia teorii gier. Przypominają sobie być może
Państwo taką prostą procedurkę z 1. listy zadań, która polegała na tym, że gracze grający w pewną grę dwumacierzową zmieniali na przemian swoje strategie w ten sposób,
że dostosowywali się do strategii poprzednika, zmieniając swoją strategię na najlepszą
odpowiedź na to, co zagrał ostatnio przeciwnik, i tak na przemian. Jak sobie być może
Państwo przypominają, taka prosta procedurka nie musiała być zbieżna, ale jeśli była,
to kończyła się w równowadze Nasha. Ten mechanizm, choć niekiedy skuteczny, miał
dwie zasadnicze wady:
1. Opierał się wyłącznie na strategiach czystych, a, jak wiadomo, gra może mieć
jedyne równowagi w strategiach mieszanych.
2. Nie wykorzystywał w żaden sposób tego, co się działo na poprzednich krokach
jego działania, nie uczył się (przez co bardzo łatwo się zapętlał, nie prowadząc do
żadnego rozwiązania).
Na pomysł tego, jak udoskonalić tego typu algorytm tak, żeby nie miał powyższych
mankamentów, wpadł Brown, a dowód zbieżności zaproponowanego przez niego algorytmu podała Robinson. Jest to algorytm dla gier macierzowych (czyli o sumie zerowej),
opisanych macierzą A rozmiaru n × m. Wygląda on następująco:
Algorytm Browna-Robinson:
• Na początku algorytmu:
X = [x1 , . . . , xn ] := 0, Y = [y1 , . . . , ym ] := 0.
• Dla każdego kolejnego kroku:
Wybieramy i∗ takie, że xi∗ = maxi¬n xi . (Jeśli jest ich więcej niż jedno,
to wybieramy najmniejszy z takich indeksów).
32
Y := Y + A(i∗ , ·).
Wybieramy j ∗ takie, że yj ∗ = minj¬m yj . (Jeśli jest ich więcej niż jedno,
to wybieramy najmniejszy z takich indeksów).
X := X + (A(·, j ∗ ))T .
Intuicyjnie sens takiej procedury jest następujący: na każdym kroku gracze wybierają najlepszą odpowiedź na strategię mieszaną przeciwnika, w której gra on poszczególne
strategie z częstotliwością taką, z jaką ich używał na dotychczasowych krokach algorytmu.
Jest to więc najprostsze możliwe uogólnienie procedury z 1. listy zadań na strategie
mieszane. Jednak dla takiego algorytmu prawdziwe jest już twierdzenie:
Twierdzenie 4.1 (Robinson, 1951) Jeśli X k oznacza wartość X po k przejściach algorytmu, a Y k – wartość Y , to empiryczne rozkłady, z jakimi grają w przeciągu trwania
algorytmu gracze zbiegają do równowagi w grze macierzowej z macierzą wypłat pierwk
k
szego gracza A, a Xk i Yk zbiegają do wartości tej gry.
Tego twierdzenia nie będę dowodził. Nie będę tego robić z dwóch powodów. Po pierwsze,
choć ten algorytm jest bardzo intuicyjnym sposobem uczenia się grania w daną grę,
to dowód nie jest błyskawiczny. Z drugiej strony, ma on pewne wady, które zostały
wyeliminowane do pewnego stopnia w późniejszych algorytmach, o których będę jeszcze
mówił na wykładzie.
Pierwszą wadą tego algorytmu jest ograniczona stosowalność – jakkolwiek klasa gier,
dla których przy pomocy algorytmu Browna i Robinson można dostać w granicy równowagę, jest większa od zbioru gier (jedno)macierzowych, to w ogólności już zbieżność
nie ma miejsca. Bardzo prosty przykład gry dwumacierzowej, dla której nie tyle nie
jest on zbieżny do równowagi, ile w ogóle nie jest zbieżny, podał Shapley. Wygląda on
następująco:


1 0 0

Przykład: Rozważmy grę dwumacierzową z macierzami wypłat A = 
 0 1 0  oraz
0 0 1


0 0 1


B =  1 0 0 . Nietrudno policzyć, że jedyną równowagą w tej grze jest µ∗ = ( 13 , 31 , 13 ) i
0 1 0
1 1 1
∗
σ = ( 3 , 3 , 3 ). Niestety, jeśli zastosujemy do niej algorytm Browna-Robinson (oczywiście
zmodyfikowany dla gier dwumacierzowych), to będzie on przeskakiwał po kolei z pary
strategii (1, 1) do (1, 3), dalej do (3, 3), (3, 2), (2, 2), (2, 1), żeby na koniec powrócić do
(1, 1). W każdej z tych par strategii będzie jednak spędzał coraz więcej czasu (ilość czasu
spędzonego w danej parze strategii będzie rosła wykładniczo), dzięki czemu empiryczne
rozkłady strategii granych przez poszczególnych graczy nie będą tworzyć ciągu zbieżnego.
Drugą wadą algorytmu jest to, że jego zbieżność do równowagi jest bardzo wolna.
W związku z tym gdzieś od końca lat 90. zaczęły się rozwijać alternatywne algorytmy
uczenia się w grach, oparte na wykorzystaniu pojęcia regret (żalu). Samo pojęcie nie
ma żadnego związku z grami i definiuje się je dla dużo większej klasy algorytmów w
następujący sposób:
• Niech algorytm H na każdym swoim kroku t wybiera rozkład prawdopodobieństwa
na pewnym zbiorze alternatyw (akcji) X = {1, 2, . . . , N }, pt .
33
• Po wybraniu pt algorytm dostaje informację o tym, jaka strata wiążała się z wybraniem każdej z alternatyw na tym kroku w postaci wektora lt długości N 1 (gdzie
lit jest stratą z wybrania i-tej alternatywy). Na podstawie tego wylicza stratę ze
P
t t
t
= N
stosowania algorytmu H na t-tym kroku, lH
i=1 pi li oraz skumulowaną stratę
P
t
.
na wszystkich krokach algorytmu do T , LTH = Tt=1 lH
• Mając policzoną tę stratę, stara się ją porównać z innymi możliwymi algorytmami,
które mógł stosować, i, patrząc na to, o ile ona jest większa od najmniejszej z tych,
z którymi porównuje, ewaluuje swój algorytm. Regret to właśnie różnica pomiędzy
stratą poniesioną przy pomocy algorytmu H a najmniejszą ze strat, które mógł
ponieść stosując alternatywne algorytmy:
R = LTH − LTmin .
Oczywiście trudno sobie wyobrazić porównywanie z wszystkimi możliwymi algorytmami, których zawsze jest nieskończenie wiele. W związku z tym porównuje się
nie z dowolnymi algorytmami, ale z takimi, które są albo bardzo proste, albo są
niewielką modyfikacją algorytmu H. W zależności od tego, z algorytmami jakiego typu porównujemy, definiujemy różne rodzaje żalu. Najprostszym jest external
regret (żal zewnętrzny), w którym stratę poniesioną przez nasz algorytm porównujemy z najmniejszą ze strat poniesionych przez algorytmy polegające na graniu
jednej i tej samej akcji na każdym kroku. Można to zapisać następująco:
R = max LTH − LTi .
i∈X
Drugi rodzaj żalu, który nas będzie interesował, to tzw. swap regret2 , który definiujemy następująco:
Rsw =
N
X
i=1
"
max
j∈X
T
X
#
pti (lit
−
ljt )
.
t=1
Interpretacja nie jest już tak naturalna, jak w przypadku żalu zewnętrznego. Tutaj
rozważamy modyfikacje naszego algorytmu, polegające na tym, że każdą akcję
zamieniamy z jakąś inną (albo nie zamieniamy jej w ogóle), ale graną z tym samym
prawdopodobieństwem co akcja zamieniana w wyjściowym algorytmie3 .
Mając tak zdefiniowane pojęcie regret, wróćmy do gier, na początek o sumie zerowej. Będziemy grać raz za razem w grę macierzową o macierzy wypłat A oraz zbiorach
strategii graczy X1 = {1, . . . , n} i X2 = {1, . . . , m}. Przyjmijmy, że stratą gracza 1. na
t-tym etapie tej gry, jeśli gracz 2. stosuje strategię q t będzie minus wypłatą oczekiwaP
t
ną gracza 14 , lit,1 = m
j=1 (−aij )qj . Podobnie stratą gracza 2. na t-tym etapie gry, jeśli
P
gracz 1. stosuje strategię pt będzie jego wypłata oczekiwana5 ljt,2 = ni=1 aij pti . Przy tak
1
Zwykle zakłada się, że lt ∈ [0, 1]N , ale oczywiście można to uogólnić na straty z dowolnego przedziału
ograniczonego.
2
Tu już nie podejmuję się tłumaczenia nazwy na polski. Jakkolwiek bym to zrobił, i tak będzie to
wyglądało śmiesznie.
3
Czyli na przykład dla algorytmu, który na etapie 1. wybiera rozkład p1 = (0.25, 0, 0, 0.25, 0.5),
a na drugim p2 = (0.2, 0.3, 0, 0.5, 0), rozważamy tylko takie algorytmy, w których prawdopodobieństwa wybrania poszczególnych alternatyw są takie same, ale w innej kolejności, i w dodatku zamiana
kolejności na obu krokach jest taka sama, np: q 1 = (0, 0, 0.25, 0.5, 0.25) i q 2 = (0.3, 0, 0.2, 0, 0.5), ewentualnie takie, w których któreś dwa prawdopodobieństwa zostały zsumowane, np: r1 = (0.5, 0, 0, 0, 0.5)
i r2 = (0.7, 0, 0.3, 0, 0).
4
Minus bierze się stąd, że gracz 1. maksymalizuje swoją wypłatę, a tutaj chcemy, żeby minimalizował
stratę.
5
Tu bez minusa, bo gracz 2. w grze o sumie zerowej minimalizuje.
34
zdefiniowanych funkcjach straty prawdziwe będzie następujące twierdzenie:
Twierdzenie 4.2 Niech v będzie wartością gry macierzowej o macierzy A i niech gracz
1. gra w tę grę przez T etapów, używając procedury ON z external regret ¬ R. Wtedy
średnia wypłata gracza 1. na tych T etapach (niezależnie od zachowania przeciwnika)
jest nie gorsza niż v − R
. Podobny rezultat jest przwdziwy dla drugiego gracza.
T
Dowód: Dowód przeprowadzamy tylko dla 1. gracza. Ponieważ rozważamy tutaj external regret, to LTmin = mini∈X1 LTi . Niech q będzie rozkładem prawdopodobieństwa na X2
P
takim że qj = T1 Tt=1 qjt , czyli (jak w algorytmie Browna-Robinson) rozkładem odpowiadającym częstości, z jaką grane są poszczególne strategie na wszystkich dotychczasowych
etapach gry. Jak każdy rozkład na X2 , q jest strategią mieszaną gracza 2. w grze macierzowej zdefiniowanej za pomocą macierzy A. Z definicji wartości gry6 , v jest wypłatą,
którą gracz 1. może sobie zapewnić, niezależnie od strategii gracza 2. A zatem gracz 1 .
ma strategię (czystą) i, taką że
v ¬ u1 (δ[i], q) =
X
aij qj =
j∈X2
T
1
1 X X
aij qjt = − LTi .
T j∈X2 t=1
T
A stąd
LTmin ¬ −vT.
Podstawiając to do wzoru na external regret, dostajemy
LTON ¬ R + LTmin ¬ R − vT.
Jednak LTON to z definicji sumaryczna strata z T kroków algorytmu, a więc średnią
wypłatą będzie
R
LT
− ON ­ v − ,
T
T
a to właśnie mieliśmy udowodnić. W takim razie wystarczy, że znajdziemy procedurę, dla której żal po kolejnych T√krokach będzie wzrastał wyraźnie wolniej niż liniowo (wystarczy proporcjonalnie do T ),
aby mieć dobry algorytm uczenia się grania w grę macierzową. Co jest szczególnie budujące w tym twierdzeniu, to to, że nie precyzujemy, jakiego konkretnie algorytmu musi
używać gracz – wystarczy, żeby jego external regret był dostatecznie mały. Nie mówimy też, że przeciwnik, jak w algorytmie Browna-Robinson, musi używać takiej samej
procedury – tutaj gwarantujemy sobie zysk bliski wartości gry niezależnie od tego, jak
zachowa się przeciwnik.
Podobne twierdzenie (chociaż słabsze, i korzystające z pojęcia swap regret) jest prawdziwe dla dowolnych gier n-osobowych (już nie o sumie zerowej). Znowu straty gracza
i definiujemy jako minus jego wypłaty oczekiwane przy ustalonej strategii przeciwnika.
Konkretnie, w grze n-osobowej (X1 , X2 , . . . , Kn , u1 , u2 , . . . , un ), jeśli gracze na etapie t
używają strategii zrandomizowanych pt = (pt,1 , pt,2 , . . . , pt,n ), to stratę gracza i na etapie t ze stosowania strategii czystej k definiujemy jako lkt,i = −ui (δ[k], pt,−i ). (Tutaj
ui (q i , p−i ) oznacza wypłatę gracza i, gdy on sam stosuje strategię q i , a pozostali grają
zgodnie z p7 ). Przy tak zdefiniowanych stratach będziemy mogli udowodnić następujące
twierdzenie:
6
7
A raczej z definicji wartości dolnej.
Tego typu oznaczenie często stosuje się w teorii gier.
35
Twierdzenie 4.3 Jeśli każdy z graczy w grze n-osobowej, zdefiniowanej przy pomocy
funkcji wypłat ui , i = 1, . . . , n używa przez T kolejnych kroków procedury iteracyjnej,
której swap regret jest ¬ R, to rozkład empiryczny strategii granych przez graczy przy
-równowagą skorelowaną8 w powyższej grze.
pomocy tych procedur jest R
T
Dowód:9 Pokażemy, że spełniona jest nierówność dla gracza i definiująca R
-równowagę
T
skorelowaną. W definicji swap regret mamy powiedziane, że modyfikując algorytm akcje
wymieniamy między sobą. Niech F : Xi → Xi będzie ustaloną funkcją, przy pomocy której robimy tę modyfikację. Ponieważ swap regret jest maksimum po wszystkich
możliwych modyfikacjach algorytmu, to na pewno prawdziwa będzie nierówność
R ­ LTON − LTON,F ,
gdzie ON jest algorytmem stosowanym przez gracza i, a LTON,F oznacza stratę poniesioną
na T krokach przez algorytm ON zmodyfikowany przy pomocy funkcji F .
Jeśli teraz rozpiszemy sobie prawą stronę powyższej nierówności, dostaniemy
−
+
T Z
X
···
t=1 X1
T Z
X
Z
Xn
···
t=1 X1
Z
Xn
ui (si , s−i ) dpt,1 (s1 ) · · · dpt,n (sn )
ui (F (si ), s−i ) dpt,1 (s1 ) · · · dpt,n (sn ).
Oznaczmy teraz przez Q rozkład empiryczny (na X1 × · · · × Xn ) strategii granych przez
graczy na pierwszych T krokach. Można go oczywiście uzyskać jako średnią arytmetyczną
łącznych rozkładów strategii graczy na wszystkich krokach. Zapisując ostatnie wyrażenie
przy pomocy Q dostaniemy
T −
Z
i
X1 ×···×Xn
−i
i
−i
ui (s , s ) dQ(s , s ) +
Z
i
X1 ×···×Xn
−i
i
−i
ui (F (s ), s ) dQ(s , s ) .
Ale to oznacza, że
Z
X1 ×···×Xn
ui (si , s−i ) dQ(si , s−i ) −
Z
X1 ×···×Xn
ui (F (si ), s−i ) dQ(si , s−i ) ­
R
,
T
co mieliśmy udowodnić. 8
ε-równowagę skorelowaną definiujemy analogicznie do ε-równowag Nasha. ε-równowagą skorelowaną
nazywamy rozkład prawdopodobieństwa pε na produkcie przestrzeni strategii czystych graczy X1 ×· · ·×
Xn , spełniający dla każdego i ¬ n warunki
Z
Z
ui (si , s−i ) dpε (si , s−i ) ­
ui (f (si ), s−i ) dpε (si , s−i ) − ε
X1 ×···×Xn
X1 ×···×Xn
dla dowolnej funkcji f : Xi → Xi , czyli spełniający warunki definiujące równowagę skorelowaną z
dokładnością do ε.
Osoby, które pamiętają, jak definiowaliśmy równowagę skorelowaną dla gier dwumacierzowych, zapewne pamiętają trochę inne nierówności niż te powyżej (z dokładnością do ε). Tam po pierwsze występowały sumy, nie całki (ale każdą całkę po zbiorze skończonym można zapisać przy pomocy sumy).
Po drugie tam nie pojawiała się żadna funkcja f . Zamiast tego pojawiał się warunek „dla każdych
k, k 0 ∈ Xi ”. Tyle że ta funkcja f , to właśnie przypisanie k, k 0 . Zapis, jaki stosujemy tutaj, będzie
wygodny dla zrozumienia dowodu właśnie omawianego twierdzenia.
9
Nie było go na wykładzie, bo zabrakło czasu.
36
Uwaga 4.1 Oczywiście konsekwencją powyższego twierdzenia jest to, że jeśli gracze
stosują strategie, których swap regret rośnie subliniowo wraz ze wzrostem T , to graniczny
rozkład strategii graczy jest (już nie ε) równowagą skorelowaną.
Uwaga 4.2 W przypadku tego twierdzenia (i powyższej uwagi) też nie mamy powiedzianego, jakie konkretnie procedury mieliby stosować gracze. W szczególności każdy z
nich może stosować inną procedurę iteracyjną uczenia się. Jeśli tylko swap regret będzie
odpowiednio ograniczony, otrzymany rozkład będzie odpowiednią ε-równowagą skorelowaną.
Oczywiście oba powyższe twierdzenia, jak i uwagi do nich, mają charakter trochę
teoretyczny. Żeby można było je rzeczywiście zastosować, potrzebujemy jakichś konkretnych procedur, dla których regret będzie rósł odpowiednio wolno. Takich procedur
powstało wiele (dziedzina rozwija się na poważnie od stosunkowo niedawna, ale „stosunkowo” oznacza tutaj połowę lat 90., był więc czas na stworzenie większej ich liczby).
Ja na wykładzie podam tylko jedną z nich. Jej własności (to, że dla niej w odpowiedni
sposób ograniczony jest external regret) oraz jej modyfikacji, pozwalającej na podobne
ograniczenie swap regret, będą podane jako twierdzenia, ale bez dowodów.
Polynomial Weigths Algorithm
• Na początku algorytmu:
wi1 := 1 oraz p1i := N1 dla i ∈ X.
• Dla t = 1 do T :
wt
wit := wit−1 (1 − ηlit−1 ), pti := P i
i∈X
wit
dla i ∈ X.
η jest tutaj parametrem algorytmu. Odpowiednie jego dobranie gwarantuje jego lepsze własności, dokładniej:
n√
o
ln N T , 12 , to external regret dla powyższego algorytTwierdzenie 4.4 Jeśli η = min
√
mu po T krokach jego działania jest ograniczony z góry przez 2 T ln N (przy założeniu,
że straty na kolejnych krokach są z przedziału [0, 1]).
Znajomość powyższego algorytmu pozwala nam także na stworzenie algorytmu, dla
którego swap regret po T krokach będzie odpowiednio mały. Będzie on wyglądał następująco:
• Uruchamiamy jednocześnie N kopii procedury iteracyjnej A.
• Na każdym kroku t:
t
t
k-ta kopia A zwraca rozkład qkt = (qk,1
, . . . , qk,N
) na X.
P
t
t t
p obliczamy rozwiązując układ N równań postaci ptj = N
i=1 pi qij .
Za A bierzemy algorytm o wolno rosnącym external regret. Prawdziwe jest bowiem
następujące twierdzenie:
Twierdzenie 4.5 Jeśli external regret dla algorytmu A po T krokach jest ¬ R, to swap
regret dla powyższego algorytmu jest ograniczony z góry przez N R. W szczególności, jeśli
jako algorytm A w powyższej procedurze
√ wykorzystamy Polynomial Weigths Algorithm,
swap regret jest równy co najwyżej 2N T ln N .
37