370 likes | 642 Views
GRA NIM Gra w „zapałki”. A. Sumionka. Krótkie informacje na temat gry:. Krótkie informacje na temat gry:. Starodawna gra marynarska; Gra dwu i wieloosobowa; Gracze wykonują ruchy naprzemian; Złożona ze stosów, w których znajduje się pewna ilość zapałek (żetonów);
E N D
GRA NIM Gra w „zapałki” A. Sumionka
Krótkie informacje na temat gry: • Starodawna gra marynarska; • Gra dwu i wieloosobowa; • Gracze wykonują ruchy naprzemian; • Złożona ze stosów, w których znajduje się pewna ilość zapałek (żetonów); • Na każdy ruch składa się wybranie stosu i zabranie z niego zapałek (żetonów); • Wygrywa gracz, który zabierze ostatni żeton.
Każdą konfigurację można opisać za pomocą skończonego ciągu dodatnich liczb całkowitych, gdzie ilość (czyli długość) tego ciągu, to ilość stosów na stole, a każdy wyraz jest liczbą zapałek w danym stosie. Dodatkowo: • Ciąg jest nierosnący; • Zmiana kolejności wyrazów ciągu odpowiada przenumerowaniu stosów zapałek;
Przykład: Ciąg [2,5] oznacza, że mamy do czynienia z dwoma stosami, w których: w pierwszym są 2 zapałki, w drugim 5. Ciąg [2,5] możemy zastąpić ciągiem [5,2], a np. ciąg [3,8,17,11,8] – ciągiem [17,11,8,8,3].
Każdy skończony nierosnący ciąg dodatnich liczb całkowitych nazywamy UKŁADEM
Oznaczenia: P Układ u należy do wtedy i tylko wtedy, gdy z u zawsze przechodzimy do pewnego układu należącego do . Układ u należy do wtedy i tylko wtedy, gdy z u można przejść w jednym ruchu do pewnego układu należącego do . N N P
Istnieje tylko jeden układ końcowy, a mianowicie [0,0,0], który jest układem P. Rozwiązanie z 1 stosem jest trywialne – zabiera się cały stos. Stąd jakikolwiek układ z dokładnie jednym niepustym stosem, np. [0,0,x], gdzie x>0 jest układem N. Dla gry z dwoma stosami układy P to takie, w których dwa stosy mają równą ilość żetonów: [0,1,1], [0,2,2] itd.
Stosy [1,1,1],[1,1,2],[1,1,3] oraz [1,2,2] są układami N, ponieważ mogą zostać zmienione na [0,1,1] lub [0,2,2]. Kolejnym najprostszym układem jest [1,2,3] i musi on być układem P. Możemy tak pójść dalej i przekonać się, że kolejnymi najprostszymi układami P są [1,4,5] oraz [2,4,6].
Nim-suma dwóch nieujemnych liczb całkowitych to ich dodawanie bez przenoszenia w systemie dwójkowym. x - nieujemna liczba całkowita Zapisujemy: Nim-sumę dwóch liczb całkowitych otrzymujemy wykonując sumę modulo 2 na poszczególnych bitach ich reprezentacji binarnych. Reprezentacja w systemie dwójkowym:
DEFINICJA Nim-suma i wynosi , co zapisujemy jako :⊕ = ,gdzie dla każdego k, zk = xk + yk (modulo 2), czyli zk = 1 wtedy, gdy xk + yk =1 i zk = 0 w każdym innym przypadku.
Przykład: Mamy obliczyć: 22 ⊕ 51, czyli przechodząc do reprezentacji binarnej: (10110)2 ⊕ (110011)2 Co wyliczamy w następujący sposób: 22 = 101102 51 = 1100112 nim-sum = 1001012 = 37
WŁASNOŚCI NIM-SUMY Łączność 0 jest elementem neutralnym dodawania: Każda liczba jest swoją odwrotnością: Przemienność PONADTO:
3. TWIERDZENIE C. L. BOUTONA (1902)
Mamy dany układ początkowy [n1,…,nk]. W grze Nim układ ten jest układem P wtedy i tylko wtedy, gdy nim-suma jego składowych wynosi zero:
Przykład: 1. Czy układ [1,2,3] należy do P? 1 = 012 2 = 102 3 = 112 nim-sum = 002 = 0 czyli twierdzenie potwierdza, że [1,2,3] Є P
2. Czy układ [13,12,8] należy do P? 13 = 11012 12 = 11002 8 = 10002 nim-sum = 10012 = 9 Czyli zgodnie z twierdzeniem jest to układ N.
Po zabraniu 9 żetonów ze stosu, w którym było 13 mamy następującą sytuację: 4 = 1002 12 = 11002 8 = 10002 nim-sum = 00002 = 0
4. DOWÓD TWIERDZENIA BOUTONA
Niech P oznacza zbiór układów Nim z nim-sumą wynoszącą zero i niech N oznacza zbiór dopełniający, czyli zbiór układów o dodatniej nim-sumie. By sprawdzić to twierdzenie, musimy wykazać: Wszystkie układy końcowe znajdują się w P. Z każdego układu w N jest możliwość ruchu do układu P. Każdy ruch z układu w P następuje do układu w N. 1. 2. 3.
1. Jedynym układem końcowym jest układ, w którym w żadnym stosie nie ma żadnych żetonów, i:
2. Załóżmy, że Niech zbiór Zapisując każde mi w postaci binarnej, zauważymy, że mamy nieparzystą liczbę wartości , dla których postać binarna mi ma jedynkę w najbardziej wysuniętej na lewo pozycji w wyrażeniu s. Wybierzmy 1 takie i. Zauważmy, że , ponieważ nie ma żadnej jedynki w tej najbardziej wysuniętej na lewo pozycji, a przez to wynosi mniej niż jakakolwiek liczba, która wyrażona binarnie ma w tym miejscu jedynkę.
2.(cd) Tak więc możemy zrobić ruch, w którym zabierzemy z i-tego stosu żetonów, tak ze mi staje się Nim-suma tak powstałego układu: wynosi zero, więc ten nowy układ leży w P.
3. Załóżmy, że Musimy pokazać, ze dowolny ruch z prowadzi do układu Zapisujemy w postaci binarnej:
3.(cd) Wiemy z założenia, że Oznacza to ze nim-suma dla każdego j. Załóżmy, że zabieramy żetony ze stosu . Uzyskujemy nowy układ gdzie dla i gdzie
3.(cd) Rozważmy binarne wyrażenie dla i : Przeglądamy te dwa rzędy zer i jedynek, aż zlokalizujemy pierwszy przykład niezgodności między nimi. W kolumnie, w której to nastąpi nim-suma i wynosi 1. Oznacza to że nim-sima z w tej kolumnie też wynosi 1. Stąd
METODA BUTONA BY OPTYMALNIE GRAĆ W MISERE NIM Gramy tak samo, jak w Nim według zwykłych zasad dopóki przynajmniej dwa stosy mają więcej niż jeden żeton. Kiedy przeciwnik wreszcie wykona taki ruch, że dokładnie jeden stos będzie miał więcej niż jeden żeton, zredukujemy ten stos do zera lub jednego żetonu, w zależności od tego, która opcja spowoduje, że pozostanie liczba stosów liczących jeden żeton. NIEPARZYSTA
6. GRY NIM W PRZEBRANIU
NIMBLE • W Nimble gra się na planszy składającej się z rzędu kwadratów oznaczonych: 0,1,2,…. • Umieszcza się skończoną liczbę monet w kwadratach z możliwością umieszczania więcej niż jednej monety na jednym kwadracie. • Na ruch składa się zabranie jednej z monet i przesunięcie jej w lewo na dowolny kwadrat, z możliwością przesuwania jej ponad innymi monetami oraz umieszczenia ich w kwadracie, w którym może znajdować się jedna lub więcej monet. • Gracze grają na zmianę. • Gra kończy się gdy wszystkie monety znajdują się na kwadracie oznaczonym 0. • Wygrywa gracz, który wykona ostatni ruch.
OBRACANIE ŻÓŁWI [TURNING TURLES] • Układa się poziomy rząd monet, przy czym część monet leży orłem, a część reszką do góry. • Na ruch składa się odwrócenie jednej z monet z orła na reszkę oraz dodatkowo, jeśli się chce, obrócenie jeszcze jednej monety (znajdującej się na lewo od wcześniej odwracanej przez nas) na jej drugą stronę. • Gracz wykonujący ostatni ruch wygrywa.
Przykład Obracania żółwi: Przyjmując, że O na miejscu n reprezentuje n żetonów w grze NIM.
INNE GRY WYKORZYSTUJĄCE NIM • GRA NORTCOTTA • NIM NA SCHODACH • NIMK
Ćwiczenia: Ile wynosi nim-suma z 27 i 17? Nim suma z 38 i x wynosi 25. Znajdź x.