Przeskocz do treści

Delta mi!

Wielkie granie

Rozważmy Masterminda

Dominika Pawlik i Aleksander Zabłocki

o artykule ...

  • Publikacja w Delcie: czerwiec 2013
  • Publikacja elektroniczna: 28-05-2013
  • Autor: Dominika Pawlik
    Afiliacja: doktorantka, Wydział Matematyki, Informatyki i Mechaniki, Uniwersytet Warszawski
    Autor: Aleksander Zabłocki
    Afiliacja: doktorant, Wydział Matematyki, Informatyki i Mechaniki, Uniwersytet Warszawski
  • Wersja do druku [application/pdf]: (210 KB)

Gra Mastermind jest rozrywką głównie dla gracza odgadującego. Przypomnijmy: musi on ustalić, jaki kod (ciąg czterech kolorowych szpilek) ułożył przeciwnik, posiłkując się odpowiedziami otrzymywanymi na zadawane pytania. Pytania muszą mieć postać „Jak bardzo kod przypomina ciąg X?”, zaś odpowiedzią są dwie liczby: trafień właściwych kolorów na właściwych pozycjach oraz trafień kolorów na pozycjach niewłaściwych (odpowiednio: trafienia celneniecelne; te pierwsze będziemy też nazywać po prostu trafieniami). Oczywiście chodzi o to, by odgadnąć kod jak najszybciej.

obrazek

Rys. 1 Przykładowa rozgrywka. Ramka na górze zawiera ukryty kod; poniżej znajdują się kolejne pytania (zgadnięcia) oraz uzyskiwane odpowiedzi: czarna szpilka oznacza trafienie celne, biała – niecelne. Gracz odgadujący wygrywa, gdy otrzyma odpowiedź ,,cztery kropki” w określonej liczbie ruchów. (My przyjmiemy, że wystarczy mu pewność, że otrzyma ją za chwilę.)

Rys. 1 Przykładowa rozgrywka. Ramka na górze zawiera ukryty kod; poniżej znajdują się kolejne pytania (zgadnięcia) oraz uzyskiwane odpowiedzi: czarna szpilka oznacza trafienie celne, biała – niecelne. Gracz odgadujący wygrywa, gdy otrzyma odpowiedź ,,cztery kropki” w określonej liczbie ruchów. (My przyjmiemy, że wystarczy mu pewność, że otrzyma ją za chwilę.)

W można grać, gimnastykując pomysłowość na bieżąco – ale matematyk chciałby też poszukać ogólnej metody. Jaka jest najmniejsza liczba pytań, która zawsze wystarczy do zwycięstwa? To niełatwy problem, ale możemy wspomóc się komputerem: właśnie w ten sposób Donald Knuth uzyskał w 1977 roku wynik czterech pytań. Komputery nie radzą sobie jednak z uogólnioną wersją gry, gdy kod zawiera math szpilek (zamiast math), a do dyspozycji jest math kolorów (zamiast math). Nie zdziwi nas to, gdy pomyślimy, jakich rachunków wymaga uzasadnienie, że do zwycięstwa potrzeba przynajmniej math ruchów. Teoretycznie należy przejrzeć drzewo stanów gry (możliwych ciągów pytań i odpowiedzi) do głębokości math ruchów włącznie. Dla gry standardowej oraz math jako że możliwych pytań w grze jest math zaś odpowiedzi math samych stanów na głębokości math mamy math biliona! Na szczęście możemy zauważyć, że stany różniące się jedynie przemianowaniem kolorów i/lub pozycji są właściwie równoważne – jeśli przejrzeliśmy możliwości wygrania w jednym z nich, nie trzeba już zajmować się tym drugim. Zmniejsza to liczbę istotnych stanów do około math milionów (tj. ponad math-krotnie!), co – w połączeniu z pewnymi dodatkowymi usprawnieniami – czyni zadanie dostępnym dla domowego komputera. Zauważmy jednak, że w ogólności nasz problem wciąż zachowuje się wykładniczo względem math: powiększając te parametry choćby o  math możemy zwiększyć trudność setki razy. Nic więc dziwnego, że nawet dla math udało się dotychczas (z wykorzystaniem dużo bardziej złożonych technik) znaleźć optymalne strategie jedynie dla math

Skoro nie umiemy znaleźć najlepszej strategii dla gry z  math szpilkami w  math kolorach, poszukajmy (bez komputera) możliwie dobrej. Na początek załóżmy, że math: szpilki są jedynie ciemnoszarei kolorowe. Łatwo wówczas wygrać, zadając math pytań: w pierwszym wszystkie szpilki są ciemnoszare, w następnych jedna kolorowaszpilka „wędruje” po kolejnych pozycjach. (Właściwie ostatnie z tych pytań jest zbędne, zatem można wygrać w  math ruchach.) A czy da się lepiej?

Pełna treść artykułu dostępna jest w wersji do druku.