Spotkanie 11.

Proste reguły, niełatwe gry – część 2

Uwaga. Można już zapoznać się z wynikami konkursu ,,Bóbr”. Osoby, które wzięły udział w zawodach, po zalogowaniu na stronie www.dzwonek.pl, mogą sprawdzić swój wynik punktowy oraz przypomnieć sobie zaznaczone podczas konkursu odpowiedzi. Zestaw zadań wraz z możliwością sprawdzenia poprawnych odpowiedzi i sposobu rozwiązania jest dostępny pod adresem www.mauthor.com/present/6596165404590080 i nie wymaga logowania. Zachęcam do przeanalizowania swoich rozwiązań i skonfrontowania ich z zamieszczonymi przez organizatorów materiałami.

Gra 4 (jest to tzw. gra NIM). Na stole znajdują się trzy odrębne stosy kamieni. Gracze wykonują ruchy naprzemiennie, a w jednym ruchu każdy z grających może z dowolnego (ale jeszcze niepustego) stosu zabrać dowolną liczbę kamieni (nawet cały stos!) – trzeba jednak w każdym ruchu wziąć przynajmniej jeden kamień. Zwycięża ta osoba, która zabierze ostatni kamień ze stołu, a przeciwnik nie będzie mógł wykonać swojego zagrania.

Jak widać gra 3 nie różni się bardzo od gry 4 – zmianie uległa jedynie początkowa liczba stosów z kamieniami, które znajdują się na stole. Jednak o ile znalezienie optymalnego sposobu gry w przypadku gry 3 było widoczne już po kilku rozgrywkach, to odpowiednie zadanie dla powyższej zabawy jest dużo trudniejsze. Zadanie to rozwiązał (na początku XX wieku) amerykański matematyk Charles Bouton, opisując matematycznie optymalny sposób gry NIM. Co ciekawe, sposób ten działa nie tylko dla trzech ale dla dowolnej (większej od 1) liczby stosów, z którymi rozpoczyna się rozgrywkę.

Podczas kolejnych spotkań będziemy próbowali wytłumaczyć sobie tę strategię.

Uwaga. Osoby, które chcą poeksperymentować z Pythonem w tzw. trybie interaktywnym polecam stronę https://repl.it/languages/python3 którą testowaliśmy na ostatnich zajęciach.

Opis gry ,,Dwa pionki”

Gra ta – podobnie jak gra ,,Taśma” – jest rozgrywana na wąskiej planszy o szerokości jednego pola i długości n przynajmniej dwóch pól. Pola są ponumerowane kolejno (licząc od lewej strony) liczbami naturalnymi (tak jak pokazuje ilustracja): 1, 2, …, n. Każdy z graczy dysponuje jednym pionkiem swojego koloru – gracz A pionkiem białym, zaś gracz B – pionkiem czarnym. Pionki początkowo stoją na polach: biały na ostatnim, zaś czarny na przedostatnim (są to więc pola o numerach n oraz n-1).

\begin{tikzpicture}[scale=0.7] \draw[very thick,brown,fill=yellow!10!white] (0,0) grid (18,1); \foreach \x in {1,...,18}    \node[black!50!white,scale=1.1] at (\x-0.5,0.5) {\x};  \draw[brown,thick,fill=white] (17.5,0.5) circle (0.42cm); \draw[thin,brown] (17.5,0.5) circle (0.35cm); \draw[brown,thick,fill=black] (16.5,0.5) circle (0.42cm); \draw[thin,brown] (16.5,0.5) circle (0.35cm); \end{tikzpicture}

Gracze wykonują ruchy naprzemiennie przesuwając swój pionek: pionek zewnętrzny (czyli stojący na polu o większym numerze niż drugi pionek) może przesunąć się na dowolne wolne pole w lewo; zaś pionek wewnętrzny (czyli ten, który stoi na polu o mniejszym numerze niż pionek rywala) może przesunąć się zarówno w lewo jak i w prawo – o dowolną liczbę pól, jednak po wykonaniu ruchu musi on dalej pozostać pionkiem wewnętrznym (nie może przeskoczyć przez pionek przeciwnika). Przegrywa ta osoba, która nie może wykonać posunięcia.

Zadanie domowe. Zagraj z kimś kilka razy w powyższą grę i spróbuj zaobserwować jak należy grać, aby wygrać.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *