Home / Artykuły / Matematyka w grach – Jak wygrać z dzieckiem w memory?

Matematyka w grach – Jak wygrać z dzieckiem w memory?

memoryGrając z dziećmi w większość gier, poza oczywiście grami czysto losowymi, mamy często problem, jak zmodyfikować zasady, żeby dziecko miało jakiekolwiek szanse na zwycięstwo. Memory jest pod tym względem grą wyjątkową. Nawet przedszkolaki zazwyczaj wygrywają z dorosłymi. Dlaczego tak się dzieje? Są na ten temat różne hipotezy. Być może dzieci potrafią bardziej skupić się na rozgrywce, a dorośli są bardziej podatni na różne zewnętrzne bodźce, odwracające uwagę i dekoncentrujące? A może z mózgiem człowieka jest podobnie, jak z pamięcią komputera – dziecko ma duże bloki niczym jeszcze nie zapisane, a dorosły ma mózg „pofragmentowany” i przez to pamięć działa mniej efektywnie?   

Zanim przejdę do matematyki, kilka informacji o historii gry. Za jej twórcę uważany jest Szwajcar Heinrich Hurter, który w 1946 roku nakleił na tekturowe kwadraty powycinane z gazet i katalogów obrazki, aby w ten sposób zrobić prezent dzieciom swojego syna Williama. Po 12 latach William Hurter zaproponował wydawnictwu Ravensburger wydanie tej gry i w lutym 1959 pojawiły się w sklepach pierwsze egzemplarze memory. Od tego czasu gra produkowana jest bez przerwy i co roku pojawia się kilka nowych jej wersji, różniących się tematyką obrazków. Niektóre z nich posłużyły jako przerywniki w tym tekście.

memoryMemory jest znakiem towarowym, zarejestrowanym przez Ravensburgera, ale inne firmy wydają tę samą grę pod innymi nazwami, np. memo, memos, pamięć itp. Zresztą gra z identyczną mechaniką, ale przy użyciu zwykłej talii kart, w której parą dla siódemki trefl była siódemka pik, a parą dla damy kier – dama karo, znana była już wcześniej pod nazwą Concentration, a jeszcze wcześniej, bo w XVI wieku, w Japonii grano przy użyciu muszelek w Kai-Awase.

memoryZasady memory znają chyba wszyscy, ale dla porządku streszczę je w kilku zdaniach. Jedynymi rekwizytami w grze są kwadratowe karty z obrazkami po jednej stronie. Każda karta ma swoją parę czyli kartę z identycznym obrazkiem. (W niektórych wydaniach, zamiast identycznych obrazków, są obrazki do siebie pasujące, np. czynniki i iloczyn jak w grze Dwa razy dwa albo ten sam przedmiot w wersji z roku 1959 i 2009, jak w jubileuszowym wydaniu z podtytułem Zeitreise czyli Podróż w czasie). Karty miesza się i rozkłada na stole obrazkami do dołu. Gracz, na którego przypada kolejka, odkrywa kolejno i pokazuje wszystkim dwie karty, Jeżeli trafi parę, kładzie ją przed sobą i szuka dalej. Jeżeli nie trafi, odkłada karty z powrotem na stół, obrazkami do dołu. Gra się do momentu, gdy ze stołu zabrane zostaną wszystkie karty, a wygrywa ten, kto zebrał najwięcej par.

memoryPodobnie, jak np. w przypadku szachów, w memory można wyróżnić trzy fazy gry: debiut, grę środkową i końcówkę. Debiut to kilka pierwszych ruchów, w zasadzie czysto przypadkowych, bo rzadko kiedy odkrywane są obrazki, które już wcześniej się pojawiły. Można więc uznać tę fazę za w pełni losową. W grze środkowej szczęście nadal odgrywa pewną rolę, ale bardziej liczy się zapamiętywanie tego, gdzie leżą karty, które zostały już  przez kogoś odkryte. W obu tych fazach nie ma miejsca na strategię. O strategii można myśleć dopiero w końcówce, gdy na stole pozostało niewiele kart. I właśnie analizę końcówki, pozwalającą na dobór właściwej strategii w grze memory, przeprowadzili Uri Zwick i Michael Paterson z Uniwersytetu Warwick, Coventry, UK, a wyniki opublikowali w roku 1991 w artykule, zamieszczonym w czasopiśmie Theoretical Computer Science.

