Magiczny pojedynek – rozwiązanie zagadki

Tydzień temu postawiłem przed Czytelnikiem następujący problem: czy lepiej wybrać łuk, który trafia zawsze w ósemkę, czy taki, który trafia w 5, 9 lub 10 (z jednakowym prawdopodobieństwem) przy założeniu, że każdy z zawodników oddaje po trzy strzały tak długo aż któryś zdobędzie przewagę.

No więc tak: na dzień dobry wychodzi na to, że wsioryba który łuk wybierzemy, bo obydwa w trzech strzałach mają wartość oczekiwaną 24. Łuk 8-8-8 ma tę wartość gwarantowaną, a łuk 5-9-10 - średnią (bo 5+9+10=24). Skoro tak, to mogę wybrać którykolwiek łuk i moje szanse pozostaną 50/50, zgadza się?

A no nie zgadza się. Zerknijmy na rozkład poszczególnych możliwych wyników z łukiem 5-9-10:

  1. 10+10+10=30
  2. 10+10+9=29 (trzy takie kombinacje: (10,10,9), (10,9,10), (9,10,10))
  3. 10+10+5=25 (też x3)
  4. 10+9+9=28 (x3)
  5. 10+9+5=24 (x6)
  6. 10+5+5=20 (x3)
  7. 9+9+9=27 (x1)
  8. 9+9+5=23 (x3)
  9. 9+5+5=19 (x3)
  10. 5+5+5=15 (x1)

Policzmy sobie teraz kombinacje wygrywające: jest ich 11 (numery 1, 2, 3, 4 i 7 na liście powyżej)

A przegrywające? To numery 6, 8, 9 i 10 z powyższej listy, razem 10 kombinacji. A więc rozkład jest niesymetryczny: odrobinę faworyzuje wygrane.

Ponieważ każdy strzał z łuku ma wynik niezależny od pozostałych, każda z wymienionych wyżej kombinacji jest jednakowo prawdopodobna (z uwzględnieniem ich krotności rzecz jasna). Sześć remisów można pominąć w rozważaniach bo prowadzą one do kolejnej serii trzech strzałów.

Czyli wygramy średnio w 11 przypadkach na 21, a przegramy w 10/21.

11/21≃0.524 czyli poprawna odpowiedź to 52.4%. Nie za dużo, ale lepszy rydz niż nic.

Dla niedowiarków możemy też przeprowadzić małą symulację. Oto kod, który symuluje 10 milionów takich pojedynków i wyświetla na koniec proporcję wygranych do łącznej liczby gier:

#!/usr/bin/env pypy3

from random import randint as ri

ileProb = 10000000
ileWygranych = 0
tarcza = [5, 9, 10]
for n in range(ileProb):
    while True:
        wynik = sum([tarcza[ri(0, 2)], tarcza[ri(0, 2)], tarcza[ri(0, 2)]])
        if(wynik > 24):
            ileWygranych += 1
            break
        elif(wynik < 24):
            break

print(ileWygranych/ileProb)

Na wyjściu dostaję zawsze liczbę w okolicach 0.5236 co po zaokrągleniu do trzech miejsc po przecinku i przemnożeniu przez 100 daje 52.4%.

A jak Wam poszło? Płodnie! Może niezbyt skutecznie, ale płodnie. Siedem osób, dziesięć zgłoszeń. Jak nigdy.


1

Jako pierwszy do zabawy przystąpił Rafał, który rozpykał zadanie w zasadzie identycznie jak ja tu powyżej, czyli najpierw dotarł do wyrażenia 11/21, a potem zasymulował to prostą pętelką w Powershellu (o dziwo, nawet ilość powtórzeń pętli przyjął 10 milionów, cóż za zbieg okoliczności). Tym samym przyznaję Rafałowi WMZDPSWOZ (Wielki Medal Z Dowolnie Przez Siebie Wybranej Odmiany Ziemniaka). Niestety z powodu kowidu medalu nie mogę wysłać, proszę go sobie wystrugać we własnym zakresie. Gratulacje!


2

Chwilę potem odezwał się Cichy Fragles, który poprzestał na wyliczeniach teoretycznych - jak najbardziej poprawnych:

