kansberekening met dobbelstenen

Pagina: 1
Acties:
  • 361 views sinds 30-01-2008
  • Reageer

  • JeroenB
  • Registratie: November 1999
  • Laatst online: 14-11 22:30
(Let op: Dit is geen huiswerkvraag! Het is al een behoorlijke tijd geleden dat ik op school zat :))

Ik heb een wiskundeprobleempje met betrekking tot een strategiespel dat ik speel. Hiervoor zou ik graag wat hulp willen hebben aangezien ik er niet helemaal uitkom (en het nogal een tijdje geleden is dat ik op school zat en dit soort dingen moest oplossen :))

In het spel heb je drie zeszijdige dobbelstenen (dit wordt meestal 3d6 genoemd) die je moet rollen om te zien of een bepaalde actie lukt. De drie gerolde waardes worden opgeteld en de totale waarde moet dan boven een vastgestelde waarde zijn om het te laten lukken. Oftewel, stel je moet 10 gooien en rolt een 3, een 1 en een 5, samen is dat 9 en is de actie dus mislukt.

Om uit te rekenen hoe groot de kans is dat je een bepaalde rol haalt kan je natuurlijk gewoon bekijken welk percentage van alle mogelijke rollen afdoende is: Er zijn 6x6x6(=216) mogelijkheden. Als je 4 moet rollen dan voldoet alles op 1 na (namelijk 3x1) en heb je dus 215/216 x 100 = 99,54% kans dat het lukt.

Nu zijn er een aantal extra regeltjes die het spel beinvloeden. Ten eerste zijn twee dobbelstenen wit en is er eentje zwart. Als beide witte dobbelstenen 1 zijn dan heet dat een kritieke mis en is de actie mislukt. Oftewel stel je moet 7 gooien en je gooit (wit, wit, zwart) 1, 1 en 6. Je hebt 8 gegooid maar het is dus toch mislukt. Omgekeerd is er ook een kritieke raak: Als beide witte dobbelstenen een 6 zijn, dan is het sowieso raak.

Stel je moet 17 of hoger gooien. Dan zijn de volgende waardes goed (wit, wit, zwart): 5,6,6 en 6,5,6. 6,6,6 is ook goed, maar dat geldt ook voor de 5 andere mogelijkheden waarbij beide witte dobbelstenen 6 zijn. Oftewel: 8/216 x 100 = 3,70% kans.

Dan komen we nu bij het punt waar ik niet uitkom: Er zijn ook omstandigheden waarbij je na het gooien ervoor mag kiezen om 1 dobbelsteen over te gooien. Je weet dan al vantevoren dat je er 1 mag overgooien, waardoor je dus bij de beslissing om wel of niet te gooien rekening kunt houden met de aangepaste kans. Belangrijke extra regel (ja het blijft maar doorgaan :)) is dat je met die zogenaamde re-roll geen kritieke raak kunt veroorzaaken (dus de waarde telt dan gewoon) maar wel een kritieke mis.

Ik had eraan gedacht om gewoon uit te gaan van dat elke dobbelsteen in principe overgegooid kan worden en dan de totale kans bekijken ten opzichte van al die mogelijkheden. Maar dat voldoet niet want je zult altijd de laagste dobbelsteen overgooien (die kunnen ook dubbel zijn trouwens) en uberhaupt alleen maar iets opnieuw rollen als de eerste worp te laag is voor de vereiste waarde om de actie te laten slagen.

Iemand die me hiermee kan helpen? :)

edit:
Offtopic posts verwijderd: Dit topic is toegestaan :)

[ Voor 4% gewijzigd door Verwijderd op 20-03-2003 17:22 ]


Verwijderd

Ok, een poging..

Stel: Kans dat je de eerste keer al het benodigde gooit = 0.1
Dan is kans dat je een dobbelsteen opnieuw gooit dus 0.9

Totale kans = 0.1 + 0.9 * (kans dat je na overgooien wel benodigde aantal hebt)

Vraag is nu wat dus de kans is dat je na het overgooien van een dobbelsteen wél het benodigde aantal behaalt.. Ik zou dat opvatten als een worp met 4 dobbelstenen, waarbij de laagste waarde (de dobbelsteen die je opnieuw gooit) niet meetelt en de hoogste 3 waarden worden opgeteld... Dat geeft wel heel erg veel mogelijkheden, maar zou niet weten hoe je dit anders kan oplossen.