memoryOkazało się zresztą, że podobne badania przeprowadził już w roku 1983 Sabih Gerez, wówczas student Wydziału Elektrycznego holenderskiego Uniwersytetu Twente. Wprawdzie jego pracę semestralną można znaleźć w internecie, ale jest to niestety skan rękopisu i to napisanego w języku holenderskim.

O końcówce w grze memory możemy mówić wtedy, gdy na stole pozostało już niewiele kart. Oczywiście liczba tych kart musi być parzysta, możemy więc powiedzieć, ze na stole leży n par kart. Zwick i Paterson przyjęli założenie, że w grze biorą udział dwie osoby i obie mają taką samą wiedzę o leżących na stole kartach. Innymi słowy: jeżeli jeden z graczy wie, jaki obrazek jest na pewnej karcie, to drugi gracz też zna ten obrazek. Liczba znanych obrazków wynosi k, znane obrazki nie powtarzają się i zachodzą nierówności 0 ≤ k ≤ n. Popatrzmy, jak to wygląda w praktyce.

Jeżeli na stole leżą tylko dwie karty, to oczywiście muszą one stanowić jedną parę i podnosząc karty w dowolnej kolejności, gracz tę parę zabiera. Jeżeli na stole leżą cztery karty i nic o nich nie wiemy, to jest już znacznie gorzej. Gdy gracz podniesie dowolną kartę z tych czterech, a następnie jedną z trzech pozostałych, może trafić parę z prawdopodobieństwem równym 1/3. I gdy faktycznie trafi, to drugą parę też zabiera. Ale gdy nie trafi, to przeciwnik bez trudu zdobędzie obie pary. Można zatem policzyć wartość wygranej, a w zasadzie przegranej pierwszego gracza: 1/3 * 2 + 2/3 * (-2) = -2/3. Załóżmy teraz, że na stole leżą cztery karty, tym razem jednak gracz pamięta obrazek na jednej z nich. Oznaczmy ten obrazek literą A. Jeżeli odkryje jedną z trzech pozostałych i trafi na niej obrazek A, to oczywiście zabierze obie pary. Prawdopodobieństwo takiego zdarzenia wynosi 1/3, natomiast z prawdopodobieństwem 2/3 gracz odkryje kartę z innym obrazkiem (nazwijmy go B). Na stole zostały dwie karty, więc teraz z prawdopodobieństwem ½ gracz znajdzie obrazek B i zdobędzie obie pary i również z prawdopodobieństwem ½ „spudłuje” i obie pary zdobędzie przeciwnik. Tak więc dla przypadku dwóch par i jednej znanej karty, wygrana pierwszego gracza wygląda następująco: 1/3 * 2 + 2/3 * (½   * 2 + ½ * (-2)) = 2/3. Oczywiście gdy gracz pamięta dwie karty z czterech leżących na stole, zdobywa obie pary z prawdopodobieństwem równym 1 czyli jego wygrana wynosi 2. Oznaczając przez Vn,k oczekiwaną wartość wygranej pierwszego gracza, gdy na stole jest n par kart, a gracz pamięta położenie k kart, możemy wyniki dotychczasowych obliczeń zapisać jako:

V1,0 = 1

V1,1 = 1

V2,0 = -2/3

V2,1 = 2/3

V2,2 = 2

Załóżmy, że na stole leży teraz sześć kart czyli trzy pary. Zacznijmy „od góry” czyli od sytuacji, w której gracze znają trzy spośród leżących na stole kart (więcej niż trzech pamiętanych kart być nie może, bo założyliśmy, że k ≤ n). Przy prawidłowej grze pierwszego gracza czyli odkrywaniu jako pierwszej karty nieznanej, a następnie pasującej do niej karty znanej  V3,3 = 3. W przypadku, gdy znane są dwie karty A i B, pierwszy gracz odkrywa jedną z czterech pozostałych czyli A, B, C i C. Gdy odkryje kartę A lub B (szansa na to jest ½), zabiera parę i sytuacja sprowadza się do opisanego wcześniej przypadku, gdy znana jest jedna karta z czterech. Gdy pierwszy gracz odkryje kartę C (szansa na to też jest 1/2 ), to jako drugą odkrywa jedną z trzech nieznanych kart. Z prawdopodobieństwem 1/3 może to być karta C i wtedy zdobywa wszystkie trzy pary, ale gdy nie trafi, wszystkie trzy pary zdobywa przeciwnik. A zatem:

