Terningspill med simulering S1 V26

Terningspill med simulering S1 V26

Erik og Kris spiller et terningspill. Spillet foregår over flere runder. Nedenfor ser du reglene som gjelder for én runde.

  • Erik kaster en terning med seks sider, nummerert med sifrene 1 til 6.
  • Kris kaster to terninger. Hver terning har fire sider, nummerert med sifrene 1 til 4.
  • Erik sammenligner sin terning med den terningen til Kris som viser høyest verdi. Dersom terningen til Erik viser en høyere verdi, får han 1 poeng. Dersom terningen til Erik ikke viser en høyere verdi, får Kris 1 poeng.

Bestem sannsynligheten for at Erik får poeng i den første runden de spiller.

Erik og Kris spiller flere runder.

Bruk simulering til å bestemme sannsynligheten for at Erik får 100 poeng før Kris.

Fasit

P(Erik vinner runde)=234847,9%\underline{\underline{P(\text{Erik vinner runde}) = \dfrac{23}{48} \approx 47{,}9 \,\%}}

Simulering med 100 000 spill gir P(Erik na˚r 100 poeng før Kris)27,8%\underline{\underline{P(\text{Erik når 100 poeng før Kris}) \approx 27{,}8 \,\%}}

LøsningsforslagKI-generert

La EE være antall øyne Erik kaster (EE er uniformt fordelt på {1,2,3,4,5,6}\{1, 2, 3, 4, 5, 6\}) og la M=max(K1,K2)M = \max(K_1, K_2) der K1K_1 og K2K_2 er de to D4-terningene til Kris (hver uniformt fordelt på {1,2,3,4}\{1, 2, 3, 4\}).

Erik vinner runden hvis E>ME > M.

Fordeling av MM:

Vi bruker at P(Mk)=P(K1k)P(K2k)=(k4)2P(M \leq k) = P(K_1 \leq k) \cdot P(K_2 \leq k) = \left(\dfrac{k}{4}\right)^2, siden K1K_1 og K2K_2 er uavhengige.

Dermed er P(M=k)=P(Mk)P(Mk1)=k2(k1)216=2k116P(M = k) = P(M \leq k) - P(M \leq k-1) = \dfrac{k^2 - (k-1)^2}{16} = \dfrac{2k - 1}{16}.

Table: Sannsynlighetsfordeling for MM {.tall}

kkP(M=k)P(M = k)
1116\dfrac{1}{16}
2316\dfrac{3}{16}
3516\dfrac{5}{16}
4716\dfrac{7}{16}

Beregning av P(E>M)P(E > M):

Vi betinger på verdien av MM og bruker at P(E>k)=6k6P(E > k) = \dfrac{6 - k}{6}:

P(E>M)=k=14P(M=k)P(E>k)=11656+31646+51636+71626=596+1296+1596+1496=4696=2348\begin{aligned} P(E > M) &= \sum_{k=1}^{4} P(M = k) \cdot P(E > k) \\[6pt] &= \frac{1}{16} \cdot \frac{5}{6} + \frac{3}{16} \cdot \frac{4}{6} + \frac{5}{16} \cdot \frac{3}{6} + \frac{7}{16} \cdot \frac{2}{6} \\[6pt] &= \frac{5}{96} + \frac{12}{96} + \frac{15}{96} + \frac{14}{96} = \frac{46}{96} = \frac{23}{48} \end{aligned}

P(Erik vinner runden)=234847,9%P(\text{Erik vinner runden}) = \dfrac{23}{48} \approx 47{,}9 \,\%

Siden p=2348<12p = \frac{23}{48} < \frac{1}{2} (Erik er svakere enn Kris i hver runde), forventer vi at Erik sjeldnere når 100 poeng først. Vi estimerer sannsynligheten med en Monte Carlo-simulering.

Python-kode:

from random import randint

N = 100_000              # antall spill vi simulerer
erik_vinner_spillet = 0  # teller spill Erik vinner

for _ in range(N):
    erik_poeng = 0
    kris_poeng = 0

    # Spill runder til en av dem når 100 poeng
    while erik_poeng < 100 and kris_poeng < 100:
        erik = randint(1, 6)                       # Eriks D6
        kris = max(randint(1, 4), randint(1, 4))   # Kris' høyeste D4
        if erik > kris:
            erik_poeng += 1
        else:                                      # likt gir Kris poeng
            kris_poeng += 1

    if erik_poeng >= 100:    # den som når 100 først, vinner
        erik_vinner_spillet += 1

print(f"P(Erik når 100 poeng først) ≈ {erik_vinner_spillet / N:.4f}")

Vi spiller 100000100\,000 hele spill. For hvert spill kaster vi terninger runde for runde og deler ut poeng etter reglene, helt til en av spillerne når 100 poeng. Den som kommer først til 100, har alltid flest poeng, så vi teller bare opp hvor stor andel av spillene Erik vinner. Siden Erik vinner hver enkelt runde med sannsynlighet 2348<12\frac{23}{48} < \frac12, forventer vi at andelen blir tydelig under 50 %.

Resultat: Med 100 000 simulerte spill (seed 42) fikk vi P ≈ 0.2778.

P(Erik na˚r 100 poeng før Kris)27,8%P(\text{Erik når 100 poeng før Kris}) \approx 27{,}8 \,\%

Sensorveiledning

Oppgaven gir til sammen 4 poeng

2 poeng

Kandidater som har en god strategi, men ikke kommer fram til svaret kan få 1 poeng.

2 poeng

Simulering med en god strategi, men feil svar, kan få 1 poeng. Simulering med riktig strategi, men med små feil som fører til feil svar kan få 2 poeng.

Tastatursnarveier

Navigasjon

⌘K / Ctrl+K
Åpne søk
G F
Gå til Fag
G E
Gå til Eksamener
G T
Gå til Temaer
G K
Gå til Kompetansemål
G H
Hjem
?
Vis snarveier

I oppgave

←/→ · J/K
Forrige / neste oppgave
0
Marker som ikke prøvd
1
Marker som prøvd
2
Marker som trenger hjelp
3
Marker som klart
S
Vis / skjul løsningsforslag
A
Legg til i liste
Esc
Tilbake / avslutt