Wat ik alleen niet helemaal begrijp: Hoe kan je na overgooien een kritieke mis hebben? Je laat toch nooit een 1 liggen? Dat zou je alleen doen als je al twee witte enen hebt liggen, maar dan heb je al een kritieke mis.

  • JeroenB
  • Registratie: November 1999
  • Laatst online: 14-11 22:30
Het is zo dat je alleen met reroll een kritieke mis krijgt als je hem of al had, of als je een niet-1 gaat gooien terwijl de andere 1 is :) Komt in de praktijk dus niet voor.

De aanpak die je noemt had ik wel aan gedacht maar klopt niet vrees ik. Je gaat er dan namelijk van uit dat je door te rerollen altijd hoger of gelijk gooit. Er bestaat tenslotte een kans dat als je 2, 4, 6 gooit en je die 2 opnieuw gooit, dat het een 1 wordt. Dat eindresultaat moet je dan accepteren (misschien had ik dat moeten vermelden in de oorspronkelijke post) maar is dus lager dan de hoogste drie van de vier gerolde worpen.

Verwijderd

Ja, daar had ik ook wel aan gedacht, maar als je lager of hetzelfde gooit heb je nog steeds niet het benodigde aantal punten. Dat lagere aantal moet je uiteraard accepteren, maar niet voldoende punten blijft niet voldoende punten!

Jouw voorbeeld van 2, 4, 6 --> stel je moet 13 hebben --> je gooit de twee over.
Als je nu een 1 gooit, en je rekent met de hoogste 3 waarden van 2,4,6,1 kom je weliswaar op 12 uit (terwijl je werkelijk maar 11 hebt), maar dat is nog steeds niet voldoende.. het gaat toch alleen om de kans dat je die 13 wel of niet haalt? En die heb je alleen als je min. een 3 hebt gegooid. en als je de hoogste 3 van 2,4,6,3 neemt, kom je wel uit op 13.
En als je 2,4,6 had en je moet 12 punten hebben, dan gooi je niet opnieuw (en heb je dus ook niet te maken met de kans dat je van die 2 een 1 maakt).

Volgens mij moet dit toch kloppen, maar misschien heb ik het spel niet helemaal goed begrepen..

  • JeroenB
  • Registratie: November 1999
  • Laatst online: 14-11 22:30
Dat is een interessant idee, zo had ik het nog niet bekeken :) Hier moet ik even over nadenken omdat ik nu al een tijdje met dit idee rondloop (ik las je post al wat eerder) en er nog niet uit ben of het nou klopt of niet >:)

[ Voor 18% gewijzigd door JeroenB op 20-03-2003 18:50 . Reden: andere formulering ]


  • Lord Daemon
  • Registratie: Februari 2000
  • Laatst online: 29-11 13:38

Lord Daemon

Die Seele die liebt

Er van uitgaande dat de speler in deze RPG (want dat is het, neem ik aan ;) ) als doel heeft om minstens de benodigde waarde te gooien, en niet om zo hoog mogelijk te gooien, klopt het idee van 4 dobbelstenen waarbij je de drie hoogste neemt volgens mij perfect.

Welch Schauspiel! Aber ach! ein Schauspiel nur!
Wo fass ich dich, unendliche Natur?


  • Rey Nemaattori
  • Registratie: November 2001
  • Laatst online: 04-11 15:00
JeroenB schreef op 20 maart 2003 @ 15:26:
(Let op: Dit is geen huiswerkvraag! Het is al een behoorlijke tijd geleden dat ik op school zat :))

Ik heb een wiskundeprobleempje met betrekking tot een strategiespel dat ik speel. Hiervoor zou ik graag wat hulp willen hebben aangezien ik er niet helemaal uitkom (en het nogal een tijdje geleden is dat ik op school zat en dit soort dingen moest oplossen :))

In het spel heb je drie zeszijdige dobbelstenen (dit wordt meestal 3d6 genoemd) die je moet rollen om te zien of een bepaalde actie lukt. De drie gerolde waardes worden opgeteld en de totale waarde moet dan boven een vastgestelde waarde zijn om het te laten lukken. Oftewel, stel je moet 10 gooien en rolt een 3, een 1 en een 5, samen is dat 9 en is de actie dus mislukt.

