KAlgebra/Probabilities/da: Difference between revisions

From KDE Wiki Sandbox
(Importing a new version from external source)
No edit summary
 
(43 intermediate revisions by 2 users not shown)
Line 15: Line 15:
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 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
Sandsynligheden for at få hvert antal øjne er vist her


{{Input|
{{Input|
Line 52: Line 52:
   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%


So if we have 5 dice, we should get for each resulting number the 5 numbers on dice that summed up give us it. The way to get the probabilities of each number with more dices is equal.
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.


== The probability problem ==
== Sandsynlighedsproblemet ==


Now we mind at a problem, if we roll our 5 dice and we want 3 '6', what is the probability to get them?
Nu vil vi undersøge, hvad sandsynligheden for at få "6" 3 gange når vi kaster med 5 terninger.


ok, the problem is: probability on first dice * probability on second dice * probability on third dice * negative probability on fourth * negative probability on fifth
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.


So for instance the dice can be: '''6 6 6 2 3''', but they can also be '''5 6 6 6 1''', so we have to introduce a binomial coefficient to count all this cases.
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''':
To have the binomial coefficient of '''N''' numbers on '''M''' position the formula for '''KAlgebra''' is:
{{Input|1=factorial(N) / (factorial(M) * factorial(N-M))}}
{{Input|1=factorial(N) / (factorial(M) * factorial(N-M))}}
This is the combinatorial coefficient, which we can define like this:
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))}}


So the binomial coefficient of 3 numbers on 5 position is:  
Binomialkoefficienten for at få 3 ud af 5 mulige er:  


{{Input|1=comb(5,3)}}
{{Input|1=comb(5,3)}}
Line 73: Line 72:




so at last our function will be:
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}}


We can now define a simple function to get the result:
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)}}


So now:
Så nu:


{{Input|1=binomial(5, 1/6,3)}}
{{Input|1=binomial(5, 1/6,3)}}
{{Output|1== 0.0321502}}
{{Output|1== 0.0321502}}


It's the probability on 5 extraction to get 3 identical number where the probability of each card is 1/6 and the negative probability is 5/6
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


We can notice that the sum of probabilities is 1:
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:




We can think that the probability progress until the maximum value and then it decrease constantly as it has progressed. So we can see that the distribution of numbers among the extraction is like a bell, this kind of distribution is called a [http://en.wikipedia.org/wiki/Binomial_distribution binomial distribution].
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].


So now we understand that the game is non balanced, there are probabilities better than other so who choose the best can win easily.
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.


The only way to have a fair game is to gambling with only one die because each face has 1/6 of probability. Another type of equiprobal chances are the launch of a coin where each face is 1/2 of probability.
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.


A simple way where a player can win is to improve the probability on a face so it will be unbalanced, for istance the bank in a game can put a small load on the face with '6' so the probabilities change and the dice now became:
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:
}}
}}


So now if we roll the 5 dices with this probability and we want 3 '6' to win the total probability is:
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|Snapshot of '''KAlgebra''' window doing calculations about probabilities]]
[[Image:Kalgebra-dice.png|300px|right|Skærmbillede af '''KAlgebras''' vindue med sandsynlighedsberegninger]]


=== Real World Example ===
=== Eksempel fra den virkelige verden ===


There are two person, the bank and the player.
Der er to deltagere, banken og spilleren. Lad os sige, at de har 5 terninger. Vi kan lave et spil således:
Let's say they have 5 dices and the entrance fee for player is 1$. We can create a game like this:


0 to 1 times dice with '6': player loses 1$ with the fee
0 og 1 seksere: spilleren taber 1$


2 to 3 times dice with '6': player win 1$ with the fee
2 og 3 seksere: spilleren vinder 1$


4 times dice with '6': player win 175$ with the fee
4 seksere: spilleren vinder 175$


5 times dice with '6': player win 375$ with the fee
5 seksere: spilleren vinder 375$


{|class="tablecenter" style="border: 1px solid grey;"
{|class="tablecenter" style="border: 1px solid grey;"
! k times '6'
! k seksere
! win or loose
! gevinst eller tab
|-
|-
| 0
| 0
Line 156: Line 154:
|}
|}


Let's calculate the probability:
Lad os beregne sandsynligheden:


Probability for player:  
Sandsynligheden for spilleren:  


The player can win only with 2-3 times '''6''', 4 times '''6''' or 5 times '''6''', so if we want to process the probability with '''KAlgebra''' it will be:
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:




Probability for bank:
Bankens sandsynlighed:


The bank can win only with 0-1 times '''6''', so if we want to process the probability with '''KAlgebra''' it will be:
Banken vinder med 0 eller 1 sekser, så vi kan beregne sandsynligheden med '''KAlgebra''':


{{Input|
{{Input|
Line 181: Line 179:
}}
}}


We now want to see if player and bank are balanced,
Nu vil vi se om spillet er balanceret. Vi laver en funktion win(x), som udtrykker sammenhængen mellem antal seksere og gevinsten:
We create a function win(x), that create a correspondence between values and prizes:


{{Input|1=
{{Input|1=
Line 188: Line 185:
}}
}}


Let's verify the expression with '''KAlgebra''':
Lad os verificere udtrykket i '''KAlgebra''':


{{Input|
{{Input|
Line 197: Line 194:
}}
}}


The result should be 0, but because of the internal representation of numbers in the computer the result is not exact.
Resultatet skulle være 0, men på grund af den interne repræsentation af tal i computeren er resultatet ikke eksakt.


As we can see the problem is equilibrated and player and bank will not win or lose anything for an infinite number of games.
Som vi kan se er spillet balanceret, så i det lange løb vil hverken spiller eller bank vinde.


[[Category:Education]]
[[Category:Uddannelse/da]]

Latest revision as of 16:39, 8 October 2022

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.