Hoe bepaal je gemakkelijk de verdeling van de resultaten voor meerdere dobbelstenen?
Geplaatst op februari 13, 2021 door adminIk wil de kansverdeling berekenen voor het totaal van een combinatie van dobbelstenen.
Ik herinner me dat de kans op het aantal combinaties is dat dat aantal bij elkaar optelt over het totale aantal combinaties (aangenomen dat de dobbelstenen een uniforme verdeling hebben).
Waarvoor zijn de formules
- Het totaal aantal combinaties
- Het aantal combinaties dat een bepaald aantal oplevert
Reacties
- Ik denk dat je $ (X_1 = 1, X_2 = 2) $ en $ (X_1 = 2, X_2 = 1) $ als verschillend moet behandelen gebeurtenissen.
Antwoord
Exacte oplossingen
Het aantal combinaties in $ n $ worpen is natuurlijk $ 6 ^ n $ .
Deze berekeningen kunnen het gemakkelijkst worden gedaan met behulp van de kansgenererende functie voor één dobbelsteen,
$$ p (x) = x + x ^ 2 + x ^ 3 + x ^ 4 + x ^ 5 + x ^ 6 = x \ frac {1-x ^ 6} {1-x}. $$
(Eigenlijk is dit $ 6 $ maal de pgf – ik zorg voor de factor $ 6 $ aan het einde.)
De pgf voor $ n $ rollen is $ p (x) ^ n $ . We kunnen dit redelijk direct berekenen – het is geen gesloten vorm maar wel een nuttige – met behulp van de binominale stelling:
$$ p (x ) ^ n = x ^ n (1 – x ^ 6) ^ n (1 – x) ^ {- n} $$
$ $ = x ^ n \ left (\ sum_ {k = 0} ^ {n} {n \ kies k} (-1) ^ kx ^ {6k} \ right) \ left (\ sum_ {j = 0} ^ { \ infty} {-n \ kies j} (-1) ^ jx ^ j \ right). $$
Het aantal manieren om een som te krijgen gelijk aan $ m $ op de dobbelsteen is de coëfficiënt van $ x ^ m $ in dit product, die we kunnen isoleren als
$$ \ sum_ {6k + j = m – n} {n \ kies k} {- n \ kies j} (- 1) ^ {k + j} . $$
De som is over alle niet-negatieve $ k $ en $ j $ waarvoor $ 6k + j = m – n $ ; het is daarom eindig en heeft slechts ongeveer $ (m-n) / 6 $ termen. Het aantal manieren om $ m = 14 $ in $ n = 3 $ worpen te tellen, is bijvoorbeeld een som van slechts twee termen, omdat $ 11 = 14-3 $ alleen kan worden geschreven als $ 6 \ cdot 0 + 11 $ en $ 6 \ cdot 1 + 5 $ :
$$ – {3 \ kies 0} {-3 \ kies 11} + {3 \ kies 1} {- 3 \ kies 5} $$
$$ = 1 \ frac {(- 3) (- 4) \ cdots (-13)} {11!} + 3 \ frac {(- 3) (- 4) \ cdots (-7)} {5!} $$
$$ = \ frac {1} {2} 12 \ cdot 13 – \ frac {3} {2} 6 \ cdot 7 = 15 . $$
(Je kunt ook slim zijn en opmerken dat het antwoord hetzelfde zal zijn voor $ m = 7 $ door de symmetrie 1 < -> 6, 2 < -> 5, en 3 < -> 4 en er is maar één manier om $ 7 uit te breiden – 3 $ als $ 6 k + j $ ; namelijk met $ k = 0 $ en $ j = 4 $ , waardoor
$$ {3 \ choose 0} {- 3 \ choose 4} = 15 \ text {.} $$
De kans is dus gelijk aan $ 15/6 ^ 3 $ = $ 5/36 $ , ongeveer 14%.
Tegen de tijd dat dit pijnlijk wordt, biedt de centrale limietstelling goede benaderingen (althans voor de centrale termen waar $ m $ tussen $ \ frac {7 n} {2} – 3 \ sqrt {n} $ en $ \ frac {7 n} {2} + 3 \ sqrt { n} $ : relatief gezien worden de benaderingen die het oplevert voor de staartwaarden steeds slechter naarmate $ n $ groter wordt).
Ik zie dat deze formule wordt gegeven in het Wikipedia-artikel Srikant-referenties, maar er wordt geen rechtvaardiging gegeven, noch worden voorbeelden gegeven. Als deze benadering er misschien te abstract uitziet, start dan uw favoriete computeralgebrasysteem op en vraag het om de $ n ^ {\ text {th}} $ kracht van $ x + x ^ 2 + \ cdots + x ^ 6 $ : u kunt de hele reeks waarden meteen aflezen. Bijv. , een Mathematica-oneliner is
With[{n=3}, CoefficientList[Expand[(x + x^2 + x^3 + x^4 + x^5 + x^6)^n], x]]
Reacties
- Zal die mathematica-code werken met wolfram-alfa?
- Dat werkt. Ik heb je eerdere versie geprobeerd, maar kon de uitvoer niet begrijpen.
- @Srikant: Expand [Sum [x ^ i, {i, 1,6}] ^ 3] werkt ook in WolframAlpha
- @ A.Wilson Ik geloof dat veel van die verwijzingen geef een duidelijk pad naar de generalisatie, die in dit voorbeeld $ (x + x ^ 2 + \ cdots + x ^ 6) (x + x ^ 2 + x ^ 3 + x ^ 4) ^ 3 $ is. Als u
R
code wilt om deze dingen te berekenen, raadpleeg dan stats.stackexchange.com/a/116913 voor een volledig geïmplementeerd systeem. Als een ander voorbeeld is de Mathematica -codeClear[x, d]; d[n_, x_] := Sum[x^i, {i, 1, n}]; d[6, x] d[4, x]^3 // Expand
- Merk op dat @whuber ‘ De verduidelijking is voor 1d6 + 3d4, en dat zou je daar moeten brengen. Voor een willekeurige wdn + vdm, (x + x ^ 2 + … + x ^ w) ^ n (x + x ^ 2 + … + x ^ v) ^ m. Aanvullende termen zijn polynomen die op dezelfde manier zijn geconstrueerd en vermenigvuldigd met het product.
Antwoord
Nog een andere manier om snel de kansverdeling van een dobbelsteenworp berekenen zou zijn om een gespecialiseerde rekenmachine te gebruiken die speciaal voor dat doel is ontworpen.
Torben Mogensen , een CS professor bij DIKU heeft een uitstekende dobbelsteenroller genaamd Troll .
De Troll-dobbelsteenroller en waarschijnlijkheidscalculator drukt de kansverdeling (pmf, histogram en optioneel cdf of ccdf), gemiddelde, spreiding en gemiddelde deviatie af voor een verscheidenheid aan gecompliceerde dobbelsteenworpmechanismen. Hier zijn een paar voorbeelden die de dobbelsteentaal van Troll laten zien:
Gooi 3 6-zijdige dobbelstenen en tel ze bij elkaar op: sum 3d6
.
Gooi 4 6-zijdige dobbelstenen, bewaar de hoogste 3 en tel ze bij elkaar op: sum largest 3 4d6
.
Gooi een “exploderende” 6-zijdige dobbelsteen (dwz elke keer dat een “6” verschijnt, tel dan 6 op bij je totaal en gooi opnieuw): sum (accumulate y:=d6 while y=6)
.
Troll “s SML broncode is beschikbaar, als u wilt zien hoe deze is geïmplementeerd.
Professor Morgensen heeft ook een 29 paginas tellende paper, “ Dice Rolling Mechanisms in RPGs ,” waarin hij veel van de dobbelstenen rollende mechanismen bespreekt die door Troll zijn geïmplementeerd en een deel van de wiskunde erachter.
Een soortgelijk stuk gratis, open-source software is Dicelab , dat werkt op zowel Linux als Windows.
Answer
Er “is een heel handige manier om de combinaties of probabil te berekenen ities in een spreadsheet (zoals Excel) die de windingen rechtstreeks berekent.
Ik zal het doen in termen van kansen en het illustreren voor zeszijdige dobbelstenen, maar je kunt het doen voor dobbelstenen met een willekeurig aantal zijden (inclusief het toevoegen van verschillende).
( trouwens, het is ook gemakkelijk in zoiets als R of matlab dat convoluties zal doen)
Begin met een schone lei, in een paar kolommen, en ga een aantal rijen naar beneden vanaf de bovenkant (meer dan 6) .
-
zet de waarde 1 in een cel. Dat zijn de kansen geassocieerd met 0 dobbelstenen. Zet een 0 aan de linkerkant; dat is de waardekolom – ga vanaf daar verder met 1,2,3 naar beneden zo ver als je nodig hebt.
-
verplaats een kolom naar rechts en een rij omlaag vanaf de “1”. voer de formule “= som (” en vervolgens de pijl naar links omhoog (om de cel met 1 erin te markeren), druk op “:” (om een bereik in te voeren) en vervolgens 5 keer op de pijl omhoog, gevolgd door “) / 6 “en druk op Enter – zodat je een formule krijgt als
=sum(c4:c9)/6
(waarbijC9
de cel is met de 1 erin) .Kopieer vervolgens de formule en plak deze in de 5 cellen eronder. Ze moeten elk 0.16667 (ish) bevatten.
Typ niets in de lege cellen van deze formules verwijs naar!
-
ga 1 naar beneden en 1 naar rechts vanaf de bovenkant van die kolom met waarden en plak …
… een totaal van nog eens 11 waarden. Dit zijn de kansen voor twee dobbelstenen.
Het maakt niet uit of je er een paar te veel plakt, je krijgt gewoon nullen.
-
herhaal stap 3 voor de volgende kolom voor drie dobbelstenen, en nogmaals voor vier, vijf, enz. dobbelstenen.
We zien hier dat de kans om $ 12 $ te rollen op 4d6 0,096451 is (als je vermenigvuldigt met $ 4 ^ 6 $, kun je het schrijven als een exacte breuk).
Als u “bedreven bent met Excel – zaken als het kopiëren van een formule uit een cel en deze in veel cellen plakken in een kolom kun je alle tabellen tot 10d6 in ongeveer een minuut genereren (mogelijk sneller als je het een paar keer hebt gedaan).
Als je het aantal combinaties wilt in plaats van kansen, deel niet door 6.
Als u dobbelstenen wilt met verschillende aantallen gezichten, kunt u $ k $ (in plaats van 6) cellen optellen en vervolgens delen door $ k $. U kunt dobbelstenen over kolommen mengen (bijv.maak een kolom voor d6 en een voor d8 om de waarschijnlijkheidsfunctie voor d6 + d8 te krijgen):
Opmerkingen
- Dit is erg handig voor iemand zoals ik die gewoon een manier wil om het te doen, zonder het te hoeven begrijpen! Als je ‘ geen rekening houdt met de vluchtigheid van de
OFFSET()
-functie, kun je deze dynamisch maken met een benoemd bereik. Ik heb bijvoorbeeld een reeks gemaakt met de naamDiceSize
om het aantal zijden vast te houden en de eerste ” 1 ” waarschijnlijkheid in B23. Ik heb een dynamisch genoemd bereik met de naam KingSum gebruikt dat verwijst naar=OFFSET('Dice Rolls'!$A$22,-1*DiceSize,,DiceSize,1)
. Ik zou dan de formule=SUM(OFFSET(KingSum,ROW(A1),COLUMN(A1)))/DiceSize
in cel C23 kunnen gebruiken, over een groot gebied gesleept om een tafel te krijgen die afhankelijk is van DiceSize.
Antwoord
$ \ newcommand {red} {\ color {red}} $ $ \ newcommand {blue} {\ color {blue}} $
Laat de eerste dobbelsteen rood zijn en de tweede zwart. Dan zijn er 36 mogelijke resultaten:
\ begin {array} {c | c | c | c | c | c | c} & 1 & 2 & 3 & 4 & 5 & 6 \\\ hline \ red {1} & \ red {1}, 1 & \ red {1}, 2 & \ red {1}, 3 & \ red {1}, 4 & \ red {1}, 5 & \ red {1}, 6 \\ & \ blauw {^ 2} & \ blauw {^ 3} & \ blauw {^ 4} & \ blue {^ 5} & \ blue {^ 6} & \ blue {^ 7} \\\ hline \ rood {2} & \ rood {2}, 1 & \ rood {2}, 2 & \ red {2}, 3 & \ red {2}, 4 & \ red {2}, 5 & \ red {2}, 6 \\ & \ blauw {^ 3} & \ blauw {^ 4}
\ blauw {^ 5} & \ blauw {^ 6} & \ blauw { ^ 7} & \ blauw {^ 8} \\\ hline \ red {3} & \ red {3}, 1 & \ red {3}, 2 & \ red {3}, 3 & \ rood {3}, 4 & \ rood {3}, 5 & \ rood {3}, 6 \\ & \ blue {^ 4} & \ blue {^ 5} & \ blauw {^ 6} & \ blauw {^ 7} & \ blauw {^ 8} & \ blauw {^ 9} \\\ hline \ red {4} & \ red {4}, 1 & \ red {4}, 2 & \ red {4}, 3 & \ red {4}, 4 & \ red {4}, 5 & \ red {4}, 6 \\ & \ blauw {^ 5} & \ blauw {^ 6} & \ blauw {^ 7} & \ blauw {^ 8 } & \ blauw {^ 9} & \ blauw {^ {10}} \\\ hline \ red {5} & \ rood {5 }, 1 & \ red {5}, 2 & \ red {5}, 3 & \ red {5}, 4 & \ red {5}, 5 & \ red {5}, 6 \\ & \ blue {^ 6} & \ blue {^ 7} & \ blauw {^ 8} & \ blue {^ 9} & \ blue {^ {10}} & \ blauw {^ {11}} \\\ hline \ red {6} & \ red {6}, 1 & \ red {6}, 2 & \ red {6}, 3 & \ red {6}, 4 & \ red {6}, 5 & \ red {6}, 6 \\ & \ blauw {^ 7} & \ blauw {^ 8} & \ blauw {^ 9} & \ blauw {^ {10}} & \ blauw {^ {11}} & \ blauw {^ {12} } \\\ hline \ end {array}
Elk van deze 36 ($ \ red {\ text {red}}, \ text {black} $) resultaten zijn even waarschijnlijk.
Wanneer u de getallen op de gezichten optelt (totaal in $ \ blauw {\ text {blue}} $), komen verschillende (rode, zwarte) resultaten uit op hetzelfde totaal – u kunt dit zien aan de tabel in uw vraag.
Er is dus bijvoorbeeld maar één manier om in totaal $ 2 $ te krijgen (dwz alleen het evenement ($ \ red {1}, 1 $)), maar er zijn twee manieren om $ 3 $ te krijgen (dwz de elementaire evenementen ($ \ red {2}, 1 $) en ($ \ red {1}, 2 $)). Dus een totaal van $ 3 $ is twee keer zo waarschijnlijk als $ 2 $. Evenzo zijn er drie manieren om $ 4 $ te krijgen, vier manieren om $ 5 $ te krijgen, enzovoort .
Nu je 36 mogelijke (rode, zwarte) resultaten hebt, is het totale aantal manieren om alle verschillende totalen te krijgen ook 36, dus je moet aan het eind door 36 delen. Je totale kans is 1, zoals het hoort.
Reacties
- Wauw, de tafel is prachtig!
- Inderdaad erg mooi
Antwoord
Geschatte oplossing
Ik heb de exacte oplossing eerder uitgelegd (zie hieronder). Ik zal nu een geschatte oplossing aanbieden die beter bij uw behoeften past.
Laat:
$ X_i $ het resultaat zijn van een worp van $ s $ dobbelstenen met $ i = 1, … n $.
$ S $ is het totaal van alle $ n $ dobbelstenen.
$ \ bar {X} $ is het steekproefgemiddelde.
Per definitie hebben we:
$ \ bar {X} = \ frac {\ sum_iX_i} {n} $
Met andere woorden,
$ \ bar {X} = \ frac {S} {n} $
Het idee is nu om het proces van het observeren van $ {X_i} $ te visualiseren als het resultaat van het gooien van dezelfde dobbelstenen $ n $ keer in plaats van als het resultaat van het gooien van $ n $ dobbelstenen. We kunnen dus de centrale limietstelling aanroepen (waarbij technische details worden genegeerd die verband houden met het gaan van discrete distributie naar continu), we hebben als $ n \ rightarrow \ infty $:
$ \ bar {X} \ sim N ( \ mu, \ sigma ^ 2 / n) $
waar,
$ \ mu = (s + 1) / 2 $ is het gemiddelde van de worp van een enkele dobbelsteen en
$ \ sigma ^ 2 = (s ^ 2-1) / 12 $ is de bijbehorende variantie.
Het bovenstaande is duidelijk een benadering, aangezien de onderliggende verdeling $ X_i $ discrete ondersteuning.
Maar
$ S = n \ bar {X} $.
We hebben dus:
$ S \ sim N (n \ mu, n \ sigma ^ 2) $.
Exacte oplossing
Wikipedia heeft een korte uitleg hoe de vereiste kansen berekend moeten worden. Ik zal wat meer uitleggen waarom de uitleg daar zinvol is. Voor zover mogelijk heb ik dezelfde notatie gebruikt als in het Wikipedia-artikel.
Stel dat je $ n $ dobbelstenen hebt met elk $ s $ vlakken en je wilt de kans berekenen dat een enkele worp van alle $ n $ dobbelstenen is het totaal $ k $. De aanpak is als volgt:
Definieer:
$ F_ {s, n} (k) $: kans dat u een totaal van $ k $ krijgt op een enkele worp van $ n $ dobbelstenen met $ s $ gezichten.
Per definitie hebben we:
$ F_ {s, 1} (k) = \ frac {1} {s} $
Het bovenstaande stelt dat als je slechts één dobbelsteen hebt met $ s $ geconfronteerd, de kans om een totaal van $ k $ tussen 1 en s te krijgen de bekende $ \ frac {1} {s} $ is.
Overweeg de situatie wanneer u twee dobbelstenen gooit: u kunt als volgt een som van $ k $ krijgen: de eerste worp is tussen 1 en $ k-1 $ en de overeenkomstige worp voor de tweede is tussen $ k -1 $ tot $ 1 $. We hebben dus:
$ F_ {s, 2} (k) = \ sum_ {i = 1} ^ {i = k-1} {F_ {s, 1} (i) F_ { s, 1} (ki)} $
Overweeg nu een worp van drie dobbelstenen: je kunt een som van $ k $ krijgen als je een 1 tot $ k-2 $ gooit met de eerste dobbelstenen en de som van de resterende twee dobbelstenen is tussen $ k-1 $ tot $ 2 $. Dus,
$ F_ {s, 3} (k) = \ sum_ {i = 1} ^ {i = k-2} {F_ {s, 1} (i) F_ {s, 2 } (ki)} $
Als we de bovenstaande logica voortzetten, krijgen we de recursievergelijking:
$ F_ {s, n} (k) = \ sum_ {i = 1} ^ {i = k-n + 1} {F_ {s, 1} (i) F_ {s, n-1} (ki)} $
Zie de Wikipedia-link voor meer details.
Reacties
- @Srikant Uitstekend antwoord, maar lost die functie op in iets rekenkundig (dwz: niet recursief)?
- @C. Ross Ik denk het helaas niet. Maar ik vermoed dat de recursie niet zo moeilijk zou moeten zijn als het gaat om redelijk kleine n en kleine s. U kunt gewoon een opzoektabel opbouwen en die indien nodig herhaaldelijk gebruiken.
- De wikipedia-pagina die u heeft gelinkt heeft een eenvoudige niet-recursieve formule die een enkele som is. Een afleiding is in whuber ‘ s antwoord.
- Het anker van de wiki-link is dood, weet je van een vervanging?
Answer
Dit is eigenlijk een verrassend ingewikkelde vraag. Gelukkig voor jou bestaat er een exacte oplossing die hier heel goed wordt uitgelegd:
http://mathworld.wolfram.com/Dice.html
De kans waarnaar u op zoek bent, wordt gegeven door vergelijking (10): “De kans om p punten te krijgen (een worp van p) op een n-zijdige dobbelsteen”.
In jouw geval: p = de waargenomen score (som van alle dobbelstenen), n = het aantal dobbelstenen, s = 6 (6-zijdige dobbelstenen). Dit geeft je de volgende kans-massa-functie:
$$ P (X_n = p) = \ frac {1} {s ^ n} \ sum_ {k = 0} ^ {\ lfloor (pn) / 6 \ rfloor} (-1) ^ k {n \ kies k} {p-6k-1 \ kies n-1} $$
Reacties
- Welkom op onze site, Felix!
Answer
Karakteristieke functies kunnen berekeningen maken met de sommen en verschillen van willekeurige variabelen heel gemakkelijk. Mathematica heeft veel functies om met statistische distributies te werken, inclusief een ingebouwde functie om een distributie om te zetten in zijn karakteristieke functie.
Ik zou graag om dit te illustreren met twee concrete voorbeelden: (1) Stel dat je de resultaten wilt bepalen van het gooien van een verzameling dobbelstenen met verschillende aantallen zijden, bijv. gooi twee zeszijdige dobbelstenen plus één achtzijdige sterven (dwz 2d6 + d8 )?Of (2) stel dat je het verschil wilt vinden tussen twee worpen met dobbelstenen (bijv. d6-d6 )?
Een gemakkelijke manier om dit te doen is door de karakteristieke functies te gebruiken van de onderliggende discrete uniforme verdelingen. Als een willekeurige variabele $ X $ een kans massafunctie $ f $ heeft, dan is de karakteristieke functie $ \ varphi_X (t) $ slechts de discrete Fourier-transformatie van $ f $, dwz $ \ varphi_X (t) = \ mathcal {F} \ {f \} (t) = E [e ^ {it X }] $. Een stelling vertelt ons:
Als de onafhankelijke willekeurige variabelen $ X $ en $ Y $ overeenkomstige waarschijnlijkheidsmassafuncties $ f $ en $ g $ hebben, dan is de pmf $ h $ van de som $ X + Y $ van deze campers is de convolutie van hun pmfs $ h (n) = (f \ ast g) (n) = \ sum_ {m = – \ infty} ^ \ infty f (m) g (nm) $.
We kunnen de convolutie-eigenschap van Fourier-transformaties gebruiken om dit eenvoudiger te herformuleren in termen van karakteristieke functies:
De karakteristieke functie $ \ varphi_ {X + Y} (t) $ van de som van onafhankelijke willekeurige variabelen $ X $ en $ Y $ is gelijk aan het product van hun karakteristieke functies $ \ varphi_ {X} (t) \ varphi_ {Y} (t) $.
Deze Mathematica-functie maakt de karakteristieke functie voor een s-zijdige dobbelsteen:
MakeCf[s_] := Module[{Cf}, Cf := CharacteristicFunction[DiscreteUniformDistribution[{1, s}], t]; Cf]
De pmf van een distributie kan worden hersteld van zijn karakteristieke functie, omdat Fourier Transforms inverteerbaar zijn. Hier is de Mathematica-code om het te doen:
RecoverPmf[Cf_] := Module[{F}, F[y_] := SeriesCoefficient[Cf /. t -> -I*Log[x], {x, 0, y}]; F]
Laten we ons voorbeeld voortzetten, laat F de pmf zijn die het resultaat is van 2d6 + d8.
F := RecoverPmf[MakeCf[6]^2 MakeCf[8]]
Er zijn $ 6 ^ 2 \ cdot 8 = 288 $ resultaten. Het ondersteuningsdomein van F is $ S = \ {3, \ ldots, 20 \} $. Drie is het minimum omdat je “drie dobbelstenen gooit. En twintig is het maximum omdat $ 20 = 2 \ cdot 6 + 8 $. Als je de afbeelding van F wilt zien, bereken dan
In:= F /@ Range[3, 20] Out= {1/288, 1/96, 1/48, 5/144, 5/96, 7/96, 13/144, 5/48, 1/9, 1/9, \ 5/48, 13/144, 7/96, 5/96, 5/144, 1/48, 1/96, 1/288}
Als je het aantal uitkomsten wilt weten dat optelt tot 10, bereken dan
In:= 6^2 8 F[10] Out= 30
Als de onafhankelijke willekeurige variabelen $ X $ en $ Y $ hebben overeenkomstige waarschijnlijkheidsmassafuncties $ f $ en $ g $, dan is de pmf $ h $ van het verschil $ X – Y $ van deze campers de kruiscorrelatie van hun pmfs $ h (n) = (f \ star g) (n) = \ sum_ {m = – \ infty} ^ \ infty f (m) g (n + m) $ .
We kunnen de kruiscorrelatie-eigenschap van Fourier Transforms gebruiken om dit eenvoudiger te herformuleren in termen van karakteristieke functies:
De karakteristieke functie $ \ varphi_ {XY} (t) $ van het verschil tussen twee onafhankelijke willekeurige variabelen $ {X, Y} $ is gelijk aan het product van de karakteristieke functie $ \ varphi_ {X} (t) $ en $ \ varphi_ {Y} (- t) $ (NB: het minteken voor de variabele t in de tweede cha karakteristieke functie).
Dus, Mathematica gebruiken om de pmf G van d6-d6 te vinden:
G := RecoverPmf[MakeCf[6] (MakeCf[6] /. t -> -t)]
Er zijn $ 6 ^ 2 = 36 $ resultaten. Het ondersteuningsdomein van G is $ S = \ {- 5, \ ldots, 5 \} $. -5 is het minimum omdat $ -5 = 1-6 $. En 5 is het maximum omdat $ 6-1 = $ 5. Als je de afbeelding van G wilt zien, bereken dan
In:= G /@ Range[-5, 5] Out= {1/36, 1/18, 1/12, 1/9, 5/36, 1/6, 5/36, 1/9, 1/12, 1/18, 1/36}
Reacties
- Natuurlijk, voor discrete distributies, inclusief distributies van eindige ondersteuning (zoals die hier in kwestie), de cf is alleen de kansgenererende functie geëvalueerd op x = exp (it), waardoor het een meer gecompliceerde manier is om dezelfde informatie te coderen.
- @whuber: Zoals je zegt, de cf, mgf en pgf zijn min of meer hetzelfde en gemakkelijk in elkaar te transformeren, maar Mathematica heeft een ingebouwde cf die werkt met alle kansverdelingen die het kent, terwijl het heeft geen ‘ t een ingebouwde pgf. Dit maakt de Mathematica-code voor het werken met sommen (en verschillen) van dobbelstenen met behulp van cfs bijzonder elegant om te construeren, ongeacht de complexiteit van de dobbelsteenuitdrukking, zoals ik hoop dat ik hierboven heb aangetoond. Bovendien doet het ‘ geen pijn om te weten hoe cfs, FTs, convoluties en kruiscorrelaties kunnen helpen bij het oplossen van dit soort problemen.
- @Elisha: goede punten , allemaal. Ik denk dat ik me het meest afvraag of je ongeveer tien regels Mathematica-code echt meer ” elegant ” of efficiënter zijn dan de enkele regel die ik eerder had voorgesteld (of de nog kortere regel die Srikant aan Wolfram Alpha stuurde). Ik vermoed dat de interne manipulaties met karakteristieke functies moeilijker zijn dan de eenvoudige convoluties die nodig zijn om polynomen te vermenigvuldigen. Deze laatste zijn zeker gemakkelijker te implementeren in de meeste andere softwareomgevingen, zoals het antwoord van Glen_b ‘ aangeeft. Het voordeel van uw benadering is de grotere algemeenheid.
Antwoord
Hier is een andere manier om de kans te berekenen verdeling van de som van twee dobbelstenen met de hand met behulp van windingen.
Om het voorbeeld heel simpel te houden, gaan we de kansverdeling berekenen van de som van een driezijdige dobbelsteen (d3) waarvan we de willekeurige variabele X zullen noemen en een tweezijdige dobbelsteen (d2 ) waarvan we de willekeurige variabele Y zullen noemen.
Je gaat een tabel maken. Schrijf in de bovenste rij de kansverdeling van X (uitkomsten van het rollen van een eerlijke d3). In de linkerkolom , schrijf de kansverdeling van Y (uitkomsten van het rollen van een eerlijke d2).
Je “gaat het buitenproduct van de bovenste rij kansen met de linkerkolom met kansen. De cel rechtsonder zal bijvoorbeeld het product zijn van Pr [X = 3] = 1/3 keer Pr [Y = 2] = 1/2, zoals weergegeven in de bijgaande figuur. In ons simplistische voorbeeld zijn alle cellen gelijk aan 1/6.
Vervolgens gaat u optellen langs de schuine lijnen van de matrix van het buitenproduct, zoals weergegeven in het bijgaande diagram. Elke schuine lijn gaat door een of meer cellen die ik hetzelfde heb gekleurd: de bovenste regel gaat door een blauwe cel, de volgende regel door twee rode cellen, enzovoort.
Elk van de sommen langs de schuine standen vertegenwoordigt een kans in de resulterende verdeling. De som van de rode cellen is bijvoorbeeld gelijk aan de kans dat de twee dobbelstenen worden opgeteld tot 3. Deze kansen worden rechts in het bijgevoegde diagram weergegeven.
Deze techniek kan worden gebruikt met twee willekeurige verdelingen met eindige ondersteuning. En je kunt het iteratief toepassen. Als u bijvoorbeeld de verdeling van drie zeszijdige dobbelstenen (3d6) wilt weten, kunt u eerst 2d6 = d6 + d6 berekenen; dan 3d6 = d6 + 2d6.
Er is een gratis (maar gesloten licentie) programmeertaal genaamd J . Het is een array-gebaseerde taal met zijn wortels in APL. Het heeft ingebouwde operatoren om uiterlijke producten en sommen langs de schuine standen in matrices uit te voeren, waardoor de techniek die ik illustreerde vrij eenvoudig te implementeren is.
In de volgende J-code definieer ik twee werkwoorden. Eerst construeert het werkwoord d
een array die de pmf van een s-zijdige dobbelsteen vertegenwoordigt. d 6
is bijvoorbeeld de pmf van een zeszijdige dobbelsteen. Ten tweede vindt het werkwoord conv
het buitenproduct van twee arrays en sommen langs de schuine lijnen. Dus conv~ d 6
drukt de pmf van 2d6 af:
d=:$% conv=:+//.@(*/) |:(2+i.11),:conv~d 6 2 0.0277778 3 0.0555556 4 0.0833333 5 0.111111 6 0.138889 7 0.166667 8 0.138889 9 0.111111 10 0.0833333 11 0.0555556 12 0.0277778
Zoals je kunt zien, is J cryptisch, maar beknopt .
Antwoord
Ik vind de gebruikersnaam geweldig! Goed gedaan 🙂
De uitkomsten die u moet tellen zijn de worpen van de dobbelstenen, allemaal $ 6 \ maal 6 = $ 36, zoals weergegeven in uw tabel.
Bijvoorbeeld $ \ frac {1} {36} $ van de tijd is de som $ 2 $, en $ \ frac {2} {36} $ van de tijd is de som $ 3 $, en $ \ frac {4} {36} $ van de tijd de som is $ 4 $, enzovoort.
Reacties
- Ik ‘ ben echt in de war door dit. Ik beantwoordde een zeer recente newbie-vraag van iemand met de naam die_hard, die blijkbaar niet meer bestaat, en vond mijn antwoord bij deze oude thread!
- Je antwoord op de vraag op stats.stackexchange.com/questions/173434/… is samengevoegd met de antwoorden op dit duplicaat.
Answer
Je kunt dit oplossen met een recursieve formule. In dat geval worden de kansen van de worpen met $ n $ dobbelstenen berekend door de worpen met $ n-1 $ dobbelstenen.
$$ a_n (l) = \ sum_ {l-6 \ leq k \ leq l-1 \\ \ text {and} n-1 \ leq k \ leq 6 (n-1)} a_ {n-1} (k) $$
De eerste limiet voor k in de som zijn de zes voorgaande cijfers. Als je bijvoorbeeld 13 wilt gooien met 3 dobbelstenen, dan kun je dit doen als je eerste twee dobbelstenen tussen 7 en 12 rollen.
De tweede limiet voor k in de optelling zijn de limieten van waarmee je kunt gooien n-1 dobbelstenen
Het resultaat:
1 1 1 1 1 1 1 2 3 4 5 6 5 4 3 2 1 1 3 6 10 15 21 25 27 27 25 21 15 10 6 3 1 1 4 10 20 35 56 80 104 125 140 146 140 125 104 80 56 35 20 10 4 1 1 5 15 35 70 126 205 305 420 540 651 735 780 780 735 651 540 420 305 205 126 70 35 15 5 1
bewerken: het bovenstaande antwoord was een antwoord van een andere vraag die werd samengevoegd met de vraag door C.Ross
De onderstaande code laat zien hoe de berekeningen voor dat antwoord (op de vraag met de vraag om 5 dobbelstenen) werden uitgevoerd in R. Ze zijn vergelijkbaar met de sommaties uitgevoerd in Excel in het antwoord van Glen B.
# recursive formula nextdice <- function(n,a,l) { x = 0 for (i in 1:6) { if ((l-i >= n-1) & (l-i<=6*(n-1))) { x = x+a[l-i-(n-2)] } } return(x) } # generating combinations for rolling with up to 5 dices a_1 <- rep(1,6) a_2 <- sapply(2:12,FUN = function(x) {nextdice(2,a_1,x)}) a_3 <- sapply(3:18,FUN = function(x) {nextdice(3,a_2,x)}) a_4 <- sapply(4:24,FUN = function(x) {nextdice(4,a_3,x)}) a_5 <- sapply(5:30,FUN = function(x) {nextdice(5,a_4,x)})
Reacties
- @ user67275 uw vraag is met deze vraag samengevoegd. Maar ik vraag me af wat uw idee was achter uw formule: ” Ik heb de formule gebruikt: er zijn geen manieren om 8: 5_H_2 = 6_C_2 = 15 ?
Antwoord
Een benadering is om te zeggen dat de waarschijnlijkheid $ X_n = k $ de coëfficiënt is van $ x ^ {k} $ in de uitbreiding van de genererende functie $$ \ left (\ frac {x ^ 6 + x ^ 5 + x ^ 4 + x ^ 3 + x ^ 2 + x ^ 1} {6} \ right) ^ n = \ left (\ frac {x (1-x ^ 6)} {6 (1-x)} \ right) ^ n $$
Dus bijvoorbeeld met zes dobbelstenen en een target van $ k = 22 $ , zul je $ P (X_6 = 22) = \ frac {10} {6 ^ 6} $ vinden. Die link (naar een math.stackexchange-vraag) geeft ook andere benaderingen
Geef een reactie