Om uit te rekenen hoe groot de kans is dat je een bepaalde rol haalt kan je natuurlijk gewoon bekijken welk percentage van alle mogelijke rollen afdoende is: Er zijn 6x6x6(=216) mogelijkheden. Als je 4 moet rollen dan voldoet alles op 1 na (namelijk 3x1) en heb je dus 215/216 x 100 = 99,54% kans dat het lukt.

Nu zijn er een aantal extra regeltjes die het spel beinvloeden. Ten eerste zijn twee dobbelstenen wit en is er eentje zwart. Als beide witte dobbelstenen 1 zijn dan heet dat een kritieke mis en is de actie mislukt. Oftewel stel je moet 7 gooien en je gooit (wit, wit, zwart) 1, 1 en 6. Je hebt 8 gegooid maar het is dus toch mislukt. Omgekeerd is er ook een kritieke raak: Als beide witte dobbelstenen een 6 zijn, dan is het sowieso raak.

Stel je moet 17 of hoger gooien. Dan zijn de volgende waardes goed (wit, wit, zwart): 5,6,6 en 6,5,6. 6,6,6 is ook goed, maar dat geldt ook voor de 5 andere mogelijkheden waarbij beide witte dobbelstenen 6 zijn. Oftewel: 8/216 x 100 = 3,70% kans.

Dan komen we nu bij het punt waar ik niet uitkom: Er zijn ook omstandigheden waarbij je na het gooien ervoor mag kiezen om 1 dobbelsteen over te gooien. Je weet dan al vantevoren dat je er 1 mag overgooien, waardoor je dus bij de beslissing om wel of niet te gooien rekening kunt houden met de aangepaste kans. Belangrijke extra regel (ja het blijft maar doorgaan :)) is dat je met die zogenaamde re-roll geen kritieke raak kunt veroorzaaken (dus de waarde telt dan gewoon) maar wel een kritieke mis.

Ik had eraan gedacht om gewoon uit te gaan van dat elke dobbelsteen in principe overgegooid kan worden en dan de totale kans bekijken ten opzichte van al die mogelijkheden. Maar dat voldoet niet want je zult altijd de laagste dobbelsteen overgooien (die kunnen ook dubbel zijn trouwens) en uberhaupt alleen maar iets opnieuw rollen als de eerste worp te laag is voor de vereiste waarde om de actie te laten slagen.

Iemand die me hiermee kan helpen? :)

edit:
Offtopic posts verwijderd: Dit topic is toegestaan :)
3 dobbelstenen en je moet 17 of hoger gooien? Met 3 stenen is het aantal mogelijkheden dat waar mee je 17 of hoger krijgt 6,6,5 | 6,5,6 | 5,6,6 of 6,6,6 })

De kans dat je 17 gooit is dus 4 op 216 => da's ongeveer 1,8% kans.


Nu als er 2 witte dobbelstenen zijn en 1 zwarte waarbij , de kans dat als je met
3 dobbelstenen rolt met de bovenstaande kleuren wit het zelfde komt te staan is
((1:3)*(1:6))*((1:3)*(1:6)) {kans van 1 op drie dat ie wit is en 1 op 6 dat ze allebei hetzelfde geven} = 1:324

Kritieke raak & kritieke mis:

Ik ga er even vanuit dat dubbel 1, dubbel 2 enz met de witte dobbelstenen no kritieke raak noch kritike mis oplevert...

Nu de kans dat er 2 maal 6 word gegooid met de 3 dobbelstenen waarvan 2 wit zij en 1 zwart = ((1:3)*(1:6))*((1:3)*(1:6))*1:36 {zelfde als boven maar nogmaals gedeeld door 36 omdat de kans dat je met twee dobbelstenen 6 gooit 1 op 36 is} = 1:11664

De kans op kritieke raak OF kritieke mis is dus 1:5832

De kans dat er 17 of hogergegooid word was 1:54 , opgeteld met de kans op kritike raak(als we 17 of hoger eveneens beschouwen als raak)wordt dat ((1:54)+(1:11664)) = +/- 4:215(nja mijn calc begint nu zenuwachtig te worden)

