Przeskocz do treści

Delta mi!

Jak zwalczać losowość w grach

Bartłomiej Żak

o artykule ...

  • Publikacja w Delcie: lipiec 2017
  • Publikacja elektroniczna: 30 czerwca 2017
  • Autor: Bartłomiej Żak
    Afiliacja: Student, Wydział Matematyki, Informatyki i Mechaniki, Uniwersytet Warszawski
  • Wersja do druku [application/pdf]: (82 KB)

Losowość w grach karcianych, planszowych i komputerowych często budzi wiele kontrowersji. Sprawia ona, że gracz słabszy grający z lepszym ma szansę wygrać. Jest to pożądane w przypadku gier towarzyskich i frustrujące w przypadku gier profesjonalnych. W obu przypadkach nadmiar losowości jest zły, gdy za często zdarza się, że przewaga gracza pierwszego, wynikająca z jego inteligentnej gry, jest niwelowana przez szczęście drugiego. W moim artykule pokażę, jak z losowością można walczyć na przykładzie jednej z najbardziej losowych gier, czyli Chińczyka, którego, mam nadzieję, wszyscy znają.

obrazek

Mój sposób mierzenia losowości jest zasadny dla gier z kategorii "wyścigów planszowych". Takie gry w uproszczeniu polegają na tym, że kolejno losujemy liczby (na przykład rzucając kością) i chcemy, by suma naszych wylosowanych wartości jak najszybciej osiągnęła lub przekroczyła pewien pułap. Na przykład w Chińczyku, rzucając kośćmi ruszamy pionkiem o wylosowaną liczbę oczek, a żeby wygrać, musimy przesunąć pionki o 166 oczek (jeśli nie zbito naszego pionka). Te gry łączy jedno: nawet jeśli jesteś genialnym strategiem, jeśli będziesz miał pecha, to przegrasz.

W takich grach to, o ile zwiększy się nasza suma, warunkuje pewna zmienna losowa odpowiadająca jednemu losowaniu: będziemy o niej myśleć jak o obiekcie matematycznym, który przyjmuje różne wartości, każdą z pewnym prawdopodobieństwem, a prawdopodobieństwa te sumują się do jedynki. Dla przykładu, jeżeli zmienna losowa D reprezentuje wynik rzutu kością sześciościenną, to wartości tej zmiennej razem z prawdopodobieństwami wystąpienia wyglądają tak

 | | | | | | | -----x---|--1--|2--|3--|4-|-5-|-6-| | 1- |1- |1- |1-| 1-| 1-| P(D = x)| 6 |6 |6 |6 | 6 | 6 |

Do opisu zmiennych losowych często używamy następujących pojęć: wartości oczekiwanej |(E) oraz wariancji (Var). Wartość oczekiwana to suma możliwych wartości zmiennej losowej przemnożonych przez prawdopodobieństwo ich uzyskania i odpowiada "przeciętnie" wyrzucanej wartości. Wariancja zmiennej to wartość oczekiwana kwadratu odstępstwa od wartości oczekiwanej tej zmiennej. Dla rzutu kością sześciościenną wartości te są równe

 21 35 ED = 6-= 3,5 oraz Var D= 12.

Wariancja zawiera informację, jak zachowują się odchylenia od normy po kilku losowaniach. Należy pamiętać, że obie sumy oczek graczy odchylają się od normy, więc większa wariancja oznacza, że będą się bardziej odchylać od siebie nawzajem, czyli częściej będzie dochodziło do frustracji. Ma ona jednak pewną słabość: załóżmy, że grając w grę, zamiast liczenia wyniku rzutu kością liczymy podwojony wynik rzutu kością. Wtedy wariancja będzie 4 razy większa, natomiast co do zasady nasza gra nie ulegnie przecież specjalnej zmianie. W związku z tym sensownie jest rozważać "unormowaną" wariancję, losowość określoną następującym wzorem

LA = Var-A-. (EA)2

Wyliczając wartość losowości rzutu kością D, otrzymujemy |LD = 1042-≈ 0,238.

Powróćmy do Chińczyka. W grze rzucamy kością, by zdecydować, jak daleko przesuwamy pionek. Jest to wbudowane w mechanikę gry, nie można do końca na to narzekać. Jednak są dodatkowe zasady, które tej losowości jeszcze pomagają. Ja na przykład często grałem w wariant, w którym gdy gracz wyrzuci szóstkę, to dostaje dodatkowy ruch. Jak zmienia to losowość? Zobaczmy. Niech D6 będzie zmienną losową, odpowiadającą sumom liczb oczek, które możemy otrzymać, wykonując ruch. Zmiennej tej odpowiada następująca tabelka

 | | | | | | | | -----x----|--1,2,...,5--|6-|7,8,...,11-|-12--|13,14,...,17-|18-|19,...-|(...)-- | 1- | | 1-- | | -1- | | -1--- | P(D6 = x) | 6 |0 | 36 | 0 | 216 |0 | 1296 |(...)

Podobnie, jak poprzednio, możemy obliczyć wartość oczekiwaną, wariancję i losowość (choć tym razem wymagałoby to od nas umiejętności sumowania nieskończonego ciągu geometrycznego)

 21 266 266 E(D6) =--, Var(D6) =----, L(D6) = ----≈ 0,603. 5 25 441

Czyli (drodzy miłośnicy zasady z dodatkowym rzutem) losowość rośnie. Trudno dokładnie powiedzieć, jak wpływa to na doznania płynące z gry, no ale Chińczyk sam w sobie jest losowy, nie dokładajmy mu. Jeżeli jednak ktoś uważa, że zwykłe rzucanie kostką jest nudne, to może zmienić tę zasadę: niechaj dodatkowy ruch przysługuje po wyrzuceniu jedynki. Czy takie losowanie jest lepsze? Zobaczmy. Nazwijmy je D1. Odpowiednia tabelka dla tej zmiennej wygląda następująco

 | | | | | | | | | -----x---|--1-|---2---|--3----|--4---|---5---|---6---|---7---|---8----|(...)-- P(D1 = x)| 0 |0,1667 |0,1944 |0,1991 |0,1999 |0,2000 |0,0333 |0,0056 |(...)

Jaka jest wartość oczekiwana, wariancja i losowość?

 21 56 56 E(D1) =--, Var(D1) = --, L(D1) =----≈ 0,127. 5 25 441

obrazek

Losowość zmalała, więc widać, że dodanie fikuśnej zasady z podwójnym ruchem nie musi psuć gry. Równość wartości oczekiwanych |D6 i D1 może natomiast wydawać się zaskakująca - zwróćmy bowiem uwagę, że w tym pierwszym przypadku za każdym powtórzonym rzutem przesuwamy się o więcej niż w drugim przypadku. Zauważmy jednak, że wartość oczekiwana k -tego rzutu jest w obu przypadkach taka sama i wynosi 3,5. Ponadto prawdopodobieństwo wystąpienia k -tego rzutu też jest w obu przypadkach to samo i wynosi  k−1 |(1/6) . W tej sytuacji wartości oczekiwane sumarycznej liczby wyrzuconych oczek również muszą się zgadzać.

Mam nadzieję zagrać w Chińczyka na tych zasadach i zobaczyć, czy odczuję różnicę. Polecam Czytelnikom zmienianie dobrze znanych im gier w imię zmniejszenia losowości.