Co bylo na wykladzie ?



4.10.2005

11.10.2005

18.10.2005

25.10.2005

8.11.2005
Gra na nieskończonej arenie.  Na wykładzie 18.10 poznaliśmy algorytm rozstrzygający, czy dana
pozycja jest skończenie wygrywająca dla Ewy, w czasie liniowym względem rozmiaru areny.  
A co jeśli arena jest nieskończona?              
Okazuje się, że czasem potrafimy zredukować taka grę do przypadku skończonego.
Automatem ze stosem nazwiemy układ  Q - zbiór stanów, Gamma - alfabet i delta -zbiór reguł (przejść)
postaci  q z ---> q' z' z  (push z') lub q z ---> q'  (pop).  Ponadto zakładamy, że Q dzieli sie na stany Ewy Q_E
i stany Adama Q_A.  Automat wyznacza grę, w ktorej pozycjami są konfiguracje automatu, dokładniej
Pos_E = Q_E Gamma*,     Pos_A = Q_A Gamma* , a ruchy polegają na wykonaniu jednego przejścia,
tzn.   q z w ---> q' z' z w, o ile jest reguła q z ---> q' z' z, oraz q z w ---> q' w, o ile jest reguła    q z ---> q'.
Przykład.  Q = {p,q}, Gamma = {a}, delta = { q a ---> q a a,  q a ---> p, p a ---> p }, generuje graf:
         qa ---> qaa ---> qaaa ---> ...
          |             |             |      
         v            v            v
         p  <--- pa   <---  paa <---  ...

Twierdzenie (I.Walukiewicz, 1996). Istnieje algorytm, który dla danego automatu ze stosem A rozstrzyga,
czy pozycja "q z"  w wyżej opisanej grze jest skończenie wygrywająca dla Ewy, w czasie wykładniczym ze względu na |A|.                              
Uwaga.  Twierdzenie jest w istocie mocniejsze i dotyczy tzw. gier parzystosci, o których będziemy jeszcze mówic.
Dla dowodu okreslmy najpierw wariant powyższej gry:  G(q,z,S), gdzie S jest podzbiorem Q; w tej grze pozycją
poczatkową jest "qz", natomiast wszystkie pozycje "p" (tzn. stos pusty, stan p), gdzie p  jest w S,  są pozycjami Adama
(oczywiscie terminalnymi, a więc wygrywa w nich Ewa).   

 Z kolei określamy grę skończoną G*.   Ma ona nastepujace pozycje:  
        Good (q,z,S)   pozycja Ewy lub Adama, zależnie czyje jest q,
        intuicja: Ewa potrafi  wygrać grę G(q,z,S),                                                                        
        T (terminalna Adama),  
        F (terminalna Ewy),                                                                    
       Push (q,z,S,q',z') pozycja Ewy,
       Choose (q,z,S,q',z',S') pozycja Adama.
       Ruchy:
       
Good (q,z,S) ---> T,  gdy q z ---> q' , gdzie q' jest w  S,        
       Good (q,z,S) ---> F,  gdy q z ---> q' , gdzie q' nie jest w  S,
       Good
(q,z,S) ---> Push(q,z,S,q',z') ,  gdy q z ---> q' z' z,
       Push (q,z,S,q',z') ---> Choose (q,z,S,q',z',S')  (S' dowolny)
       Choose (q,z,S,q',z',S')  ---> Good (q',z',S')
       Choose (q,z,S,q',z',S')  ---> Good (q'',z,S), dla każdego   q''  w S'.

Intuicja: Przypomnijmy, że w pozycji Good (q,z,S) Ewa twierdzi, że potrafi wygrać grę
G(q,z,S).  Jesli wykonane jest przejście q z ---> q' z' z  (ruch do pozycji Push), Ewa pokazuje nowy zbior
S'  (ruch do pozycji Choose), o którym twierdzi dwie rzeczy:
(1) potrafię wygrac grę G(q',z',S'), a zatem jeśli z' zostanie po raz pierwszy zdjęte ze stosu, to  
     stan będzie w S'  (pozycja Good (q',z',S')),
(2) z każdego stanu q'' w S' potrafię wygrać  grę G(q'',z,S)  (pozycja Good (q'',z,S)).
Zauwazmy, że koniunkcja (1) i (2) oznacza, że Ewa rzeczywiście potrafi wygrać grę
G(q,z,S) z pozycji q'z'z.
W dwóch ruchach z pozycji Choose, Adam może "sprawdzić", czy Ewa mówila prawdę.

Lemat. Pozycja Good (q,z,S) jest skończenie wygrywająca dla Ewy w G* <===> pozycja startowa
qz jest skończenie wygrywająca dla Ewy w G(q,z,S).

Dowód lematu:  "==> " Przez indukcję na min (Good (q,z,S) ), patrz wykład z 18.10.
"<==" Przez indukcje na dlugość strategii w grze G(q,z,S) (patrz zadanie 1 ).

       
Ciag dalszy nastapi.