Ukjent program Mønster v23
Martin har skrevet følgende kode:
import random
N = 100000
samlet_gevinst = 0
for i in range(N):
mynt1 = random.randint(0, 1)
mynt2 = random.randint(0, 1)
resultat = mynt1 + mynt2
gevinst = -50 + 40*resultat
samlet_gevinst += gevinst
print(samlet_gevinst)
- Forklar hva Martin ønsker å simulere og regne ut.
- Hva blir det eksakte svaret på oppgaven Martin ønsker å løse?
a) Martin simulerer et spill der man kaster to mynter og beregner samlet gevinst etter \(100\,000\) spill.
b) \(\mathbf{-1\,000\,000} \, \mathrm{kr}\)
a
Programmet simulerer et spill der man kaster to mynter. Vi går gjennom linje for linje:
N = 100000— antall spill som simuleres.samlet_gevinst = 0— telleren for total gevinst starter på 0.for i in range(N):— løkken kjøres \(100\,000\) ganger.mynt1 = random.randint(0, 1)— kaster den første mynten.randint(0, 1)gir tilfeldig 0 eller 1 med lik sannsynlighet (0 = kron, 1 = mynt).mynt2 = random.randint(0, 1)— kaster den andre mynten på samme måte.resultat = mynt1 + mynt2— teller antall mynt (1-ere) i kastet.resultatkan være 0, 1 eller 2.gevinst = -50 + 40 * resultat— beregner gevinsten for dette spillet:- 0 mynt: \(-50 + 40 \cdot 0 = -50 \, \mathrm{kr}\)
- 1 mynt: \(-50 + 40 \cdot 1 = -10 \, \mathrm{kr}\)
- 2 mynt: \(-50 + 40 \cdot 2 = 30 \, \mathrm{kr}\)
samlet_gevinst += gevinst— legger gevinsten til den løpende summen.print(samlet_gevinst)— skriver ut total gevinst etter alle \(100\,000\) spill.
Martin ønsker altså å simulere et myntkast-spill og estimere den samlede gevinsten (eller tapet) etter \(100\,000\) spill.
b
La \(X\) = antall mynt (1-ere) i to kast. \(X\) er binomisk fordelt med \(n = 2\) og \(p = \frac{1}{2}\).
Sannsynlighetene er:
Forventet gevinst per spill:
Eksakt total samlet gevinst over \(100\,000\) spill:
Martin kan forvente et tap på \(\mathbf{1\,000\,000 \, \mathrm{kr}}\) etter \(100\,000\) spill.