Puzzel Puzzels
Dux
Artikelen: 0
Berichten: 0
Lid geworden op: ma 15 apr 2013, 17:00

Risk

Als persoon A met a dobbelstenen gooit en persoon B met b dobbelstenen, wat is de kans dat Sa (som dobbelstenen a) > Sb?

Dit is geen opdracht, maar ik heb er zelf over na zitten denken en kom er niet uit. Ik zou een programma kunnen schrijven, maar liever heb ik een formule (al dan niet een benadering).

ads

Steun Sciencetalk Super Mario Galaxy + Super Mario Galaxy 2 - Nintendo Switch

Super Mario Galaxy + Super Mario Galaxy 2 - Nintendo Switch

Bekijk product

Steun Sciencetalk Nuvance SD Kaart Lezer - 3 in 1 - Micro SD Kaart - USB naar USB C - 8-Pin - Geschikt voor alle Telefoons, Tablets & Laptops

Nuvance SD Kaart Lezer - 3 in 1 - Micro SD Kaart - USB naar USB C - 8-Pin - Geschikt voor alle Telefoons, Tablets & Laptops

Bekijk product

Steun Sciencetalk Screenprotector - 2 stuks - Geschikt voor iPhone 17 Tempered Glass - Extra Sterk – beschermglas

Screenprotector - 2 stuks - Geschikt voor iPhone 17 Tempered Glass - Extra Sterk – beschermglas

Bekijk product

arno_sciencetalk
Artikelen: 0
Berichten: 1.923
Lid geworden op: do 25 dec 2008, 16:28

Re: Risk

Ga uit van het gegeven dat je met 1 dobbelsteen minimaal 1 en maximaal 6 kunt gooien.
"Mathematics is a gigantic intellectual construction, very difficult, if not impossible, to view in its entirety." Armand Borel
Scispace Scispace

Scispace is dé ai voor wetenschappers en onderzoekers. Ga naar SciSpace en profiteer van één van de beste ai's.

Scispace

Dux
Artikelen: 0
Berichten: 0
Lid geworden op: ma 15 apr 2013, 17:00

Re: Risk

arno schreef:Ga uit van het gegeven dat je met 1 dobbelsteen minimaal 1 en maximaal 6 kunt gooien.
Ik heb geen idee wat ik hieruit moet halen. :?
arno_sciencetalk
Artikelen: 0
Berichten: 1.923
Lid geworden op: do 25 dec 2008, 16:28

Re: Risk

Dux schreef:
arno schreef:Ga uit van het gegeven dat je met 1 dobbelsteen minimaal 1 en maximaal 6 kunt gooien.
Ik heb geen idee wat ik hieruit moet halen. :?
Wat is het totaal aantal mogelijkheden als je met 1 dobbelsteen gooit, en wat is het totaal aantal mogelijkheden bij n dobbelstenen?
"Mathematics is a gigantic intellectual construction, very difficult, if not impossible, to view in its entirety." Armand Borel
Dux
Artikelen: 0
Berichten: 0
Lid geworden op: ma 15 apr 2013, 17:00

Re: Risk

Bij n dobbelstenen kun je van n tot 6n gooien, wat 6n-n+1 = 5n+1 mogelijkheden zijn.
drc.
Artikelen: 0
Berichten: 46
Lid geworden op: di 02 feb 2010, 21:07

Re: Risk

Ik zou met kansen op een bepaald aantal dobbelstenen op een bepaald aantal ogen, in plaats van aantal mogelijkheden omdat het aantal dobbelstenen verschillend kan zijn. Maar bij Risk kijk je toch naar dobbelstenen op zich in plaats van de som?
Dux
Artikelen: 0
Berichten: 0
Lid geworden op: ma 15 apr 2013, 17:00

Re: Risk

