KAlgebra/Sandsynligheder

From KDE Wiki Sandbox
This page is a translated version of the page KAlgebra/Probabilities and the translation is 100% complete.
Other languages:

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


Skærmbillede af KAlgebras vindue med sandsynlighedsberegninger
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 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.