Hoe je dan de kans op kritieke mis implementeerd, ik heb geen flauw idee :P
morgen bouw ik mischien verder aan mijn theorie als men de laatste steen meerdere malen gooien mag :9

Speks:The Hexagon Iks Twee Servertje

"When everything is allright,there is nothing left."Rey_Nemaattori


  • Diadem
  • Registratie: Maart 2000
  • Laatst online: 31-05-2023

Diadem

fossiel

C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <stdlib.h>

main()
{
  int hit;
  for (int target = 1; target<=20; target++) {
    hit=0;
    for (int i=1;i<=6;i++)
      for (int j=1;j<=6;j++)
        for (int k=1;k<=6;k++)
          if ((i+j+k >= target || i+j==12) && i+j > 2) hit += 6;
          else if (i+j==2)
            if (target - i-j-k <= 1) hit += 5;
            else if (target - i-j-k <= 5) hit += 5 - target + i+j+k+1;
          else if (target - i-j-k <= 6 - min(i,min(j,k)))
            hit += 6 - min(i,min(j,k)) - target + i+j+k+1;
    printf("target: %2i - %%win : %3.2f\n", target, (float (hit/6))/6/6/6*100);
  }
}


Met als output:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
target:  1 - %win : 99.54
target:  2 - %win : 99.54
target:  3 - %win : 99.54
target:  4 - %win : 99.54
target:  5 - %win : 98.15
target:  6 - %win : 95.83
target:  7 - %win : 91.67
target:  8 - %win : 84.72
target:  9 - %win : 75.00
target: 10 - %win : 62.96
target: 11 - %win : 50.46
target: 12 - %win : 37.50
target: 13 - %win : 25.93
target: 14 - %win : 16.67
target: 15 - %win : 10.19
target: 16 - %win : 6.02
target: 17 - %win : 3.70
target: 18 - %win : 2.78
target: 19 - %win : 2.78
target: 20 - %win : 2.78


Ik weet niet zeker of het klopt. Maar ik denk van wel ;)

[edit]
De scores voor target=18 en target=19 zijn gelijk, dat kan natuurlijk niet. Vreemd genoeg zie ik niet wat er daar fout gaat in mijn code. Hij rekent bij een score van 18 alleen de kritieke hits mee, maar als je overnieuw gooit, de code daarvoor klopt volgens mij. Dus dat is vreemd.

Nouja, kijk er morgen wel naar, 't is laat.

[edit2]
Deze methode van uitrekenen is ongelooflijk evil. Do not try this at home!

[ Voor 21% gewijzigd door Diadem op 21-03-2003 01:27 ]

Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life - Terry Pratchett


  • zetje01
  • Registratie: Augustus 1999
  • Laatst online: 17-12 17:02
LOL
Hoe doe je dat, 19 met 3 dobbelstenen?

  • Rey Nemaattori
  • Registratie: November 2001
  • Laatst online: 04-11 15:00
Diadem schreef op 21 March 2003 @ 01:20:
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <stdlib.h>

main()
{
  int hit;
  for (int target = 1; target<=20; target++) {
    hit=0;
    for (int i=1;i<=6;i++)
      for (int j=1;j<=6;j++)
        for (int k=1;k<=6;k++)
          if ((i+j+k >= target || i+j==12) && i+j > 2) hit += 6;
          else if (i+j==2)
            if (target - i-j-k <= 1) hit += 5;
            else if (target - i-j-k <= 5) hit += 5 - target + i+j+k+1;
          else if (target - i-j-k <= 6 - min(i,min(j,k)))
            hit += 6 - min(i,min(j,k)) - target + i+j+k+1;
    printf("target: %2i - %%win : %3.2f\n", target, (float (hit/6))/6/6/6*100);
  }
}


Met als output:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
target:  1 - %win : 99.54
target:  2 - %win : 99.54
target:  3 - %win : 99.54
target:  4 - %win : 99.54
target:  5 - %win : 98.15
target:  6 - %win : 95.83
target:  7 - %win : 91.67
target:  8 - %win : 84.72
target:  9 - %win : 75.00
target: 10 - %win : 62.96
target: 11 - %win : 50.46
target: 12 - %win : 37.50
target: 13 - %win : 25.93
target: 14 - %win : 16.67
target: 15 - %win : 10.19
target: 16 - %win : 6.02
target: 17 - %win : 3.70
target: 18 - %win : 2.78
target: 19 - %win : 2.78
target: 20 - %win : 2.78


