Hengelåskode og simulering
Peder har glemt koden på hengelåsen sin. Koden består av tre sifre. Peder husker at sifrene 7, 8, 9 og 0 ikke er med i koden. Han bestemmer seg for å prøve seg fram.
Bestem sannsynligheten for at Peder klarer å åpne hengelåsen på første forsøk.
Bruk simulering til å bestemme sannsynligheten for at Peder klarer å åpne hengelåsen på første forsøk.
Fasit
Simuleringen gir ca. , nært den teoretiske verdien .
LøsningsforslagKI-generert
Sifrene 7, 8, 9 og 0 er ikke med, så hvert siffer velges fra mengden — 6 mulige sifre per posisjon. Vi antar at sifrene kan gjentas (vanligste tolkning for hengelåskoder).
Antall mulige koder:
Peder vet ikke koden, og vi antar han gjetter tilfeldig blant alle 216 mulige koder. Det er bare én riktig kode, så sannsynligheten for å treffe på første forsøk er:
Sannsynligheten er .
Vi simulerer situasjonen 100 000 ganger. I hver runde trekkes en tilfeldig «fasit-kode» og en tilfeldig «gjetting», begge med sifre fra . Vi teller hvor mange ganger gjettingen treffer fasit-koden.
import numpy as np
rng = np.random.default_rng(42)
n = 100_000
faktisk = rng.integers(1, 7, size=(n, 3))
gjett = rng.integers(1, 7, size=(n, 3))
treff = np.all(faktisk == gjett, axis=1)
print(f"Estimat: {np.mean(treff):.4f}")
Resultat:
Estimat: 0.0043
Simuleringen gir ca. , som stemmer godt med den teoretiske verdien . Avviket skyldes tilfeldig variasjon i simuleringen.
Sensorveiledning
Kandidaten må regne ut sannsynligheten for å få 1 poeng.
For å få full uttelling må kandidaten bruke simulering. En løsning med opptelling ved for eksempel nøstede for-løkker kan gi 1 poeng.