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.