Ik weet niet zeker of het klopt. Maar ik denk van wel ;)

[edit]
De scores voor target=18 en target=19 zijn gelijk, dat kan natuurlijk niet. Vreemd genoeg zie ik niet wat er daar fout gaat in mijn code. Hij rekent bij een score van 18 alleen de kritieke hits mee, maar als je overnieuw gooit, de code daarvoor klopt volgens mij. Dus dat is vreemd.

Nouja, kijk er morgen wel naar, 't is laat.

[edit2]
Deze methode van uitrekenen is ongelooflijk evil. Do not try this at home!
Je ken die sh*t ook ff uit tekenen:

met 3 dobbel stenen kun je gooien tussen de 3 en de 18
1,1,1 =3 1 ui 216 = 1:216
1,1,2 = 4\
1,2,1 = 4-> 3 uit 216 that is = 1:72
2,1,1 = 4/
1,2,2 = 5\
2,1,2 = 5
2,2,1 = 5
1,1,3 = 5--> 6 uit 216 = 1 op 36
1,3,1 = 5
3,1,1 = 5/

enz.
Da's dus de kans dat je dat daad werkelijk gooit. volgens mij is een kans van 99.54% dat je 1 gooit een beetje on realistisch ;)

Speks:The Hexagon Iks Twee Servertje

"When everything is allright,there is nothing left."Rey_Nemaattori


  • GeeBee
  • Registratie: Maart 2000
  • Nu online

GeeBee

Oddball

Wil ik nog even weten: mag je na de eerste worp met een witte dubbel 1 (kritieke mis dus)alsnog een van de twee witte dobbelstenen overgooien, of heb je meteen verloren?

Woof, woof, woof! That's my other dog imitation.


  • JeroenB
  • Registratie: November 1999
  • Laatst online: 14-11 22:30
GeeBee: Dat is meteen een kritieke mis!

zetje01: Het is dankzij de kritieke raak-regel mogelijk om een 19 te halen met 3d6 (gewoon 2x6 gooien op de witte dobbelstenen en voila, raak :))

Ik denk overigens dat JoBBeR wel gelijk had met zijn idee om voor de kansberekening van de situatie met reroll (waar het om ging) gewoon uit te gaan van 4 dobbelstenen en de hoogste combinatie te nemen. Het is namelijk niet realistisch om meteen 4 dobbelstenen te rollen in het spel zelf (aangezien het belangrijk is wat de drie "oorspronkelijke" dobbelstenen zijn om te bepalen of je een kritieke raak/mis hebt) maar voor de kansberekening klopt het denk ik wel.

  • GeeBee
  • Registratie: Maart 2000
  • Nu online

GeeBee

Oddball

Zoiets dacht ik al...

Dan krijg je dus de volgende simulatie:

1) rol 3 stenen
2) controleren
- kritieke mis --> resultaat = verlies
- anders kritieke raak --> resultaat = winst
- anders totaal groter dan de vereiste waarde --> resultaat = winst
3) geen van bovenstaande: rol de laagste van de 2 witte stenen nog een keer
4) controleren:
- kritieke mis --> resultaat = verlies
- totaal groter dan vereiste waarde --> resultaat = winst
- anders restultaat = verlies

Doe dit voor elke vereiste waarde van 3 t/m 18 minimaal 10 000× en je kunt iets redelijks zeggen over de kans op winst.

Zoiets?

Woof, woof, woof! That's my other dog imitation.


  • JeroenB
  • Registratie: November 1999
  • Laatst online: 14-11 22:30
Ja, in principe wel. Maar behalve te kijken naar 10.000 resultaten kun je toch ook tellen hoeveel mogelijke situaties er kunnen zijn en hoeveel daarvan er voldoen? Dan hebben we het helemaal precies.

Ik bedenk me nu net, als je 4 dobbelstenen rolt om uit te rekenen wat de kans is dan gaat het mis bij het bepalen hoe vaak je een kritieke raak/mis hebt omdat je daar niet aan kunt zien welke dobbelsteen er dan uiteindelijk als laatste is gerold. Misschien dat we die waarden dan gewoon achteraf kunnen rechttrekken? Ik denk dat het dan klopt.

  • GeeBee
  • Registratie: Maart 2000
  • Nu online

