Tilbake
6.3
Simulering

6.3 Simulering

Bruke simulering til å estimere sannsynligheter.

45 min
7 oppgaver
SimuleringTilfeldighetStore talls lovDigitale verktøy
Du leser den lesevennlige versjonen
Din fremgang i kapitlet
0 / 7 oppgaver

Når regningen blir for vanskelig -- jukse med datamaskin?

I et brettspill trenger du minst én sekser i løpet av fire kast for å redde laget ditt. «Hva er sjansen for det?» spør en medspiller. Du kjenner formelen P(6)=16\displaystyle P(6) = \frac{1}{6} for ett kast -- men fire kast, og minst én sekser? Plutselig er det ikke opplagt hvordan du skal regne.

Her finnes en genial utvei: la datamaskinen spille spillet for deg. Tusenvis av ganger. Så teller du bare hvor ofte det gikk bra. Dette kalles en simulering, og det er et av de mest brukte verktøyene i moderne anvendt matematikk -- fra værvarsling til spillutvikling.

I dette kapittelet lærer du hva en simulering er og når den er nyttig, hvordan relativ frekvens brukes som estimat for sannsynlighet, og hvorfor flere forsøk gir sikrere svar -- det som kalles store talls lov.

Simulering og relativ frekvens

En simulering er et datamaskin-eksperiment som etterligner et tilfeldig forsøk. Oppskriften har fire steg. Først lager du en digital utgave av forsøket -- for et terningkast trekker du et tilfeldig tall fra 11 til 66. Så gjentar du forsøket mange ganger, si nn ganger. Deretter teller du hvor mange ganger hendelsen du er interessert i, inntreffer -- kall det kk. Til slutt estimerer du sannsynligheten med den relative frekvensen:

PknP \approx \frac{k}{n}

La oss prøve tankegangen på noe vi kjenner svaret på: myntkast. Du simulerer 10001\,000 kast. Hvor mange kron forventer du? Det forventede antallet er sannsynligheten ganger antall forsøk:

121000=500\frac{1}{2} \cdot 1\,000 = 500

En faktisk kjøring ga 484484 kron. Den relative frekvensen blir 4841000=0,484\displaystyle \frac{484}{1\,000} = 0{,}484 -- nær den teoretiske sannsynligheten 0,50{,}5, men ikke nøyaktig lik. Det er helt som forventet: simuleringer bygger på tilfeldighet, så resultatet varierer litt fra kjøring til kjøring. Kjører du på nytt, får du kanskje 0,5120{,}512 eller 0,4950{,}495.

Det viktige er at den relative frekvensen kretser rundt den sanne sannsynligheten -- og som vi straks skal se, kretser den tettere og tettere jo flere forsøk vi gjør.

📝Oppgave Quiz 1

Store talls lov -- og noen linjer Python

Hvor mange forsøk trenger en simulering? Svaret ligger i store talls lov: jo flere ganger du gjentar et forsøk, desto nærmere kommer den relative frekvensen den teoretiske sannsynligheten.

Tenk på seksere: med bare 1010 terningkast kan du fint få 00 seksere -- eller 44. Den relative frekvensen blir da 00 eller 0,40{,}4, begge langt unna 160,167\displaystyle \frac{1}{6} \approx 0{,}167. Men med 1000010\,000 kast jevner tilfeldighetene seg ut, og den relative frekvensen havner nesten alltid tett på 0,1670{,}167. Derfor bruker vi mange forsøk når vi simulerer -- tusenvis, gjerne flere.

Og hvordan får vi datamaskinen til å kaste terning ti tusen ganger? Med noen få linjer Python:

import random

antall = 0
for i in range(10000):
    kast = random.randint(1, 6)
    if kast == 6:
        antall = antall + 1

print("Relativ frekvens:", antall / 10000)

Programmet følger oppskriften vår slavisk: random.randint(1, 6) er den digitale terningen, løkken gjentar forsøket 1000010\,000 ganger, if-testen teller treffene, og til slutt skrives den relative frekvensen ut -- et tall nær 0,1670{,}167, litt forskjellig hver gang programmet kjøres. Ti tusen terningkast på et tastetrykk: det er simuleringens superkraft.

📝Oppgave Quiz 2

Når simulering slår teori

Tilbake til brettspillet: minst én sekser på fire kast. Med simulering er problemet plutselig enkelt -- du lar datamaskinen «kaste fire terninger» titusenvis av ganger og teller hvor ofte minst én sekser dukker opp.

En kjøring med 1000010\,000 forsøk ga «minst én sekser» i 51625\,162 av dem:

P516210000=0,516P \approx \frac{5\,162}{10\,000} = 0{,}516

Finnes det en teoretisk fasit? Ja -- og den bruker komplementtrikset: i stedet for «minst én sekser» regner vi på det motsatte, «ingen seksere». Sjansen for ikke-sekser i ett kast er 56\displaystyle \frac{5}{6}, og i fire kast på rad (56)40,482\displaystyle \left(\frac{5}{6}\right)^4 \approx 0{,}482. Dermed:

P(minst eˊn sekser)=1(56)410,482=0,518P(\text{minst én sekser}) = 1 - \left(\frac{5}{6}\right)^4 \approx 1 - 0{,}482 = 0{,}518

Simuleringen traff med et avvik på bare 0,0020{,}002! Du kan altså trygt fortelle medspilleren din: litt bedre enn fifty-fifty.

Poenget er at simuleringen ikke trengte teorien. Når den teoretiske beregningen er kronglete -- eller umulig -- gir simuleringen likevel et pålitelig estimat. Det er nettopp slik den brukes i virkeligheten: meteorologer simulerer tusenvis av mulige værutviklinger, butikkjeder simulerer køer for å bemanne kassene riktig, forsikringsselskaper simulerer skader, og spillutviklere simulerer millioner av runder for å balansere spillene sine. Overalt der tilfeldigheten er for kompleks for formler, står simuleringen klar.

📝Oppgave Quiz 3

Oppsummering

Spørsmålet fra brettspillet -- minst én sekser på fire kast -- viste oss en helt ny måte å finne sannsynligheter på: la datamaskinen prøve.

En simulering etterligner et tilfeldig forsøk digitalt: lag en digital terning, gjenta forsøket nn ganger, tell de kk gangene hendelsen inntreffer, og estimer sannsynligheten med den relative frekvensen Pkn\displaystyle P \approx \frac{k}{n}. Forventet antall treff er PnP \cdot n -- som de 500500 kronene vi ventet av 10001\,000 myntkast.

Store talls lov forklarer hvorfor mange forsøk er avgjørende: 1010 kast kan gi ville utslag, men 1000010\,000 kast lander nesten alltid tett på den teoretiske sannsynligheten. Noen linjer Python med random.randint og en løkke er alt som trengs.

Og når teorien er vanskelig, viser simuleringen sin styrke: estimatet 0,5160{,}516 for «minst én sekser på fire kast» traff fasiten 1(56)40,518\displaystyle 1 - \left(\frac{5}{6}\right)^4 \approx 0{,}518 med et avvik på bare 0,0020{,}002. Samme metode styrer værvarsler, køplanlegging, forsikring og spillbalansering. Når tilfeldigheten blir for kompleks for formler -- simuler!

Dette kapitlet er skrevet av Anthropics toppmodeller (Claude Opus og Claude Fable) og er foreløpig ikke manuelt gjennomgått — kvalitetskontrollen gjøres av uavhengige KI-agenter, og innmeldte feil rettes fortløpende. Funnet en feil? Meld fra, så retter vi den. Les mer om hvordan innholdet lages.