David schreef:Ik zou met kansen op een bepaald aantal dobbelstenen op een bepaald aantal ogen, in plaats van aantal mogelijkheden omdat het aantal dobbelstenen verschillend kan zijn. Maar bij Risk kijk je toch naar dobbelstenen op zich in plaats van de som?
Ik baseer mijn vraag niet op Risk, maar een simpeler spel gebaseerd op Risk (zoiets als http://www.spelle.nl/Denk/2283/Risken_1.html )
drc.
Artikelen: 0
Berichten: 46
Lid geworden op: di 02 feb 2010, 21:07

Re: Risk

Breek het probleem in verschillende problemen.
Bereken de kans dat gegeven een aantal ogen van A, Qa groter is dan het aantal ogen van B, Qb, voor alle mogelijkheden voor Qa. Kies bijvoorbeeld: a ( = aantal dobbelstenen A) = 3, b (= aantal dobbelstenen B) = 2. (of het probleem dat Qb lager is dan Qa voor alle mogelijkheden voor alle mogelikheden voor Qa).
Wat als Qa = Qb?
Dux
Artikelen: 0
Berichten: 0
Lid geworden op: ma 15 apr 2013, 17:00

Re: Risk

David schreef:Bereken de kans dat gegeven een aantal ogen van A, Qa groter is dan het aantal ogen van B, Qb, voor alle mogelijkheden voor Qa. Kies bijvoorbeeld: a ( = aantal dobbelstenen A) = 3, b (= aantal dobbelstenen B) = 2. (of het probleem dat Qb lager is dan Qa voor alle mogelijkheden voor alle mogelikheden voor Qa).
Wat als Qa = Qb?
\(\sum_{Qa=a}^{6a}(P(Qa=Sa)\cdot P(Qa>Sb))\)


Bedoel je dit?

Als Qa = Qb wint in het spel de verdediger; aangezien alleen aanvallen jouw keuze is, wil ik Qa>Qb berekenen ipv Qa>=Qb.
drc.
Artikelen: 0
Berichten: 46
Lid geworden op: di 02 feb 2010, 21:07

Re: Risk

Ja, ziet er goed uit. Dit is voor de situatie dat persoon A persoon B aanvalt Je zei je zou een programma kunnen schrijven. Wat voor programma zou je schrijven? Je kan op een formule komen maar uiteindelijk wil je misschien een tabel maken voor de kansen. Om die te maken kan je een programma schrijven.
Dux
Artikelen: 0
Berichten: 0
Lid geworden op: ma 15 apr 2013, 17:00

Re: Risk

Ik heb besloten de formule maar op te geven en een programma te schrijven. Ik heb een beetje ervaring met Project Euler (in Python). Ik zal de resultaten hier posten.
drc.
Artikelen: 0
Berichten: 46
Lid geworden op: di 02 feb 2010, 21:07

Re: Risk

Hoezo geef je de formule op? Fijn als je de resultaten wilt tonen. Wat voor programma wordt het? Veel proberen?
drc.
Artikelen: 0
Berichten: 46
Lid geworden op: di 02 feb 2010, 21:07

Re: Risk

Code: Selecteer alles

 a             b            p(Sa > Sb) 
______________________________________________________
 1             1            15/6^2 = 0,416666666666667
 1             2            20/6^3 = 9,25925925925926E-02
 1             3            15/6^4 = 1,15740740740741E-02
 1             4            6/6^5 = 7,71604938271605E-04
 1             5            1/6^6 = 2,14334705075446E-05
 1             6            0/6^7 = 0 
 2             1            181/6^3 = 0,837962962962963
 2             2            575/6^4 = 0,443672839506173
 2             3            1182/6^5 = 0,152006172839506
 2             4            1674/6^6 = 3,58796296296296E-02
 2             5            1709/6^7 = 6,10496684956561E-03
 2             6            1287/6^8 = 7,66246570644719E-04
 3             1            1261/6^4 = 0,972993827160494
 3             2            6054/6^5 = 0,778549382716049
 3             3            21162/6^6 = 0,453575102880658
 3             4            53664/6^7 = 0,191700960219479
 3             5            101974/6^8 = 6,07126867093431E-02
 3             6            149942/6^9 = 1,48785992353808E-02
 4             1            7755/6^5 = 0,997299382716049
 4             2            43821/6^6 = 0,939236111111111
 4             3            207945/6^7 = 0,742830504115226
 4             4            771831/6^8 = 0,459528249314129
 4             5            2221551/6^9 = 0,220442351108825
 4             6            5044260/6^10 = 8,34228379185084E-02
 5             1            46649/6^6 = 0,999849965706447
 5             2            276560/6^7 = 0,987940100594422
 5             3            1527354/6^8 = 0,90934713648834
 5             4            7236576/6^9 = 0,718078417924097
 5             5            28035360/6^10 = 0,463653597012651
 5             6            87959820/6^11 = 0,24244910079976
 6             1            279935/6^7 = 0,999996427754915
 6             2            1676621/6^8 = 0,998216854328608
 6             3            9828775/6^9 = 0,975299810591627
 6             4            53449286/6^10 = 0,88395346846475
 6             5            253818766/6^11 = 0,69961638828734
 6             6            1015970930/6^12 = 0,46673060195211
Dit is wat ik uitkrijg, voor een paar waarden van a en b. Wat krijg jij?
Dux
Artikelen: 0
Berichten: 0
Lid geworden op: ma 15 apr 2013, 17:00

Re: Risk

Mijn uitkomsten zijn dezelfde:

Code: Selecteer alles

a  b  p(Sa>Sb)
----------------------------
1  1  0.4166666666666667
1  2  0.09259259259259259
1  3  0.011574074074074073
1  4  0.0007716049382716048
1  5  2.1433470507544583e-05
1  6  0.0
2  1  0.837962962962963
2  2  0.4436728395061728
2  3  0.15200617283950615
2  4  0.03587962962962963
2  5  0.006104966849565615
2  6  0.0007662465706447187
3  1  0.9729938271604938
3  2  0.7785493827160493
3  3  0.4535751028806584
3  4  0.19170096021947874
3  5  0.060712686709343086
3  6  0.014878599235380787
4  1  0.9972993827160495
4  2  0.9392361111111109
4  3  0.7428305041152261
4  4  0.45952824931412894
4  5  0.22044235110882487
4  6  0.08342283791850835
5  1  0.9998499657064469
5  2  0.9879401005944214
5  3  0.90934713648834
5  4  0.7180784179240969
5  5  0.46365359701265046
5  6  0.24244910079975954
6  1  0.9999964277549153
6  2  0.9982168543286084
6  3  0.9752998105916272
6  4  0.8839534684647495
6  5  0.6996163882873404
6  6  0.46673060195210997
Mijn programma bestaat uit twee delen.
Dit deel maakt voor alle aantallen dobbelstenen tot en met d een lijst met frequenties (= mogelijkheden) voor een aantal ogen:

Code: Selecteer alles

def frequenties(d):
    f=[0]
    for n in range(1,d+1):
        Qn=[0] * (6*n+1)
        ds=[1] * n
        while sum(ds) < 6*n:
            Qn[sum(ds)] += 1
            ds[-1]+=1
            while 1:
                try:
                    i=ds.index(7)
                except ValueError:
                    i=-1
                if i==-1:
                    break
                else:
                    ds[i]=1
                    ds[i-1]+=1
        Qn[sum(ds)]+=1
        f.append(Qn)
    return f
Het volgende deel gaat alle a's en b's door en dan alle mogelijkheden van a (dan voert hij eigenlijk die som uit die ik eerder postte), hij telt de kansen op en laat ze op beeld zien:

Code: Selecteer alles

for a in range(1,d+1):
    for b in range(1,d+1):
        p=0
        for i in range(0,len(f[a])):
            winst=0
            for j in range(0,i):
                if j+1>len(f[b]):
                    break
                winst+=f[b][j]
            winkans=winst/sum(f[b])
            p+=f[a][i]/sum(f[a])*winkans
        print(a,b,p)
Ik zag aan jouw post dat het meervouden zijn van 1/(6^(a+b)), wat eigenlijk wel logisch is.
David schreef:Hoezo geef je de formule op?
Omdat de formule waarschijnlijk uiteindelijk hetzelfde zou doen als het programma en omdat het programma een exact antwoord kan geven ,die meervouden van 1/(6^(a+b)), is hij ook niet nodig voor een exact antwoord.

PS: Ik sta open voor opmerkingen op mijn programmeren :wink: , ik heb het mezelf aangeleerd.

ads

Steun Sciencetalk 10 euro PlayStation Store tegoed - PlayStation Kaart (NL)

10 euro PlayStation Store tegoed - PlayStation Kaart (NL)

Bekijk product

Steun Sciencetalk MSI MAG 27C6F - FHD Curved Gaming Monitor - 180Hz - 27 Inch

MSI MAG 27C6F - FHD Curved Gaming Monitor - 180Hz - 27 Inch

Bekijk product

Steun Sciencetalk Western Digital Elements Portable - Externe Harde Schijf - 4 TB

Western Digital Elements Portable - Externe Harde Schijf - 4 TB

Bekijk product

drc.
Artikelen: 0
Berichten: 46
Lid geworden op: di 02 feb 2010, 21:07

Re: Risk

Ok, dat heb je snel gedaan!

Ik heb deze formules gebruikt:

Gegeven n dobbelstenen. Dan de kans dat je minder dan s ogen gooit is
\(P(Qa < s) = P(Qa + 1 \le s) = \sum_{i=0}^{\lfloor \frac{s-1}{6} \rfloor} {n \choose i} \cdot {s - 6 * i \choose n} \cdot (-1)^i\)


De kans dat je precies s ogen gooit is
\(p(Qa = s) = \sum_{i=0}^{\lfloor \frac{s-1}{6} \rfloor} {n \choose i} \cdot {s - 6 * i - 1 \choose n - 1} \cdot (-1)^i\)


Hier is mijn code, voor Excel VBA

bepaal voor a = 1 t/m 6 en b = 1 t/m 6 de kansen

Code: Selecteer alles

Sub result()
Dim a As Long, b As Long
For a = 1 To 6
    For b = 1 To 6
        dux a, b
    Next
Next
End Sub
bereken het aantal mogelijkheden om met a dobbelstenen meer ogen te gooien dan met b dobbelstenen.

Code: Selecteer alles

Public Function dux(a As Long, b As Long)
Dim i As Long, s As Long
For i = min(a, b) To 6 * max(a, b)
    s = s + diceeq(a, i) * diceless(b, i - 1)
    'Debug.Print i, s, diceeq(a, i), diceless(b, i - 1)
Next
'print a, b, de exacte vorm en de benaderde vorm van de kans
Debug.Print a, b, s & "/6^" & (a + b) & " = " & s / 6 ^ (a + b)
End Function
aantal mogelijkheden om met n dobbelstenen een aantal ogen te gooien <= s.

Code: Selecteer alles

Function diceless(n As Long, s As Long) As Long
Dim i As Long
For i = 0 To (s - 1) \ 6
    diceless = diceless + binomial(n, i) * binomial(s - 6 * i, n) * (-1) ^ i
Next
End Function
aantal mogelijkheden om met n dobbelstenen een aantal ogen te gooien gelijk aan s.

Code: Selecteer alles

Function diceeq(n As Long, s As Long) As Long
Dim i As Long
For i = 0 To (s - 1) \ 6
    diceeq = diceeq + binomial(n, i) * binomial(s - 6 * i - 1, n - 1) * (-1) ^ i
Next
End Function
bereken (n choose k)

Code: Selecteer alles

Function binomial(n As Long, k As Long) As Long
If k = 0 Then
    binomial = 1
Else
    binomial = n / k * binomial(n - 1, k - 1)
End If
End Function
functies voor minimum en maximum van a en b.

Code: Selecteer alles

Public Function min(a As Long, b As Long) As Long
If a < b Then min = a Else min = b
End Function
Public Function max(a As Long, b As Long) As Long
If a > b Then max = a Else max = b
End Function
Maar goed dat je het zelf hebt geleerd :idea: Ik heb wat C gehad maar vooral VBA. Ik heb een idee van wat de code doet, maar een aantal commando's, try, except, snap ik niet zo.

Plaats een reactie

Je mail wordt niet openbaar getoond. Het wordt enkel gebruik voor contact of notificatie vanuit het beheer.

🗨️ Wat vind jij? Stel direct je vraag of geef je mening – zonder registratie. Je reactie zet het topic weer bovenaan bij 'Laatste posts' en trekt snel nieuwe reacties aan🔥. Mocht je als vaste bezoeker willen reageren, dan kun je je ook registreren.

Bevestig dat je geen robot bent door de volgende vragen te beantwoorden.

Noor heeft 10 knikkers. Ze verliest er 4 in het gras. Hoeveel heeft ze er nog?

Antwoord: (vul een getal in)

Er zitten 5 vogels op een hek. Twee vliegen weg. Hoeveel blijven er zitten?

Antwoord: (vul een getal in)

Terug naar “Kansrekening en Statistiek”

Sciencetalk: Leer, deel of groei. Volg of geef een cursus op Sciencetalk!