Mariusz Prowaźnik

o programowaniu w Javie, Scali i Clojure.


Zagadka z błądzeniem losowym

Wyobraź sobie grę według takich zasad:

  • ustalasz z przeciwnikiem liczbę rund, np 100
  • wykładasz na stół 100 zł
  • podczas każdej z rund rzucasz monetą
    • jeśli wypadnie orzeł, przeciwnik dokłada do puli 50% tego, co obecnie leży na stole (jeśli leży 100 zł, dokłada 50 zł, jeśli leży 200 zł, dokłada 100 zł)
    • jeśli wypadnie reszka, przeciwnik zabiera 50% tego co leży na stole
  • po 100 rundach zgarniasz to, co zostało na stole

Zagadka brzmi: czy taka gra jest sprawiedliwa? Czy obaj macie takie same szanse, żeby zakończyć grę z większą ilością gotówki niż na początku?

Szanse pomyślnego rzutu w każdej rundzie obaj macie takie same, oraz taką samą kwotę tracicie w przypadku niepomyślego. Poza tym ty możesz stracić maksymalnie niecałe 100 zł, a twój przeciwnik o wiele więcej… A mimo to, najprawdopodobniej zostałbyś ogołocony z większości kasy.

Poniżej symulacja w R. Robimy 1000 prób i sprawdzamy z jaką pulą kończy pierwszy gracz.

Tylko w 4 przypadkach na 1000, gracz, który wykładał stówkę na stół coś na tym zyskał. Średnio kończył grę z 11 złotymi.

Na podobny problem natrafiłem w Quantitative Trading, tylko, że tam był przykład akcji, które każdego dnia z równym prawdopodobieństwem mogły wzrosnąć 1% albo spaść 1%. Okazuje się, że w takiej sytuacji, długoterminowo się traci i średnia dzienna procentowa strata będzie wynosić g równe:

gdzie m to średnia arytmetyczna, s to odchylenie standardowe. Czyli w przykładzie z zakładem, gracz A traciłby średnio 12,5% na rundę.

Dodatkowa zagadka na koniec: ile procent musiałby dokładać gracz B w przypadku przegranej rundy, żeby gra była sprawiedliwa?

Brak komentarzy :

Prześlij komentarz