KAlgebra/Probabilities/da: Difference between revisions
(Importing a new version from external source) |
No edit summary |
||
(49 intermediate revisions by 2 users not shown) | |||
Line 11: | Line 11: | ||
== Teorien bag spillet == | == Teorien bag spillet == | ||
Først må vi analysere en terning: | |||
Sandsynligheden for at terningen viser et givet antal øjne er 1/6 eller 16,667% da hvert af de 6 mulige udfald er lige sandsynlige. | |||
Sandsynligheden for at få hvert antal øjne er vist her | |||
{{Input| | {{Input| | ||
Line 25: | Line 25: | ||
6 16.667% | 6 16.667% | ||
}} | }} | ||
Når vi bruger to terninger, så ser de anderledes ud: | |||
{{Input| | {{Input| | ||
Line 41: | Line 41: | ||
}} | }} | ||
Hvorfor er sandsynlighederne for hvert antal øjne så forskellige, spørger du måske. Svaret er enkelt. Lad os tage "4" som eksemple og finde alle kombinationer af to terninger med sum 4: | |||
1+3 = 4 | 1+3 = 4 | ||
Line 48: | Line 48: | ||
Vi skal altså lægge sandsynlighederne for disse begivenheder sammen for at få den samlede sandsynlighed for at få 4. Lad os teste dette: | |||
Prob(1,3) + Prob(3,1) + Prob(2,2) = 1/6 * 1/6 + 1/6 * 1/6 + 1/6 * 1/6 = 0.08333 = 8,333% | Prob(1,3) + Prob(3,1) + Prob(2,2) = 1/6 * 1/6 + 1/6 * 1/6 + 1/6 * 1/6 = 0.08333 = 8,333% | ||
Hvis vi har 5 terninger, så skal vi på tilsvarende måde finde antallet af måder at få hvert resultat på. Vi bruger samme måde til at finde sandsynligheden for hver sum hvis der er et andet antal terninger. | |||
== | == Sandsynlighedsproblemet == | ||
Nu vil vi undersøge, hvad sandsynligheden for at få "6" 3 gange når vi kaster med 5 terninger. | |||
Vi skal finde sandsynligheden for den første terning gange sandsynligheden for den anden gange sandsynligheden for den tredje gange sandsynligheden for den fjerde terning gange sandsynligheden for den femte. | |||
Terningerne kan for eksempel viser '''6 6 6 2 3''', men de kan også være '''5 6 6 6 1''', så vi må bruge en binomialkoefficient til at tælle disse tilfælde. For at få binomialkoefficienten for at få '''M''' ud af '''N''' bruger vi følgende formel i '''KAlgebra''': | |||
{{Input|1=factorial(N) / (factorial(M) * factorial(N-M))}} | {{Input|1=factorial(N) / (factorial(M) * factorial(N-M))}} | ||
Det kan vi definere således: | |||
{{Input|1=comb:=(N,M)->factorial(N) / (factorial(M) * factorial(N-M))}} | {{Input|1=comb:=(N,M)->factorial(N) / (factorial(M) * factorial(N-M))}} | ||
Binomialkoefficienten for at få 3 ud af 5 mulige er: | |||
{{Input|1=comb(5,3)}} | {{Input|1=comb(5,3)}} | ||
Line 73: | Line 72: | ||
så vores endelige funktion bliver: | |||
{{Input|1=(comb(5, 3)*(1/6)*(1/6)*(1/6)*(5/6)*(5/6))}} | {{Input|1=(comb(5, 3)*(1/6)*(1/6)*(1/6)*(5/6)*(5/6))}} | ||
{{Output|1== 0.0321502}} | {{Output|1== 0.0321502}} | ||
Vi kan nu definere en enkel funktion til at beregne resultatet: | |||
{{Input|1=binomial:=(b, p, k)->(comb(b, k)*p^k)*(1-p)^(b-k)}} | {{Input|1=binomial:=(b, p, k)->(comb(b, k)*p^k)*(1-p)^(b-k)}} | ||
Så nu: | |||
{{Input|1=binomial(5, 1/6,3)}} | {{Input|1=binomial(5, 1/6,3)}} | ||
{{Output|1== 0.0321502}} | {{Output|1== 0.0321502}} | ||
Dette er sandsynligheden for at få 3 seksere med 5 terninger når sandsynligheden for en terning er 1/6 og sandsynligheden for, at en terning ikke bliver en sekser dermed er 5/6 | |||
Vi kan bemærke at summen af sandsynlighederne er 1: | |||
{{Input|1=sum(binomial(5,1/6,t):t=0..5)}} | {{Input|1=sum(binomial(5,1/6,t):t=0..5)}} | ||
Line 95: | Line 94: | ||
Vi kan se, at sandsynligheden vokser indtil den når en maksimumsværdi og derefter aftager igen. Vi ser en fordeling af sandsynlighederne blandt de mulige udfald. Denne slags fordeling kaldes en [https://en.wikipedia.org/wiki/Binomial_distribution binomialfordeling]. | |||
Vi forstår nu, at spiller ikke er balanceret, at der er nogle udfald der er bedre end andre, så den der vælger den bedste har størst sandsynlighed for at vinde. | |||
Den eneste måde at opnå et fair spil er ved kun at bruge en terning, hvor hvert udfald har sandsynligheden 1/6. En anden type spil med ligefordelte chancer er kast med en mønt, hvor begge de to sider har sandsynligheden 1/2. | |||
En enkel måde for en spiller at vinde er at forbedre sandsynligheden for et udfald, sådan et spillet ikke er balanceret. Hvis for eksempel banken placerer en lille vægt på siden med "6", så bliver sandsynlighederne ændret, for eksempel til: | |||
{{Input| | {{Input| | ||
Line 112: | Line 111: | ||
}} | }} | ||
Hvis vi nu kaster terningen 5 gange med disse sandsynligheder og vi skal bruge 3 seksere for at vinde, så er den samlede sandsynlighed: | |||
{{Input|1=binomial(5,0.25,3)}} | {{Input|1=binomial(5,0.25,3)}} | ||
Line 118: | Line 117: | ||
[[Image:Kalgebra-dice.png|300px|right| | [[Image:Kalgebra-dice.png|300px|right|Skærmbillede af '''KAlgebras''' vindue med sandsynlighedsberegninger]] | ||
=== | === Eksempel fra den virkelige verden === | ||
Der er to deltagere, banken og spilleren. Lad os sige, at de har 5 terninger. Vi kan lave et spil således: | |||
0 | 0 og 1 seksere: spilleren taber 1$ | ||
2 | 2 og 3 seksere: spilleren vinder 1$ | ||
4 | 4 seksere: spilleren vinder 175$ | ||
5 | 5 seksere: spilleren vinder 375$ | ||
{|class="tablecenter" style="border: 1px solid grey;" | {|class="tablecenter" style="border: 1px solid grey;" | ||
! k | ! k seksere | ||
! | ! gevinst eller tab | ||
|- | |- | ||
| 0 | | 0 | ||
Line 156: | Line 154: | ||
|} | |} | ||
Lad os beregne sandsynligheden: | |||
Sandsynligheden for spilleren: | |||
Spilleren skal have 2, 3, 4 eller 5 seksere for at vinde, så vi kan beregne sandsynligheden med '''KAlgebra''': | |||
{{Input| | {{Input| | ||
Line 170: | Line 168: | ||
Bankens sandsynlighed: | |||
Banken vinder med 0 eller 1 sekser, så vi kan beregne sandsynligheden med '''KAlgebra''': | |||
{{Input| | {{Input| | ||
Line 181: | Line 179: | ||
}} | }} | ||
Nu vil vi se om spillet er balanceret. Vi laver en funktion win(x), som udtrykker sammenhængen mellem antal seksere og gevinsten: | |||
{{Input|1= | {{Input|1= | ||
Line 188: | Line 185: | ||
}} | }} | ||
Lad os verificere udtrykket i '''KAlgebra''': | |||
{{Input| | {{Input| | ||
Line 197: | Line 194: | ||
}} | }} | ||
Resultatet skulle være 0, men på grund af den interne repræsentation af tal i computeren er resultatet ikke eksakt. | |||
Som vi kan se er spillet balanceret, så i det lange løb vil hverken spiller eller bank vinde. | |||
[[Category: | [[Category:Uddannelse/da]] |
Latest revision as of 16:39, 8 October 2022
Denne side viser nogle anvendelser af KAlgebra på sandsynlighedsproblemer.
Introduktion
Lad os sige, at vi har 5 terninger og vi ønsker at spille hasard med dem.
Teorien bag spillet
Først må vi analysere en terning:
Sandsynligheden for at terningen viser et givet antal øjne er 1/6 eller 16,667% da hvert af de 6 mulige udfald er lige sandsynlige.
Sandsynligheden for at få hvert antal øjne er vist her
1 16.667% 2 16.667% 3 16.667% 4 16.667% 5 16.667% 6 16.667%
Når vi bruger to terninger, så ser de anderledes ud:
2 2.778% 3 5.556% 4 8.333% 5 11.111% 6 13.889% 7 16.667% 8 13.889% 9 11.111% 10 8.333% 11 5.556% 12 2.778%
Hvorfor er sandsynlighederne for hvert antal øjne så forskellige, spørger du måske. Svaret er enkelt. Lad os tage "4" som eksemple og finde alle kombinationer af to terninger med sum 4:
1+3 = 4 3+1 = 4 2+2 = 4
Vi skal altså lægge sandsynlighederne for disse begivenheder sammen for at få den samlede sandsynlighed for at få 4. Lad os teste dette:
Prob(1,3) + Prob(3,1) + Prob(2,2) = 1/6 * 1/6 + 1/6 * 1/6 + 1/6 * 1/6 = 0.08333 = 8,333%
Hvis vi har 5 terninger, så skal vi på tilsvarende måde finde antallet af måder at få hvert resultat på. Vi bruger samme måde til at finde sandsynligheden for hver sum hvis der er et andet antal terninger.
Sandsynlighedsproblemet
Nu vil vi undersøge, hvad sandsynligheden for at få "6" 3 gange når vi kaster med 5 terninger.
Vi skal finde sandsynligheden for den første terning gange sandsynligheden for den anden gange sandsynligheden for den tredje gange sandsynligheden for den fjerde terning gange sandsynligheden for den femte.
Terningerne kan for eksempel viser 6 6 6 2 3, men de kan også være 5 6 6 6 1, så vi må bruge en binomialkoefficient til at tælle disse tilfælde. For at få binomialkoefficienten for at få M ud af N bruger vi følgende formel i KAlgebra:
factorial(N) / (factorial(M) * factorial(N-M))
Det kan vi definere således:
comb:=(N,M)->factorial(N) / (factorial(M) * factorial(N-M))
Binomialkoefficienten for at få 3 ud af 5 mulige er:
comb(5,3)
= 10
så vores endelige funktion bliver:
(comb(5, 3)*(1/6)*(1/6)*(1/6)*(5/6)*(5/6))
= 0.0321502
Vi kan nu definere en enkel funktion til at beregne resultatet:
binomial:=(b, p, k)->(comb(b, k)*p^k)*(1-p)^(b-k)
Så nu:
binomial(5, 1/6,3)
= 0.0321502
Dette er sandsynligheden for at få 3 seksere med 5 terninger når sandsynligheden for en terning er 1/6 og sandsynligheden for, at en terning ikke bliver en sekser dermed er 5/6
Vi kan bemærke at summen af sandsynlighederne er 1:
sum(binomial(5,1/6,t):t=0..5)
= 1
Vi kan se, at sandsynligheden vokser indtil den når en maksimumsværdi og derefter aftager igen. Vi ser en fordeling af sandsynlighederne blandt de mulige udfald. Denne slags fordeling kaldes en binomialfordeling.
Vi forstår nu, at spiller ikke er balanceret, at der er nogle udfald der er bedre end andre, så den der vælger den bedste har størst sandsynlighed for at vinde.
Den eneste måde at opnå et fair spil er ved kun at bruge en terning, hvor hvert udfald har sandsynligheden 1/6. En anden type spil med ligefordelte chancer er kast med en mønt, hvor begge de to sider har sandsynligheden 1/2.
En enkel måde for en spiller at vinde er at forbedre sandsynligheden for et udfald, sådan et spillet ikke er balanceret. Hvis for eksempel banken placerer en lille vægt på siden med "6", så bliver sandsynlighederne ændret, for eksempel til:
0.15 1 0.15 2 0.15 3 0.15 4 0.15 5 0.25 6
Hvis vi nu kaster terningen 5 gange med disse sandsynligheder og vi skal bruge 3 seksere for at vinde, så er den samlede sandsynlighed:
binomial(5,0.25,3)
= 0.087890625
Eksempel fra den virkelige verden
Der er to deltagere, banken og spilleren. Lad os sige, at de har 5 terninger. Vi kan lave et spil således:
0 og 1 seksere: spilleren taber 1$
2 og 3 seksere: spilleren vinder 1$
4 seksere: spilleren vinder 175$
5 seksere: spilleren vinder 375$
k seksere | gevinst eller tab |
---|---|
0 | -1$ |
1 | -1$ |
2 | 1$ |
3 | 1$ |
4 | 175$ |
5 | 375$ |
Lad os beregne sandsynligheden:
Sandsynligheden for spilleren:
Spilleren skal have 2, 3, 4 eller 5 seksere for at vinde, så vi kan beregne sandsynligheden med KAlgebra:
binomial(5,1/6,2)+binomial(5,1/6,3)+binomial(5,1/6,4)+binomial(5,1/6,5)
= 0.196244855967
Bankens sandsynlighed:
Banken vinder med 0 eller 1 sekser, så vi kan beregne sandsynligheden med KAlgebra:
binomial(5,1/6,0)+binomial(5,1/6,1)
= 0.803755144033
Nu vil vi se om spillet er balanceret. Vi laver en funktion win(x), som udtrykker sammenhængen mellem antal seksere og gevinsten:
win:=x->piecewise { x=0 ? -1, x=1 ? -1, x=2 ? 1, x=3 ? 1, x=4 ? 175, x=5 ? 375, ? 0 }
Lad os verificere udtrykket i KAlgebra:
sum(win(x)*binomial(5,1/6,x): x=0..5)
= -2.01227923213e-16
Resultatet skulle være 0, men på grund af den interne repræsentation af tal i computeren er resultatet ikke eksakt.
Som vi kan se er spillet balanceret, så i det lange løb vil hverken spiller eller bank vinde.