280 likes | 551 Views
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).
E N D
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. 2 1 3 0 0 0 2 2 1 1 0 0 0 0 0 1 2 0
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:
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.
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:
Sumy gier grafowych c.d sume n grafów oznaczamy symbolem:
Twierdzenie Sprague-Grundy'ego. Twierdzenie: 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.
Biliografia • Thomas S.Ferguson „Game Theory” • Brit C. A. Milvang-Jensen „Combinatorial Games,Theory and Applications”