V3,2 = ½ * (1 +V2,1) + ½ * (1/3 * 3 + 2/3 * (-3)) = 1/3.

Rozpatrzmy teraz sytuację, w której gracz zna jedną z sześciu leżących na stole kart i oznaczmy tę znaną kartę literą A. Odkrywając losowo jedną z pozostałych kart, gracz może z prawdopodobieństwem 1/5 trafić kartę A i wtedy zdobywa jedną parę, a na stole zostają cztery nieznane karty, natomiast z prawdopodobieństwem 4/5 odkrywa inną kartę niż A. Oznaczmy tę odkrytą kartę przez B. Jako drugą kartę gracz może z prawdopodobieństwem ¼ odkryć B – wtedy zdobywa parę i zna jedną kartę z czterech leżących na stole. Również z prawdopodobieństwem ¼ może odkryć kartę A i mamy sytuację odwrotną – przeciwnik zdobywa parę i zna jedną kartę z czterech. Największa jednak szansa – ½ jest na sytuację najgorszą czyli odkrycie karty C, bo wtedy przeciwnik zabiera kolejno wszystkie trzy pary. Reasumując:

V3,1 = 1/5 * (1 + V2,0 ) + 4/5 * (1/4 * V2,1 + ¼ * (-V2,1) + ½ * (-3)) = -17/15.

Ale gracz pierwszy może też zagrać inaczej. Jeżeli odkryta karta jest inna niż ta, którą pamięta, może zamiast odkrywania drugiej nieznanej wybrać tę, o której wie, że na pewno nie pasuje! Co się wtedy stanie? Do gry przystępuje wtedy drugi gracz i zna dwie karty z sześciu leżących na stole. A zatem:

V3,1 = 1/5 * (1 + V2,0 ) + 4/5 * (-V3,2) = – 1/5

Jak widać, to na pozór bezsensowne zagranie, daje pierwszemu graczowi mniejszą stratę czyli statystyczną korzyść.

Nie będę przedstawiał drobiazgowej analizy kolejnych układów. Zamiast tego podam wzory rekurencyjne, na podstawie których dla każdej liczby par n i każdej liczby znanych kart k można policzyć wartość gry dla pierwszego gracza, w zależności od przyjętej przez niego strategii.

Wzór 1Jeżeli ktoś z czytelników tego tekstu będzie miał tyle determinacji, by sprawdzić działanie powyższych wzorów, może zauważyć, że dla n=5 i k=4 oba dają wartości ujemne. Jaki z tego wniosek? Obie strategie są dla gracza niekorzystne i powinien w tej sytuacji spasować i oddać prawo gry przeciwnikowi. Jednak zasady Memory takiej sytuacji nie przewidują. Co można zatem zrobić? Otóż można wykonać „pasywny ruch” czyli odkryć dwie znane karty! Gracz nic na tym doraźnie nie zyskuje ale stawia przeciwnika przed koniecznością wykonania niekorzystnego ruchu. Oczywiście drugi gracz może zrobić to samo i wtedy gra się zablokuje. Ponoć na mistrzostwach Memory zdarzały się takie sytuacje, ale przypominam, że tematem artykułu jest gra z dzieckiem, a dziecko takiej perfidnej strategii raczej nie zastosuje. A jak zastosuje? To trzeba się cieszyć, bo ma zadatki na geniusza :)