GeeBee

Oddball

Je hebt natuurlijk helemaal gelijk. Ik denk dat een bepaling van de werkelijke kans nog niet zo eenvoudig is. Dat zie je al aan de numerieke benaderingen die je hier ziet.

Over die 4 dobbelstenen heb je helemaal gelijk.
Je kunt er misschien wel een rooie van maken die in de plaats kan komen van de laagste witte?

Woof, woof, woof! That's my other dog imitation.


  • JeroenB
  • Registratie: November 1999
  • Laatst online: 14-11 22:30
oh correctie trouwens, ik ontdekte gisteravond in de regels dat je in een reroll situatie wel onder een dubbel 1 kunt uitkomen.

GeeBee: Leuk idee! Volgens mij klopt het dan. Ik zal eens gaan kijken of ik een voorbeeld getal kan nemen, daarvan de kans op die manier uitrekenen en dat vergelijken met de reguliere kans dat je iets raakt op 3d6. Hopelijk is de kans dan een stuk (maar niet teveel!) groter. Beetje natte vingerwerk wel maarja :)

Verwijderd

Volgens mij is het vrij simpel probleem alleen moeilijk om in een programma te vatten.
Je moet het in een paar stappen delen
deel 1 : kans van slagen na eerste worp
deel 2 : nu per worp bekijken of opnieuw gooien zin heeft ( hoeft niet altijd zinvol
te zijn ), bijv bij 18 heeft overgooien met een zwarte 6 en twee witte
eenen geen zin om over te gooien maar een witte 6 en 2 eenen wel.
en dus moet je in deze stap gewoon aftellen en vermenigvuldigen.

dit heb ik gedaan voor de eerste paar :

3 : 210/216 + 30/1296 = 1290/1296 0,9953703704
4 : 210/216 + 30/1296 = 1290/1296 0,9953703704
5 : 208/216 + 40/1296 = 1288/1296 0,9938271605
6 : 203/216 + 60/1296 = 1278/1296 0,9861111111
7 : 194/216 + 94/1296 = 1258/1296 0,9706790123
8 : 180/216 + 145/1296 = 1225/1296 0,9452160494
9 : 160/216 + 200/1296 = 1160/1296 0,8950617284

m.v.g.

  • Diadem
  • Registratie: Maart 2000
  • Laatst online: 31-05-2023

Diadem

fossiel

Als je in het begin een kritieke mis gooit, dan mag je helemaal niet overgooien? Hmm, dat gaat dan mis bij mij algoritme.

Maar dan kun je dus bij een reroll ook geen kritieke mis gooien. Tenminste, het kan alleen als je een dobbelsteen die niet de laagste is over gaat gooien. Want bij een niet-kritieke mis gooi heb je minimaal 1 dobbelsteen een niet 1. Je gooit dan altijd die niet over, tenzij de ander nog hoger is. Maar dan is dus na afloop van je reroll altijd ook 1 dobbelsteen niet 1. (van de witte dobbelstenen is dit allemaal).

Eens even mijn algoritme erop aanpassen. Wordt een stuk simpeler dan.

Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life - Terry Pratchett


  • Diadem
  • Registratie: Maart 2000
  • Laatst online: 31-05-2023

Diadem

fossiel

Zo, mijn nieuwe algoritme is af. Volgens mij is hij nu helemaal goed.

C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <stdlib.h>

main()
{
  int hit;
  for (int target=1; target<=20; target++) {
    hit=0;
    for (int i=1;i<=6;i++)
      for (int j=1;j<=6;j++)
        for (int k=1;k<=6;k++)
          if (i==6 && j==6) hit += 6;
          else if (i==1 && j==1);
          else if ((i + j + k >= target)) hit += 6;
          else for (int m=1;m<=6;m++)
            if (i + j + k + m - min(i,min(j,k)) >= target) hit++;
    printf("target: %2i - %%win : %3.2f\n", target, hit/12.96);
  }
}


