KAlgebra/Sandsynligheder

From KDE UserBase Wiki
Revision as of 18:13, 3 September 2012 by Claus chr (talk | contribs) (Importing a new version from external source)
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 til højre

    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 så 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 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 og at der koster 1$ at spille. Vi kan lave et spil således:

0 og 1 seksere: spilleren taber indskudet

2 og 3 seksere: spilleren får 2$

4 seksere: spilleren får 176$

5 seksere: spilleren får 376$

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 }

Let's verify the expression with KAlgebra:

sum(win(x)*binomial(5,1/6,x): x=0..5)
=	-2.01227923213e-16

The result should be 0, but because of the internal representation of numbers in the computer the result is not exact.

As we can see the problem is equilibrated and player and bank will not win or lose anything for an infinite number of games.