Autor: Michał Salewski Gry grafowe. Autor: Michał Salewski
Wstęp. Gry kombinatoryczne. Gry kombinatoryczne są to gry spełniające następujące warunki: Uczestniczy w nich dwóch graczy Gracze wykonują ruchy naprzemiennie. Wygrywa gracz który wykona ostatni ruch (normalne warunki gry). Każda gra kończy się po skończonej liczbie ruchów (warunek kończący). Przypadek nie ogrywa roli, tzn. nie są dozwolone ruchy losowe jak: rzut kostką, rozdawanie kart itd.
Wstęp. Gry kombinatoryczne. c.d. Gry kombinatoryczne są grami o doskonałej informacji. Zasady gry określają dozwolone ruchy dla obu graczy. W naszych dalszych rozważaniach skupimy się na grach kombinatorycznych neutralnych (obiektywnych), czyli takich które nie rozróżniają graczy w swoich zasadach (obaj gracze mają te same możliwości wykonania ruchu z każdej pozycji).
Gry grafowe. Wprowadzenie. Gry grafowe jest to sposób opisywania gier kombinatorycznych, poprzez sprowadzenie ich do gier rozgrywanych na grafach skierowanych. Dokonuje się tego poprzez utożsamienie pozycji w grze z wierzchołkami grafu oraz utożsamienie ruchów w grze z krawędziami w grafie.
Gry grafowe. Definicja grafu skierowanego. Grafem skierowanym G nazywamy uporządkowaną parę , gdzie jest niepustym zbiorem wierzchołków (pozycji), a jest funkcją która każdemu wierzchołkowi przyporządkowuje podzbiór , n . Dla ustalonego , reprezentuje pozycje do których gracz może wykonać ruch z wierzchołka (pozycje te nazywa się potomkami wierzchołka ). Jeżeli jest zbiorem pustym, to n nazywamy pozycją końcową (lub wierzchołkiem końcowym).
Gry grafowe. Zasady gier grafowych. Dwu osobową grę kończącą się zwycięstwem jednego z graczy, możemy rozegrać na grafie G według następujących zasad: 1.) Gracz 1 wykonuje pierwszy ruch, następnie v uczestnicy gry na przemian wykonują ruchy. 2.) Na pozycji , gracz może wykonać ruch na jedną z pozycji . 3.) Gracz który podczas swojej kolejki ma wykonać ruch z pozycji końcowej, przegrywa.
Gry grafowe. Dodatkowe założenie. Ponieważ przy tych zasadach gra może trwać w nieskończoność, w analizach początkowo ograniczymy się do grafów progresywnie ograniczonych. Graf progresywnie ograniczony to taki graf, w którym każda ścieżka (mająca początek w dowolnym wierzchołku v ), ma długość mniejszą bądź równą od pewnej ustalonej liczby . W tego typu grafach nie ma cykli.
Gry grafowe . Przykład 1. Jako przykład posłuży nam gra w zbieranie. Mamy stos 10 żetonów i każdy z graczy może zabrać 1,2 lub 3 żetony . Gracz , który zabierze ostatni żeton wygrywa. W tym przypadku zbiór wierzchołków ma postać X={0,1, .. ,10}. Zauważmy, że:
Gry grafowe . Przykład 1. W rezultacie nasza gra ma reprezentacje grafową
Funkcja Sprague-Grundy'ego. Definicja. Gry grafowe mogą być analizowane za pomocą funkcji Sprague-Grundy'ego. dd Definicja Funkcją Sprague-Grundy'ego z grafu , nazywamy funkcje zdefiniowaną wzorem: Zatem wartość funkcji w punkcie to najmniejsza nieujemna liczba całkowita, która nie występuje wśród wartości S-G potomków wierzchołka .
Funkcja Sprague-Grundy'ego. Definicja c.d Alternatywnie definicje funkcji Sprague-Grundy'ego możemy zapisać za pomocą operacji matematycznej mex (minimal excludant) : gdzie mex, ze zbioru nie ujemnych liczb całkowitych, definiujemy jako najmniejszą nieujemną liczbę całkowitą niewystępującą w tym zbiorze.
Funkcja Sprague-Grundy'ego. Znajdowanie wartości S-G. Zauważmy, że funkcja S-G jest zdefiniowana rekursywnie, zatem znajdowanie jej wartości dla grafu skierowanego zaczynamy od wierzchołków (pozycji) końcowych. Dla pozycji końcowej x ,wartość funkcji S-G wynosi 0 z definicji. Dla wierzchołków, dla których wszyscy potomkowie są wierzchołkami końcowymi funkcja S-G przymuje wartość 1. Następnie możemy znajdować wartości funkcji S-G po kolei dla wierzchołków, których wszyscy potomkowie mają już wyznaczone wartości funkcji S-G.
Funkcja Sprague-Grundy'ego. Przykład 2. 1 3 2 2 1 1 1 2
Funkcja Sprague-Grundy'ego. Znaczenie wartości S-G. Wartości funkcji Sprague-Grundy'ego dla grafu reprezentującego pewną grę kombinatoryczną, pozwalają nam w łatwy sposób znaleźć N-pozycje i P-pozycje w tej grze. Mianowicie: - pozycje x, dla których g(x)=0 są P-pozycjami - wszystkie pozostałe pozycje są N-pozycjami Zatem strategią wygrywającą jest poruszanie się w każdym ruchu do wierzchołka o wartości Sprague-Grundy'ego równej 0.
Funkcja Sprague-Grundy'ego. Przykład 3. Powróćmy do gry z przykładu 1 (Zbieranie żetonów), której reprezentacja grafowa była następująca: Wartości funkcji S-G dla tej gry przedstawia tabelka: x 1 2 3 4 5 6 7 8 9 10 g(x)
Funkcja Sprague-Grundy'ego. Bardziej ogólne grafy. Dopuszczając grafy w których występują cykle, może się okazać że : Funkcja S-G nie istnieje. Nawet jeśli funkcja S-G istnieje, nie można znaleźć jej za pomocą prostych metod omówionych wcześniej. Dojdzie do sytuacji w której znając funkcje S-G dla danego grafu, okaże się że nie jesteśmy w stanie w prosty sposób wskazać strategii wygrywającej.
Funkcja Sprague-Grundy'ego. Przykład 4 Gra reprezentowana przez poniższy graf nie spełnia warunku kończącego, tzn może trwać w nieskończoność. Graf ten też nie posiada funkcji S-G.
Sumy gier Kombinatorycznych . Mając kilka gier kombinatorycznych możemy stworzyć nową grę, która będzie sumą gier kombinatorycznych. Rozgrywka w takiej grze opiera się na zasadach: gracze grają naprzemiennie ruch gracza polega na wybraniu 1 gry i wykonaniu w niej legalnego ruchu gra jest kontynuowana dopóki w każdej grze nie zostanie osiągnięta pozycja końcowa
Sumy gier Kombinatorycznych. c.d gracz wykonujący ostatni ruch wygrywa W celu analizy gier będących sumami gier kombinatorycznych wprowadza się pojęcie sumy gier grafowych oraz Twierdzenie Sprague-Grundy'ego.
Suma gier grafowych, to gra rozgrywana na sumie grafów. Definicja: Sumy gier grafowych. Suma gier grafowych, to gra rozgrywana na sumie grafów. Definicja: Sumą n grafów : nazywamy graf gdzie: zaś zbiór potomków wierzchołka definiujemy za pomocą wzoru:
sume n grafów oznaczamy symbolem: Sumy gier grafowych c.d sume n grafów oznaczamy symbolem:
Twierdzenie Sprague-Grundy'ego. Niech będzie funkcją Sprague-Grundy'ego grafu , wówczas graf ma funkcje Sprague-Grundy'ego zdefiniowaną wzorem:
Twierdzenie Sprague-Grundy'ego Dowód (zarys). Niech będzie dowolnym punktem z X, zaś Dowód tego twierdzenia przeprowadza sie w 2 krokach. dla fukcji Sprague-Grundy'ego . W 1 kroku wykazujemy, że dla każdej nieujemnej liczby całkowitej a<b, istnieje potomek który ma wartość funkcji S-G równą a. W 2 kroku wykazuje się, że nie istnieje potomek d , który ma wartość funkcji S-G równą b. Stąd wartość funkcji S-G dla punktu x, będzie musiała być równa b.
Twierdzenie Sprague-Grundy'ego. Wniosek z twierdzenia: Każda (progresywnie ograniczona) neutralna gra jest odpowiednikiem gry Nim o jednym stosie.
Twierdzenie Sprague-Grundy'ego. Przykład 5. Rozważmy gre będącą sumą 3 gier w zabieranie. Z 1 stosu liczącego 9 żetonów, każdy gracz może zabrać od 1 do 3 żetonów. Z 2 stosu liczącego 10 żetonów, każdy gracz może zabrać od 1 do 5 żetonów. Z 3 stosu liczącego 14 żetonów, każdy gracz może zabrać od 1 do 7 żetonów.
Twierdzenie Sprague-Grundy'ego. Przykład 5 c.d Nasza pozycja wyjściowa to (9,10,14). Jakie są optymalne ruchy (tzn prowadzące do P-pozycji)? Z stosu 3 zdejmujemy 1 żeton Z stosu 1 zdejmujemy 3 żetony.
Thomas S.Ferguson „Game Theory” Biliografia Thomas S.Ferguson „Game Theory” Brit C. A. Milvang-Jensen „Combinatorial Games,Theory and Applications”