Trzy strzały z trzema możliwymi wynikami dają 27 kombinacji, z czego 11 jest wygranych (tzn. daje 25 lub więcej punktów), 6 remisowych (24 punkty) i 10 przegranych. Pomijając remisy, mamy 11/21 = 52,38% szans na zwycięstwo.

Cichy Fragles, grudzień 2021

3

Rzast nadesłał rozwiązanie, z którego wynika, że łuk 5-9-10 jest lepszy, ponieważ daje aż 40.7% na wygraną, podczas gdy łuk 8-8-8 tylko 37%. Odpowiedź tylko w połowie poprawna (wybór lepszego łuku) - procenty powinny się sumować do 100% (albo inaczej: lepszy łuk powinien dawać ponad 50% szans zwycięstwa). Remis w pojedynczej serii trzech strzałów prowadzi do kolejnej serii, więc prędzej czy później nastąpi rozstrzygnięcie. Nie zaliczam.


4

Podobna sytuacja u Waldka (nawiasem mówiąc naczelnego sprawcy tej zagadki) - wybrał prawidłowy łuk i nawet procenty mu się sumowały jak trzeba, ale jakimś cudem wyszło mu 55.6% (a dokładniej 5/9) szans na wygraną. Nie zaliczam (a szkoda - Waldek jest jednym z głównych rozwiązywaczy lokalnych zagadek).


5

Kolejnym rozwiązującym był Butter, który rozminął się z poprawną odpowiedzią o włos: 52% różni się od 52.4% tylko zaokrągleniem, które wzięło się prawdopodobnie ze zbyt małej liczby prób w kodzie symulującym proces (10 tysięcy). Nawiasem mówiąc przy analizowaniu odpowiedzi Buttera spędziłem najwięcej czasu, bo z jakiegoś powodu jego skrypt w Pythonie przyszedł w postaci jednej długiej linii i chwilę mi zajęło połamanie go w odpowiednie bloki.


6

Nie do końca zadowolony z poprzedniego wyniku, Butter podjął drugą próbę - tym razem już porządnie błędną. Coś tam kombinował w Pythonie z permutacjami, ale nie do końca w tę stronę co trzeba. Chyba się dogadał za kulisami z Waldkiem, bo wyszło mu tym razem 55.6%. Nie zaliczam.


7

Tywan dostaje Honorową Wzmiankę za uczestnictwo. Nie podał odpowiedzi, ale przynajmniej uczciwie napisał, że nie ma pojęcia jak się za to zabrać. Szacun!

Wybieram łuk dający jakąkolwiek szansę na wynik większy niż 24 w trzech strzałach (taka jest wartość oczekiwana dla obu łuków), spodziewając się po drugim uczestniku finału skuteczności bliższej 10,10,10 niż 1,1,1. Jak podejść do obliczeń - nie mam pomysłu

Tywan, grudzień A.D. 2021

8

Dwa dni później postanowił zrehabilitować się Waldek. Niestety - podobnie jak u Buttera - drugie podejście też okazało się błędne. Tym razem Waldkowi wyszły cyferki identyczne jak u Rzasta czyli 37% i 41% (plus 22% dla remisów, które nijak się nie mają do poprawnego wyniku, ale przynajmniej suma wychodzi 100%).


9

W drugi dzień Świąt swoje rozwiązanie nadesłał Rozie - w zasadzie identyczne z moim, czyli skrypt w Pythonie, 10 milionów prób i wynik 52.4%. Zaliczam. Swoją drogą to kolejny Czytelnik, który wykombinował, że akurat 10 milionów prób da wynik z dokładnością do jednego miejsca po przecinku. Interesujące.


10

W drugim swoim podejściu Tywan jednak rozpracował zagadkę i to całkiem bez symulacji:

Wygrywających kombinacji 5-9-10 jest 11, dających taki sam wynik 24 punktów jest 6, przegrywających 10. Prawdopodobieństwo wygranej to 11/21. W pierwszym podejściu nie dotarło do mnie że dokładnie te 2 łuki uczestniczą w turnieju.

Tywan, grudzień 2021
Zapisz się
Powiadom o
guest
5 komentarzy
Inline Feedbacks
Zobacz wszystkie komentarze
5
0
Zapraszam do skomentowania wpisu.x
()
x