En dat geeft de volgende output:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
target:  1 - %win : 97.22
target:  2 - %win : 97.22
target:  3 - %win : 97.22
target:  4 - %win : 97.22
target:  5 - %win : 97.07
target:  6 - %win : 96.53
target:  7 - %win : 95.22
target:  8 - %win : 92.67
target:  9 - %win : 88.35
target: 10 - %win : 81.71
target: 11 - %win : 72.61
target: 12 - %win : 61.42
target: 13 - %win : 48.69
target: 14 - %win : 35.57
target: 15 - %win : 23.46
target: 16 - %win : 13.73
target: 17 - %win : 7.02
target: 18 - %win : 3.55
target: 19 - %win : 2.78
target: 20 - %win : 2.78


Dat is dus het antwoord op je vraag, JeroenB.

Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life - Terry Pratchett


  • JeroenB
  • Registratie: November 1999
  • Laatst online: 14-11 22:30
Je kan wel onder een kritieke mis uitkomen als je mag rerollen, zoals ik in mijn correctie zei :) En je hebt helemaal gelijk dat het sowieso niet mogelijk is om een rol die niet een kritieke mis is bij het opnieuw rollen daar wel in te veranderen (tenzij je heel dom rolt, maar daar kies je dus nooit voor :))

Eens zien of ik je implementatie kan volgen en het zelf kan aanpassen! In ieder geval iedereen bedankt voor de hulp!

  • Rey Nemaattori
  • Registratie: November 2001
  • Laatst online: 04-11 15:00
Diadem schreef op 25 maart 2003 @ 20:40:
Zo, mijn nieuwe algoritme is af. Volgens mij is hij nu helemaal goed.

C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <stdlib.h>

main()
{
  int hit;
  for (int target=1; target<=20; target++) {
    hit=0;
    for (int i=1;i<=6;i++)
      for (int j=1;j<=6;j++)
        for (int k=1;k<=6;k++)
          if (i==6 && j==6) hit += 6;
          else if (i==1 && j==1);
          else if ((i + j + k >= target)) hit += 6;
          else for (int m=1;m<=6;m++)
            if (i + j + k + m - min(i,min(j,k)) >= target) hit++;
    printf("target: %2i - %%win : %3.2f\n", target, hit/12.96);
  }
}


En dat geeft de volgende output:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
target:  1 - %win : 97.22
target:  2 - %win : 97.22
target:  3 - %win : 97.22
target:  4 - %win : 97.22
target:  5 - %win : 97.07
target:  6 - %win : 96.53
target:  7 - %win : 95.22
target:  8 - %win : 92.67
target:  9 - %win : 88.35
target: 10 - %win : 81.71
target: 11 - %win : 72.61
target: 12 - %win : 61.42
target: 13 - %win : 48.69
target: 14 - %win : 35.57
target: 15 - %win : 23.46
target: 16 - %win : 13.73
target: 17 - %win : 7.02
target: 18 - %win : 3.55
target: 19 - %win : 2.78
target: 20 - %win : 2.78


Dat is dus het antwoord op je vraag, JeroenB.
Hoe komt het dat er meer kans is om meer dan 3 te gooien dan bij meer dan 4?

er is toch maar 1 uit de 216 mogelijkheden mogelijk om 3 te krijgen?
Da's +/-0.4%

Speks:The Hexagon Iks Twee Servertje

"When everything is allright,there is nothing left."Rey_Nemaattori


  • JeroenB
  • Registratie: November 1999
  • Laatst online: 14-11 22:30
Rey_Nema schreef op 27 March 2003 @ 00:51:
Hoe komt het dat er meer kans is om meer dan 3 te gooien dan bij meer dan 4?
Ze staan toch allebei op hetzelfde? Dat klopt ook omdat je een 3 en een 4 allebei alleen niet haalt bij een kritieke mis.

Die 97.22% klopt alleen niet omdat ik eerder foutief had gemeld dat je een kritieke mis niet mag rerollen, wat dus wel mag. Dus het eerdere getal van 99.54% lijkt me correct.

Wat ik me nog wel bedacht (sorry als dit eerder niet duidelijk was) maar je kunt door een dobbelsteen opnieuw te rollen dus wel een kritieke mis veroorzaken (maar dat zal in de praktijk niet gebeuren tenzij het er al eentje was) maar geen kritieke raak! Als je dus (w,w,z) 5,6,6 gooit en die 5 opnieuw rolt en er een 6 van maakt, dan heb je dus een 18 gehaald. Meteen 6,6,6 zou dus ook een 19 raken.
Pagina: 1