Teoria gier Teoria gier

advertisement
Teoria gier
Gry dzielimy ze względu na:
• liczbę graczy:
– 1-osobowe, bez przeciwników (np. pasjanse, 15-tka, gra w życie, itp.),
– 2-osobowe (np. szachy, warcaby, go, itp.),
– wieloosobowe (np. brydż, giełda, itp.);
• wygraną/przegraną:
– o sumie zerowej (suma wygranych jest dokładnie równa sumie przegranych),
– o sumie niezerowej (np. dylemat więźnia, lotto, itp.);
• współpracę:
– kooperacyjne (np. gospodarka),
– niekooperacyjne (np. ucieczka-pościg, itp.);
• rolę
–
–
–
losowości:
całkiem losowe (np. lotto, ruletka, itp.),
częściowo losowe (np. brydż, itp.),
deterministyczne (np. szachy, itp.);
• wiedzę graczy o stanie.
Wykład 7, 31 III 2010, str. 2
Teoria gier
Odróżniać losowość od wiedzy graczy o stanie!
determinizm
losowość
pełna wiedza
graczy o stanie
szachy
gry z kostką
(np. chińczyk)
Do opisu gry potrzeba:
• specyfikacji graczy,
• określenia ich celów,
• opisu dostępnej informacji,
• specyfikacji ich strategii.
niepełna wiedza
graczy o stanie
okręty
brydż
Teoria gier
Prosta gra macierzowa, 2-osobowa, o sumie zerowej:
• gracze wykonują ruchy jednocześnie;
• macierz wypłat dla A (skoro suma zerowa, wystarczy podać, ile wygrywa jeden gracz, drugi przegrywa tyle samo):
a1
a2
...
an
ruchy gracza A
ruchy gracza B
b1
b2
...
bk
u11
u12
...
u1k
u21
u22
...
u2k
...
...
...
...
un1
un2
...
unk
uij ∈ R dla
hi, ji ∈ [1 . . n] × [1 . . k]
Wykład 7, 31 III 2010, str. 4
Teoria gier
Prosta gra macierzowa, 2-osobowa, o sumie zerowej:
PAPIER, KAMIEŃ, NOŻYCE
• gracze wykonują ruchy jednocześnie;
• macierz wypłat dla A:
B
papier
kamień
nożyce
papier
0
1
−1
kamień
−1
0
1
nożyce
1
−1
0
A
Teoria gier
Prosta gra macierzowa, 2-osobowa, o sumie niezerowej:
DYLEMAT WIĘŹNIA
• gracze wykonują ruchy jednocześnie;
• macierz wypłat:
A
B
współpraca
zdrada
współpraca
zdrada
−3−3
0−20
−200
−10−10
Strategia optymalna: zawsze zdradzać.
Wykład 7, 31 III 2010, str. 6
Dygresja polityczno-ewolucyjna
Mantra liberalna:
Niech każdy dba o swój interes,
wtedy interes wspólny sam o siebie zadba.
W sytuacji dylematu więźnia (np. w sprawach globalnych, jak wpływ na
klimat) interesy jednostkowe nie składają się w interes wspólny. . .
Problem ewolucjonistów:
Skąd w przyrodzie biorą się zachowania altruistyczne?
Geny osobnika, który poświęca się dla bliźniego/grupy/społeczności, powinny zanikać, bo to jest gorsza strategia gry niż egoizm. . .
Dygresja polityczno-ewolucyjna
Hipotetyczna odpowiedź:
Iterowany dylemat więźnia:
Gramy wiele razy i w każdej rozgrywce bierzemy pod uwagę zachowanie
przeciwnika/partnera w poprzednich rozgrywkach.
Jeśli liczba rozgrywek nie jest z góry ograniczona, to strategią lepszą od
pełnego egoizmu jest „wet za wet”:
• na początku współpracować,
• w następnych turach robić tak, jak poprzednio zrobił przeciwnik;
• co jakiś czas (losowo) „darować winę” — pójść na współpracę mimo
że przeciwnik zdradził.
Być może liberalny ład społeczny może działać na zasadzie iterowanego
dylematu więźnia. . .
Być może altruizm powstaje z iterowanego dylematu więźnia. . .
Wykład 7, 31 III 2010, str. 8
Teoria gier
Gra w zapałki (minimax):
5
1
-1
Gracze kolejno biorą
z kupki po 1 lub 2
zapałki.
4
-1
Kto weźmie ostatnią
— przegrywa.
3
-1
Wygrana
• czerwonego: 1;
• zielonego: 0.
2
1
-2
2
1
-1 -2
-1 -2
-1
1
-1
2
-2
1
0
3
1
1
0
0
-2
0
1
1
1
0
0
-1
1
0
1
0
Czerwony zainteresowany jest maksymalizacją wyniku.
Zielony zainteresowany jest minimalizacją wyniku.
0
-2
1
1
-1 -2
-1
1
-1
-1
0
1
0
1
0
0
0
0
0
Teoria gier
Strategia „minimax”:
• minimax stosuje się do gier 2-osobowych, w których gracze wykonują
ruchy na przemian; jeden z nich zainteresowany jest minimalizacją a
drugi maksymalizacją wyniku;
• ocenia się wszystkie pozycje w pełnym drzewie gry — począwszy od
liści i skończywszy na korzeniu:
– najpierw na liściach wpisuje się wyniki zakończonych rozgrywek;
– potem na każdym wierzchołku wewnętrznym wpisuje się minimum
lub maximum (zależnie od tego, który gracz ma ruch) ocen dzieci
tego wierzchołka;
• w każdej pozycji gracz powinien wykonać ruch prowadzący do pozycji
o najniższej lub najwyższej (zależnie od tego, który z nich) ocenie.
Wykład 7, 31 III 2010, str. 10
Teoria gier
Funkcja oceny pozycji w strategii „minimax”:
int ocena (Stan_planszy pl, int czyj_ruch) {
if (gra_zakonczona(pl, czyj_ruch))
return wielkosc_wyplaty(pl, czyj_ruch);
else {
int i, min, max, oc;
Stan_planszy pl1;
min = infty; max = -infty;
for (i in zbior_mozliwych_ruchow(pl,czyj_ruch)) {
wykonaj_ruch(&pl1, pl, i);
oc = ocena(pl1, (czyj_ruch == MAX ? MIN : MAX));
if (oc > max) max = oc;
if (oc < min) min = oc;
if (czyj_ruch == MAX) return max;
else return min;
}
}
}
Teoria gier
×
Wygrana
• krzyżyka: 1;
• kółka: -1.
×
×
···
···
× ◦ ×
◦
×◦
···
×
◦
···
××
◦
· · ·◦
···
× × ×
◦
◦×
···
Krzyżyk zainteresowany jest
maksymalizacją.
×
×
◦
×
···
···
×◦
× ◦ ×
×
×
×
◦×
◦×
◦×
◦×
◦× ◦ ◦×
◦
◦
◦
···
···
···
···
···
×× × × ×
×
×
◦×
◦×
◦×
◦× ×◦×
◦
◦
◦
×◦ × ◦
···
···
···
× ◦
◦×
×◦
×◦
◦×
×◦
···
×
◦×
◦×◦
···
···
×
◦ ◦×
×◦
···
××◦ × ◦ × ◦
◦× ×◦×
◦×
-1
×◦
×◦ ××◦
···
Kółko zainteresowane jest
minimalizacją.
Drzewa nawet prostych gier są na ogół
olbrzymie, a minimax trzeba zacząć od
liści, więc wydaje się, że potrzebne jest
całe drzewo.
···
×◦ ◦ × ◦
×◦×
×◦×
1
-1
×◦ ◦×◦
×◦ ◦
×◦×
1
××◦
Wykład 7, 31 III 2010, str. 12
Teoria gier
Heurystyczna ocena pozycji:
• budujemy fragment drzewa gry o takiej wysokości, na jaką nas stać;
liście tego fragmentu są wewnętrznymi węzłami całego drzewa, więc
nie ma pewności, kto w nich wygrywa;
• stosujemy jakąś heurystyczną ocenę pozycji na liściach tego fragmentu;
• propagujemy na cały fragment ocenę z liści stosując zwykły minimax;
• wybieramy ruch wg minimaxu;
• usuwamy oceny; przy następnym ruchu budujemy nowy fragment drzewa sięgający głębiej i oceniamy jak wyżej.
Teoria gier
Gra w zapałki:
8
Heureza:
(liczba zapałek) mod 3
-1
7
Czerwony: jak najwyższa ocena
Zielony: jak najniższa ocena
Uwaga:
Dla tej gry taka heureza nie ma
sensu; to tylko taka sobie
ilustracja działania algorytmu.
-2
-1
6
6
-2
-1
5
-2
5
4
-1
3
2
1
-1 -2
2
2
1
-2
-1 -2
1
1
1
0
Z pktu widzenia Czerwonego:
1. biorę 2 zapałki; i sadzę, że Zielony weźmie 2;
2. biorę 1 zapałkę; i sadzę, że Zielony weźmie 2;
3. . . .
Wykład 7, 31 III 2010, str. 14
Teoria gier
Przycinanie α-β:
×
× × ◦
◦ ×
× ◦
• ruch ma kółko, zainteresowany
minimalizacją;
• to poddrzewo nie będzie grało, bo
ma wyższą ocenę niż sąsiednie.
◦
◦ ×
× ◦
◦
×
× ◦ × -1
× ◦
···
◦
◦ ×
× × ◦
×
···
× ◦ ◦
× ◦ ×1
× ◦
× ◦ ◦
× ◦ × 1
× × ◦
◦
×
× ◦ × -1
◦ × ◦
0
W takiej sytuacji tego poddrzewa można
w ogóle nie rozpatrywać.
0
Teoria gier
Przycinanie α-β:
min
a
­b
max
?
b
A
B
C
Jeśli a ¬ b, to drzewa C nie trzeba przeglądać,
bo gracz min nie pozwoli tam wejść, wybierze poddrzewo A.
Download