Programmering og normalfordeling - simulering S2 V26

Del 1, uten hjelpemidler

Programmering og normalfordeling - simulering S2 V26

Øystein har skrevet programkoden nedenfor.

from numpy.random import normal
#normal(forventningsverdi, standardavvik) gir en tilfeldig verdi fra en normalfordeling

SIMULERINGER = 100
GRENSE = 110

A_vinner = 0
B_vinner = 0

for i in range(SIMULERINGER):
    A = normal(80, 20)
    B = normal(70, 30)
    if A > GRENSE or B > GRENSE:
        if A > B:
            A_vinner = A_vinner + 1
        else:
            B_vinner = B_vinner + 1

if A_vinner > B_vinner:
    print("A vinner")
elif B_vinner > A_vinner:
    print("B vinner")
else:
    print("Uavgjort")

Øystein har også skissert tetthetsfunksjonen til normalfordelingene A og B fra programmet. Se figuren nedenfor.

Tetthetsfunksjonene til normalfordelingene A og B

Forklar kort hva programkoden gjør.

Det er størst sannsynlighet for at programmet skriver ut «B vinner». Øystein ønsker å endre programkoden slik at denne sannsynligheten blir enda større.

Forklar hvordan Øystein kan endre på verdien i variabelen SIMULERINGER i linje 4, for å øke sannsynligheten for at programmet skriver ut «B vinner».

Forklar hvordan Øystein kan endre på verdien i variabelen GRENSE i linje 5 for å øke sannsynligheten for at programmet skriver ut «B vinner».

Fasit

Øk variabelen

Øk variabelen

Løsningsforslag

Øystein gjør 100 simuleringer av et spill med to spillere: A og B. Dersom A vinner flere ganger enn B i løpet av de 100 spillene så blir A utropt som totalvinner. Dersom B vinner flest ganger blir denne utropt som totalvinner. Ellers blir kampen uavgjort.

I hvert av de 100 spillene så blir A og B tilordnet en verdi fra normalfordelinger, henholdsvis en fordeling med μ=80 og σ=20 for A og en fordeling med μ=70 og σ=30 for B.

For at en spiller skal vinne et av de 100 delspillene så må minst en av dem ha trukket en verdi over 110. Dersom en spiller trekker en verdi over 110 så vil den spilleren med høyest verdi bli kåret som vinner av delspillet.

Øystein må øke SIMULERINGER.

Per delspill (der minst én av A og B kommer over grensen) er det litt mer sannsynlig at B vinner enn A. Vi ser det på figuren: arealet under grafen til B for x>110 er større enn arealet under grafen til A. Det skyldes at B har større standardavvik (σB=30 mot σA=20), så B sin fordeling brer seg mer utover og har en tyngre hale.

Med få simuleringer (som 100) dominerer tilfeldighet – A kan tilfeldigvis vinne flere ganger enn B selv om B har høyere sannsynlighet per delspill. Med mange simuleringer vil andelen B-seire nærme seg den sanne sannsynligheten (loven om store tall), og det blir tilsvarende mer sikkert at programmet skriver ut «B vinner».

Øystein må øke GRENSE.

Når grensen heves, blir både P(A>grense) og P(B>grense) mindre, men sannsynligheten for at A overskrider faller raskere enn for B. Grunnen er igjen at A har mindre standardavvik (σA=20<σB=30): A sin fordeling er smalere og mer konsentrert rundt forventningsverdien, så A kommer sjeldnere langt ut i halen sammenlignet med B.

Forholdet mellom haleareal til B og haleareal til A blir altså enda mer i B sin favør jo høyere grensen settes, og det blir tilsvarende mer sannsynlig at programmet skriver «B vinner».

Sensorveiledning

Oppgaven gir til sammen 4 poeng

2 poeng

Kandidaten trenger ikke å forklare linje for linje, men må kommentere innholdet i linjene 10-17 for å få full uttelling. En forklaring med noen mangler kan gi 1 poeng.

1 poeng

Kandidaten må ha med begrunnelse for endringen i programmet for å få uttelling.

1 poeng

Kandidaten må ha med begrunnelse for endringen i programmet for å få uttelling.

Forstå oppgaven med en KI

Du får en ferdig tekst du limer inn i den KI-chatboten du bruker. Teksten inneholder oppgaven og en instruks om at chatboten skal hjelpe deg å tenke selv — stille spørsmål, gi ett hint av gangen og la deg gjøre regningen.

Anbefalt. Chatboten får beskjed om å bruke det til å veilede deg riktig vei — ikke til å røpe svaret. Du kan slå det av hvis du vil være helt sikker på at ingenting lekker.

Hva du bør vite
  • Ingenting sendes herfra. Teksten kopieres bare til utklippstavla på enheten din. Det du limer inn i en chatbot, går til den tjenesten — og de har sine egne regler for hva de lagrer.
  • Ikke lim inn personopplysninger — navn, skole eller noe annet om deg selv eller andre. Oppgaveteksten holder.
  • KI kan ta feil, også i matematikk. Sjekk alltid mot løsningsforslaget her på siden.
  • Er du usikker på om du har lov til å bruke KI på skolearbeidet ditt, spør læreren din først.

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 ferdig
S
Vis / skjul løsningsforslag
A
Legg til i liste
N
Skriv notat
Esc
Tilbake / avslutt