Zwick i Paterson podali w swoim artykule tabelkę strategii, jakie należy zastosować dla każdego układu wartości n i k. Oczywiście dla k = 0 gracz musi odkryć dwie nowe karty, a odkryć dwie znane może tylko wtedy, gdy k >1. Oczywiste jest też, że gdy gracz odkryje kartę, która tworzy parę z jedną z tych, których położenie pamięta, to gracz te parę zabiera. Dylemat może mieć tylko wtedy, gdy zna co najmniej dwie karty albo, gdy pierwsza odkryta karta nie stanowi pary z którąś z zapamiętanych. I wtedy należy posłużyć się podanym przez Zwicka i Patersona twierdzeniem:

  • jeżeli n+k jest liczba parzystą i 0 < k < n oraz w przypadku gdy n=6 i k=1, trzeba odkryć jedną nową kartę i jedną znaną kartę,
  • jeżeli n+k jest liczbą nieparzystą i k ≥ 2(n+1)/3, trzeba odkryć dwie znane karty,
  • w pozostałych przypadkach trzeba odkryć dwie nowe karty.

A jak wygląda opis końcówki Memory, gdy w grze bierze udział więcej osób niż dwie?

Sprawa trochę się komplikuje, bo teraz wartość wygranej jednego gracza nie jest taka sama, jak wartość przegranej drugiego. Moim zdaniem właściwe jest przedstawienie V nie jako liczby, tylko zbioru tylu liczb, ilu jest graczy. W języku informatycznym wartość gry jest więc wektorem o liczbie elementów równej liczbie graczy. Kolejne elementy tego wektora określają wartości oczekiwane zdobyczy kolejnych graczy, a suma wszystkich elementów jest równa liczbie par, jakie są do zdobycia. W przypadku gry z udziałem trzech osób, nietrudno  wywnioskować, jak będą wyglądały wartości gry dla n=1 i n=2:

V1,0 = [1 ; 0 ; 0]

V1,1 = [1 ; 0 ; 0]

V2,0 = [2/3 ; 4/3 ; 0]

V2,1 = [4/3 ; 2/3 ; 0]

V2,2 = [2 ; 0 ; 0]

Jak łatwo zauważyć, dla n = 1 i n = 2 trzeci gracz nie ma szans na zdobycie jakiejkolwiek pary.  Do policzenia wartości V dla większych n, można się posłużyć wzorami rekurencyjnymi, podobnymi do używanych w grze dwuosobowej, ale trochę bardziej skomplikowanymi.

memory Wzór 2Wyjaśnienia może wymagać występująca w pierwszym wzorze formuła Vn,k+1(3,1,2) oraz podobne formuły tylko z innymi indeksami we wzorze drugim. Odnosi się ona do sytuacji, gdy pierwszy gracz kończy swój ruch i czeka, co zrobią pozostali uczestnicy gry, a wiec staje się w tym momencie trzecim (według kolejności ruchów) graczem. Odpowiednio drugi gracz staje się graczem pierwszym, a trzeci graczem drugim. Najlepiej pokazuje to przykład:

skoro V2,0(1,2,3) = [2/3 ; 4/3 ; 0] to V2,0(3,1,2) = [0 ; 2/3 ; 4/3].

Analiza gry z udziałem dwóch osób była znacznie łatwiejsza, bo korzyść jednego gracza była równa stracie drugiego. W przypadku gry z udziałem trzech lub więcej osób już tak łatwo nie jest. Rozpatrzmy przypadek n=4, k=1. Gdy pierwszy gracz odkryje dwie nowe karty, wektor „wypłaty” przyjmuje postać:

[7/15 ; 202/105 ; 169/105] ≈ [0,47 ; 1,92 ; 1,61],

a gdy odkryje jedną nową kartę:

[8/15 ; 22/21 ; 254/105] ≈ [ 0,53 ; 1,05 ; 2,42].

Jeżeli gracz pierwszy weźmie pod uwagę tylko swoją potencjalną zdobycz, to druga strategia jest nieco lepsza. Ale jeżeli będzie chciał zminimalizować stratę do tego z przeciwników, który zdobędzie więcej kart, to lepsza jest strategia pierwsza. Jak z tego widać, w przypadku gry z udziałem więcej niż dwóch osób, matematyczna analiza strategii wiele pomóc nie jest w stanie. I dlatego zatytułowałem ten tekst „Jak wygrać z dzieckiem”, a nie „Jak wygrać z dziećmi”.

Leave a Reply

Your email address will not be published. Required fields are marked *

*