Wie kann man die Ergebnisverteilung für mehrere Würfel einfach bestimmen?
On Februar 13, 2021 by adminIch möchte die Wahrscheinlichkeitsverteilung für die Summe einer Würfelkombination berechnen.
Ich erinnere mich, dass die Wahrscheinlichkeit von die Anzahl der Kombinationen ist, die diese Anzahl über die Gesamtzahl der Kombinationen summieren (vorausgesetzt, die Würfel haben eine gleichmäßige Verteilung).
Wie lauten die Formeln für
- Die Anzahl der Kombinationen insgesamt
- Die Anzahl der Kombinationen, die eine bestimmte Anzahl
- Ich denke, Sie sollten $ (X_1 = 1, X_2 = 2) $ und $ (X_1 = 2, X_2 = 1) $ als unterschiedlich behandeln Ereignisse.
Kommentare
Antwort
Genaue Lösungen
Die Anzahl der Kombinationen in $ n $ -Würfen ist natürlich $ 6 ^ n $ .
Diese Berechnungen werden am einfachsten unter Verwendung der Wahrscheinlichkeitsgenerierungsfunktion für einen Würfel durchgeführt,
$$ p (x) = x + x ^ 2 + x ^ 3 + x ^ 4 + x ^ 5 + x ^ 6 = x \ frac {1-x ^ 6} {1-x}. $$
(Eigentlich ist dies $ 6 $ mal das pgf – ich werde mich um den Faktor $ 6 $ am Ende.)
Die pgf für $ n $ rollt ist $ p (x) ^ n $ . Wir können dies ziemlich direkt berechnen – es ist keine geschlossene Form, aber es ist eine nützliche – unter Verwendung des Binomialsatzes:
$$ p (x ) ^ n = x ^ n (1 – x ^ 6) ^ n (1 – x) ^ {- n} $$
$ $ = x ^ n \ left (\ sum_ {k = 0} ^ {n} {n \ wähle k} (-1) ^ kx ^ {6k} \ right) \ left (\ sum_ {j = 0} ^ { \ infty} {-n \ wähle j} (-1) ^ jx ^ j \ right). $$
Die Anzahl der Möglichkeiten, eine Summe zu erhalten, die $ m $ auf den Würfeln ist der Koeffizient von $ x ^ m $ in diesem Produkt, den wir als p isolieren können >
$$ \ sum_ {6k + j = m – n} {n \ wähle k} {- n \ wähle j} (- 1) ^ {k + j} . $$
Die Summe ist über alle nichtnegativen $ k $ und $ j $ für die $ 6k + j = m – n $ ; es ist daher endlich und hat nur ungefähr $ (m-n) / 6 $ Terme. Beispielsweise beträgt die Anzahl der Möglichkeiten, um $ m = 14 $ in $ n = 3 $ Würfen zu summieren eine Summe von nur zwei Begriffen, da $ 11 = 14-3 $ nur als $ 6 \ cdot 0 + 11 $ geschrieben werden kann und $ 6 \ cdot 1 + 5 $ :
$$ – {3 \ wähle 0} {-3 \ wähle 11} + {3 \ wähle 1} {- 3 \ wähle 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 . $$
(Sie können auch klug sein und beachten, dass die Antwort für $ m = 7 $ by dieselbe ist die Symmetrie 1 < -> 6, 2 < -> 5 und 3 < -> 4 und es gibt nur eine Möglichkeit, $ 7 zu erweitern – 3 $ als $ 6 k + j $ ; nämlich mit $ k = 0 $ und $ j = 4 $ , was
Die Wahrscheinlichkeit ist daher gleich $ 15/6 ^ 3 $ = $ 5/36 $ , ungefähr 14%.
Wenn dies schmerzhaft wird, liefert der zentrale Grenzwertsatz gute Annäherungen (zumindest an die zentralen Begriffe, bei denen $ m $ zwischen $ \ frac {7 n} {2} – 3 \ sqrt {n} $ und $ \ frac {7 n} {2} + 3 \ sqrt { n} $ : Auf relativer Basis werden die Annäherungen, die es für die Endwerte liefert, immer schlechter, wenn $ n $ groß wird.
Ich sehe, dass diese Formel in den Srikant-Referenzen des Wikipedia-Artikels angegeben ist, aber weder eine Begründung noch Beispiele gegeben werden. Wenn dieser Ansatz möglicherweise zu abstrakt erscheint, starten Sie Ihr bevorzugtes Computeralgebrasystem und bitten Sie es, die $ n ^ {\ text {th}} $ Potenz von $ x + x ^ 2 + \ cdots + x ^ 6 $ : Sie können den gesamten Wertesatz sofort ablesen. ZB ist ein Mathematica-Einzeiler
With[{n=3}, CoefficientList[Expand[(x + x^2 + x^3 + x^4 + x^5 + x^6)^n], x]]
Kommentare
- Funktioniert dieser Mathematica-Code mit Wolfram Alpha?
- Das funktioniert. Ich habe Ihre frühere Version ausprobiert, konnte aber keinen Sinn für die Ausgabe ergeben.
- @Srikant: Erweitern [Summe [x ^ i, {i, 1,6}] ^ 3] funktioniert auch in WolframAlpha
- @ A. Wilson Ich glaube, viele dieser Referenzen Geben Sie einen klaren Pfad zur Verallgemeinerung an, die in diesem Beispiel $ (x + x ^ 2 + \ cdots + x ^ 6) (x + x ^ 2 + x ^ 3 + x ^ 4) ^ 3 $ ist. Wenn Sie möchten, dass
R
Code diese Dinge berechnet, lesen Sie stats.stackexchange.com/a/116913 für a vollständig implementiertes System. Als weiteres Beispiel lautet der Mathematica -CodeClear[x, d]; d[n_, x_] := Sum[x^i, {i, 1, n}]; d[6, x] d[4, x]^3 // Expand
- Beachten Sie, dass @whuber ‚ s Klarstellung ist für 1W6 + 3d4, und das sollte Sie dorthin bringen. Für ein beliebiges wdn + vdm gilt (x + x ^ 2 + … + x ^ w) ^ n (x + x ^ 2 + … + x ^ v) ^ m. Zusätzliche Begriffe sind Polynome, die auf dieselbe Weise mit dem Produkt konstruiert und multipliziert werden.
Antwort
Noch ein anderer Weg zu Eine schnelle Berechnung der Wahrscheinlichkeitsverteilung eines Würfelwurfs wäre die Verwendung eines speziellen Taschenrechners, der speziell für diesen Zweck entwickelt wurde.
Torben Mogensen , ein CS Professor an der DIKU hat eine ausgezeichnete Würfelrolle namens Troll .
Der Troll-Würfelroller und der Wahrscheinlichkeitsrechner drucken die Wahrscheinlichkeitsverteilung (pmf, Histogramm und optional cdf oder ccdf), den Mittelwert, die Streuung und die mittlere Abweichung für eine Vielzahl komplizierter Würfelwurfmechanismen aus. Hier sind einige Beispiele, die Trolls Würfelwurfsprache zeigen:
Wirf 3 6-seitige Würfel und summiere sie: sum 3d6
.
Wirf 4 6-seitige Würfel, behalte die höchsten 3 und summiere sie: sum largest 3 4d6
.
Wirf einen „explodierenden“ 6-seitigen Würfel (dh einen beliebigen Wenn eine „6“ auftaucht, addiere 6 zu deiner Summe und wirf erneut): sum (accumulate y:=d6 while y=6)
.
Trolls „ SML Quellcode ist verfügbar, wenn Sie sehen möchten, wie er implementiert ist.
Professor Morgensen hat auch einen 29-seitiges Papier „ Würfelwurfmechanismen in RPGs , in dem er viele der von Troll implementierten Würfelrollmechanismen und einige der dahinter stehenden Mathematik erörtert.
Eine ähnliche kostenlose Open-Source-Software ist Dicelab , das sowohl unter Linux als auch unter Windows funktioniert.
Antwort
Es gibt eine sehr gute Möglichkeit, die Kombinationen oder Wahrscheinlichkeiten zu berechnen Elemente in einer Tabelle (z. B. Excel), die die Windungen direkt berechnet.
Ich werde es in Bezug auf Wahrscheinlichkeiten tun und es für sechsseitige Würfel veranschaulichen, aber Sie können es für Würfel mit einer beliebigen Anzahl von Seiten tun (einschließlich des Hinzufügens verschiedener Seiten).
( Übrigens ist es auch in so etwas wie R oder Matlab, das Windungen macht, einfach.
Beginnen Sie mit einem sauberen Blatt in einigen Spalten und bewegen Sie sich von oben nach unten (mehr als 6).
-
Geben Sie den Wert 1 in eine Zelle ein. Das sind die Wahrscheinlichkeiten, die mit 0 Würfeln verbunden sind. Setzen Sie eine 0 nach links; das ist die Wertespalte – fahren Sie von dort mit 1,2,3 nach unten fort, so weit Sie möchten.
-
Verschieben Sie eine Spalte von der „1“ nach rechts und eine Zeile nach unten. Geben Sie die Formel „= sum (“ und dann den Pfeil nach links nach oben (um die Zelle mit 1 zu markieren) ein, drücken Sie „:“ (um einen Bereich einzugeben) und dann 5 Mal nach oben, gefolgt von „) / 6 „und drücken Sie die Eingabetaste – so erhalten Sie eine Formel wie
=sum(c4:c9)/6
(wobei hierC9
die Zelle mit der 1 darin ist)Kopieren Sie dann die Formel und fügen Sie sie in die 5 Zellen darunter ein. Sie sollten jeweils 0,16667 (ish) enthalten.
Geben Sie nichts in die leeren Zellen dieser Formeln ein Siehe!
-
Bewegen Sie sich 1 nach oben und 1 vom oberen Rand dieser Wertespalte nach rechts und fügen Sie ein …
… insgesamt weitere 11 Werte. Dies sind die Wahrscheinlichkeiten für zwei Würfel.
Es spielt keine Rolle, ob Sie ein paar zu viele einfügen, Sie erhalten nur Nullen.
-
Wiederholen Sie Schritt 3 für die nächste Spalte für drei Würfel und erneut für vier, fünf usw. Würfel.
Wir sehen hier, dass die Wahrscheinlichkeit, $ 12 $ auf 4d6 zu würfeln, 0,096451 beträgt (wenn Sie mit $ 4 ^ 6 $ multiplizieren, können Sie es als exakten Bruch schreiben).
Wenn Sie mit Excel vertraut sind – Dinge wie das Kopieren einer Formel aus einer Zelle und das Einfügen in viele Zellen In einer Spalte können Sie in etwa einer Minute alle Tabellen bis zu 10W6 generieren (möglicherweise schneller, wenn Sie dies einige Male getan haben).
Wenn Sie stattdessen Kombinationszählungen wünschen Wahrscheinlichkeiten, nicht durch 6 teilen.
Wenn Sie Würfel mit unterschiedlicher Anzahl von Gesichtern möchten, können Sie $ k $ (statt 6) Zellen summieren und dann durch $ k $ teilen. Sie können Würfel über Spalten mischen (z.Führen Sie eine Spalte für d6 und eine für d8 aus, um die Wahrscheinlichkeitsfunktion für d6 + d8 zu erhalten Kommentare
- Dies ist sehr nützlich für jemanden wie mich, der nur einen Weg will, es zu tun, ohne verstehen zu müssen! Wenn Sie ‚ die Volatilität der Funktion
OFFSET()
nicht beachten, können Sie diese Dynamik mithilfe eines benannten Bereichs dynamisieren. Zum Beispiel habe ich einen Bereich namensDiceSize
erstellt, um die Anzahl der Seiten zu halten und die erste “ 1 “ Wahrscheinlichkeit in B23. Ich habe einen dynamischen benannten Bereich namens KingSum verwendet, der sich auf=OFFSET('Dice Rolls'!$A$22,-1*DiceSize,,DiceSize,1)
bezieht. Ich könnte dann die Formel=SUM(OFFSET(KingSum,ROW(A1),COLUMN(A1)))/DiceSize
in Zelle C23 verwenden, die über einen großen Bereich gezogen wird, um eine Tabelle zu erhalten, die von DiceSize abhängig ist.
Antwort
$ \ newcommand {red} {\ color {red}} $ $ \ newcommand {blue} {\ color {blue}} $
Der erste Würfel sei rot und der zweite schwarz. Dann gibt es 36 mögliche Ergebnisse:
\ 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 \\ & \ blau {^ 2} & \ blau {^ 3} & \ blau {^ 4} & \ blue {^ 5} & \ blue {^ 6} & \ blue {^ 7} \\\ hline \ rot {2} & \ red {2}, 1 & \ red {2}, 2 & \ red {2}, 3 & \ red {2}, 4 & \ red {2}, 5 & \ red {2}, 6 \\ & \ blue {^ 3} & \ blue {^ 4}
\ blue {^ 5} & \ blue {^ 6} & \ blue { ^ 7} & \ blue {^ 8} \\\ hline \ red {3} & \ red {3}, 1 & \ red {3}, 2 & \ red {3}, 3 & \ rot {3}, 4 & \ red {3}, 5 & \ red {3}, 6 \\ & \ blue {^ 4} & \ blue {^ 5} & \ blue {^ 6} & \ blue {^ 7} & \ blue {^ 8} & \ blue {^ 9} \\\ hline \ red {4} & \ red {4}, 1 & \ red {4}, 2 & \ red {4}, 3 & \ red {4}, 4 & \ red {4}, 5 & \ red {4}, 6 \\ & \ blue {^ 5} & \ blue {^ 6} & \ blue {^ 7} & \ blue {^ 8 } & \ blau {^ 9} & \ blau {^ {10}} \\\ hline \ rot {5} & \ rot {5 }, 1 & \ red {5}, 2 & \ red {5}, 3 & \ red {5}, 4 & \ red {5}, 5 & \ red {5}, 6 \\ & \ blue {^ 6} & \ blue {^ 7} & \ blue {^ 8} & \ blue {^ 9} & \ blue {^ {10}} & \ blue {^ {11}} \\\ hline \ red {6} & \ red {6}, 1 & \ red {6}, 2 & \ red {6}, 3 & \ red {6}, 4 & \ red {6}, 5 & \ red {6}, 6 \\ & \ blau {^ 7} & \ blau {^ 8} & \ blau {^ 9} & \ blue {^ {10}} & \ blue {^ {11}} & \ blue {^ {12} } \\\ hline \ end {array}
Jeder von Diese 36 ($ \ red {\ text {red}}, \ text {black} $) Ergebnisse sind gleich wahrscheinlich.
Wenn Sie die Zahlen auf den Gesichtern summieren (Summe in $ \ blue {\ text {blau}} $), mehrere der (roten, schwarzen) Ergebnisse ergeben dieselbe Summe – Sie können dies anhand der Tabelle in Ihrer Frage sehen.
So gibt es beispielsweise nur eine Weg, um insgesamt 2 $ zu erhalten (dh nur das Ereignis ($ \ red {1}, 1 $)), aber es gibt zwei Möglichkeiten, um $ 3 $ zu erhalten (dh die elementaren Ereignisse ($ \ red {2}, 1 $) und ($ \ red {1}, 2 $)). Es ist also doppelt so wahrscheinlich, dass insgesamt $ 3 $ auftauchen wie $ 2 $. Ebenso gibt es drei Möglichkeiten, $ 4 $ zu erhalten, vier Möglichkeiten, $ 5 $ zu erhalten und so weiter
Da Sie nun 36 mögliche (rote, schwarze) Ergebnisse haben, beträgt die Gesamtzahl der Möglichkeiten, alle verschiedenen Summen zu erhalten, ebenfalls 36, sodass Sie am Ende durch 36 dividieren sollten. Ihre Gesamtwahrscheinlichkeit beträgt 1, wie es sein sollte.
Kommentare
- Wow, die Tabelle ist wunderschön!
- In der Tat sehr hübsch
Antwort
Ungefähre Lösung
Ich habe die genaue Lösung zuvor erläutert (siehe unten). Ich werde jetzt eine ungefähre Lösung anbieten, die Ihren Anforderungen besser entspricht.
Sei:
$ X_i $ das Ergebnis eines Würfels mit $ s $ Würfeln, wobei $ i = 1, … n $.
$ S $ ist die Summe aller $ n $ Würfel.
$ \ bar {X} $ ist der Stichprobenmittelwert.
Per Definition haben wir:
$ \ bar {X} = \ frac {\ sum_iX_i} {n} $
Mit anderen Worten,
$ \ bar {X} = \ frac {S} {n} $
Die Idee ist nun, den Prozess der Beobachtung von $ {X_i} $ als Ergebnis des Werfens derselben Würfel $ n $ mal anstatt als Ergebnis des Werfens von $ n $ Würfeln zu visualisieren. Wir können also den zentralen Grenzwertsatz aufrufen (ohne die technischen Aspekte zu beachten, die mit dem Übergang von der diskreten zur kontinuierlichen Verteilung verbunden sind). Wir haben als $ n \ rightarrow \ infty $:
$ \ bar {X} \ sim N ( \ mu, \ sigma ^ 2 / n) $
wobei
$ \ mu = (s + 1) / 2 $ der Mittelwert des Würfels eines einzelnen Würfels ist und
$ \ sigma ^ 2 = (s ^ 2-1) / 12 $ ist die zugehörige Varianz.
Das Obige ist offensichtlich eine Annäherung, da die zugrunde liegende Verteilung $ X_i $ diskret ist Unterstützung.
Aber
$ S = n \ bar {X} $.
Wir haben also:
$ S \ sim N (n \ mu, n \ sigma ^ 2) $.
Genaue Lösung
Wikipedia enthält eine kurze Erklärung zur Berechnung der erforderlichen Wahrscheinlichkeiten. Ich werde etwas näher darauf eingehen, warum die Erklärung dort Sinn macht. Soweit möglich habe ich eine ähnliche Notation wie im Wikipedia-Artikel verwendet.
Angenommen, Sie haben $ n $ Würfel mit jeweils $ s $ Gesichtern und möchten die Wahrscheinlichkeit berechnen, dass ein einziger Wurf aller $ n $ Würfel summiert sich die Summe auf $ k $. Der Ansatz ist wie folgt:
Definieren Sie:
$ F_ {s, n} (k) $: Wahrscheinlichkeit, dass Sie bei einem einzelnen Wurf von $ insgesamt $ k $ erhalten n $ Würfel mit $ s $ Gesichtern.
Per Definition haben wir:
$ F_ {s, 1} (k) = \ frac {1} {s} $
Wenn Sie nur einen Würfel mit $ s $ haben, ist die Wahrscheinlichkeit, einen Gesamtbetrag von $ k $ zwischen 1 und s zu erhalten, der bekannte $ \ frac {1} {s} $.
Betrachten Sie die Situation, wenn Sie zwei Würfel werfen: Sie können eine Summe von $ k $ wie folgt erhalten: Der erste Wurf liegt zwischen 1 und $ k-1 $ und der entsprechende Wurf für den zweiten liegt zwischen $ k -1 $ bis $ 1 $. Wir haben also:
$ F_ {s, 2} (k) = \ sum_ {i = 1} ^ {i = k-1} {F_ {s, 1} (i) F_ { s, 1} (ki)} $
Betrachten Sie nun einen Würfelwurf mit drei Würfeln: Sie können eine Summe von $ k $ erhalten, wenn Sie beim ersten Würfel und beim Würfeln eine 1 bis $ k-2 $ würfeln sum auf den verbleibenden zwei Würfeln liegt zwischen $ k-1 $ und $ 2 $. Somit ist
$ F_ {s, 3} (k) = \ sum_ {i = 1} ^ {i = k-2} {F_ {s, 1} (i) F_ {s, 2 } (ki)} $
Wenn wir die obige Logik fortsetzen, erhalten wir die Rekursionsgleichung:
$ F_ {s, n} (k) = \ sum_ {i = 1} ^ {i = k-n + 1} {F_ {s, 1} (i) F_ {s, n-1} (ki)} $
Weitere Informationen finden Sie im Wikipedia-Link.
Kommentare
- @Srikant Ausgezeichnete Antwort, aber löst sich diese Funktion in etwas Arithmetisches auf (dh: nicht rekursiv)?
- @C. Ross Das glaube ich leider nicht. Ich vermute jedoch, dass die Rekursion nicht so schwer sein sollte, solange es sich um einigermaßen kleine n und kleine s handelt. Sie können einfach eine Nachschlagetabelle erstellen und diese bei Bedarf wiederholt verwenden.
- Die von Ihnen verknüpfte Wikipedia-Seite enthält eine einfache nicht rekursive Formel, die eine einzelne Summe ist. Eine Ableitung ist die Antwort von whuber ‚.
- Der Wiki-Link-Anker ist tot. Kennen Sie einen Ersatz?
Antwort
Dies ist tatsächlich eine überraschend komplizierte Frage. Zum Glück gibt es eine genaue Lösung, die hier sehr gut erklärt wird:
http://mathworld.wolfram.com/Dice.html
Die Wahrscheinlichkeit, nach der Sie suchen, ergibt sich aus Gleichung (10): „Die Wahrscheinlichkeit, p Punkte (ein Wurf von p) auf n-seitigen Würfeln zu erhalten“.
In Ihrem Fall: p = die beobachtete Punktzahl (Summe aller Würfel), n = die Anzahl der Würfel, s = 6 (6-seitige Würfel). Dies gibt Ihnen die folgende Wahrscheinlichkeitsmassenfunktion:
$$ P (X_n = p) = \ frac {1} {s ^ n} \ sum_ {k = 0} ^ {\ lfloor (pn) / 6 \ rfloor} (-1) ^ k {n \ wähle k} {p-6k-1 \ wähle n-1} $$
Kommentare
- Willkommen auf unserer Website, Felix!
Antwort
Charakteristische Funktionen können Berechnungen mit den Summen und Differenzen von Zufallsvariablen sehr einfach machen. Mathematica verfügt über viele Funktionen zum Arbeiten mit statistischen Verteilungen, einschließlich einer integrierten Funktion zum Transformieren einer Verteilung in ihre charakteristische Funktion.
Ich möchte Um dies anhand von zwei konkreten Beispielen zu veranschaulichen: (1) Angenommen, Sie möchten die Ergebnisse des Würfelns einer Würfelsammlung mit unterschiedlichen Seitenzahlen ermitteln, z. B. zwei sechsseitige Würfel plus einen achtseitigen sterben (dh 2d6 + d8)?Oder (2) Angenommen, Sie möchten den Unterschied zwischen zwei Würfeln (z. B. d6-d6 ) ermitteln?
Eine einfache Möglichkeit, dies zu tun, besteht darin, die charakteristischen Funktionen zu verwenden der zugrunde liegenden diskreten Gleichverteilungen. Wenn eine Zufallsvariable $ X $ eine Wahrscheinlichkeitsmassenfunktion $ f $ hat, ist ihre charakteristische Funktion $ \ varphi_X (t) $ nur die diskrete Fourier-Transformation von $ f $, dh $ \ varphi_X (t) = \ mathcal {F} \ {f \} (t) = E [e ^ {it X. }] $. Ein Satz sagt uns:
Wenn die unabhängigen Zufallsvariablen $ X $ und $ Y $ entsprechende Wahrscheinlichkeitsmassenfunktionen $ f $ und $ g $ haben, dann ist die pmf $ h $ der Summe $ X + Y $ dieser RVs ist die Faltung ihrer pmfs $ h (n) = (f \ ast g) (n) = \ sum_ {m = – \ infty} ^ \ infty f (m) g (nm) $.
Wir können die Faltungseigenschaft von Fourier-Transformationen verwenden, um dies in Bezug auf charakteristische Funktionen einfacher auszudrücken:
Die charakteristische Funktion $ \ varphi_ {X + Y} (t) $ der Summe der unabhängigen Zufallsvariablen $ X $ und $ Y $ entspricht dem Produkt ihrer charakteristischen Funktionen $ \ varphi_ {X} (t) \ varphi_ {Y} (t) $.
Diese Mathematica-Funktion erstellt die charakteristische Funktion für einen einseitigen Würfel:
MakeCf[s_] := Module[{Cf}, Cf := CharacteristicFunction[DiscreteUniformDistribution[{1, s}], t]; Cf]
Die pmf einer Verteilung kann aus ihrer charakteristischen Funktion wiederhergestellt werden, da Fourier-Transformationen invertierbar sind. Hier ist der Mathematica-Code, um dies zu tun:
RecoverPmf[Cf_] := Module[{F}, F[y_] := SeriesCoefficient[Cf /. t -> -I*Log[x], {x, 0, y}]; F]
Wenn Sie unser Beispiel fortsetzen, sei F die pmf, die sich aus 2d6 + d8 ergibt.
F := RecoverPmf[MakeCf[6]^2 MakeCf[8]]
Es gibt $ 6 ^ 2 \ cdot 8 = 288 $ Ergebnisse. Die Unterstützungsdomäne von F ist $ S = \ {3, \ ldots, 20 \} $. Drei ist das Minimum, weil Sie „drei Würfel würfeln. Und zwanzig ist das Maximum, weil $ 20 = 2 \ cdot 6 + 8 $. Wenn Sie das Bild von F sehen möchten, berechnen Sie
Wenn Sie die Anzahl der Ergebnisse wissen möchten, die sich zu 10 summieren, berechnen Sie
In:= 6^2 8 F[10] Out= 30
Wenn die unabhängigen Zufallsvariablen $ X $ und $ Y $ haben entsprechende Wahrscheinlichkeitsmassenfunktionen $ f $ und $ g $, dann ist die pmf $ h $ der Differenz $ X – Y $ dieser Wohnmobile die Kreuzkorrelation ihrer pmfs $ h (n) = (f \ star g) (n) = \ sum_ {m = – \ infty} ^ \ infty f (m) g (n + m) $ .
Wir können die Kreuzkorrelationseigenschaft von Fourier-Transformationen verwenden, um dies in Bezug auf charakteristische Funktionen einfacher auszudrücken:
Die charakteristische Funktion $ \ varphi_ {XY} (t) $ der Differenz zweier unabhängiger Zufallsvariablen $ {X, Y} $ entspricht dem Produkt der charakteristischen Funktion $ \ varphi_ {X} (t) $ und $ \ varphi_ {Y} (- t) $ (NB das negative Vorzeichen vor der Variablen t im zweiten Cha charakteristische Funktion).
Verwenden Sie also Mathematica, um das pmf G von d6-d6 zu ermitteln:
G := RecoverPmf[MakeCf[6] (MakeCf[6] /. t -> -t)]
Es gibt $ 6 ^ 2 = 36 $ Ergebnisse. Die Unterstützungsdomäne von G ist $ S = \ {- 5, \ ldots, 5 \} $. -5 ist die min, weil $ -5 = 1-6 $. Und 5 ist das Maximum, weil $ 6-1 = 5 $. Wenn Sie das Bild von G sehen möchten, berechnen Sie
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}
Kommentare
- Natürlich für diskrete Verteilungen, einschließlich Verteilungen endlicher Unterstützung (wie die hier fraglichen), ist cf nur die Wahrscheinlichkeitsgenerierungsfunktion, die bei x = exp (it) ausgewertet wird, was es zu einer komplizierteren Art der Codierung derselben Informationen macht.
- @whuber: Wie Sie sagen, sind cf, mgf und pgf mehr oder weniger gleich und leicht ineinander umwandelbar. Mathematica verfügt jedoch über ein eingebautes cf, das mit allen ihm bekannten Wahrscheinlichkeitsverteilungen funktioniert ‚ hat keine eingebaute pgf. Dies macht den Mathematica-Code für die Arbeit mit Würfelsummen (und -unterschieden) unter Verwendung von cfs besonders elegant zu konstruieren, unabhängig von der Komplexität des Würfelausdrucks, wie ich oben gezeigt habe. Außerdem schadet es nicht ‚ zu wissen, wie cfs, FTs, Faltungen und Kreuzkorrelationen zur Lösung solcher Probleme beitragen können.
- @Elisha: Gute Punkte , alle von ihnen. Ich denke, ich frage mich am meisten, ob Ihre zehn oder mehr Zeilen Mathematica-Code wirklich “ eleganter “ oder effizienter als die sind einzelne Linie, die ich früher vorgeschlagen habe (oder die noch kürzere Linie, die Srikant Wolfram Alpha zugeführt hat). Ich vermute, dass die internen Manipulationen mit charakteristischen Funktionen schwieriger sind als die einfachen Faltungen, die zur Multiplikation von Polynomen erforderlich sind. Letztere sind sicherlich in den meisten anderen Softwareumgebungen einfacher zu implementieren, wie die Antwort von Glen_b ‚ zeigt. Der Vorteil Ihres Ansatzes ist seine größere Allgemeinheit.
Antwort
Hier ist eine andere Möglichkeit, die Wahrscheinlichkeit zu berechnen Verteilung der Summe von zwei Würfeln von Hand unter Verwendung von Windungen.
Um das Beispiel wirklich einfach zu halten, berechnen wir die Wahrscheinlichkeitsverteilung der Summe eines dreiseitigen Würfels (d3), dessen Zufallsvariable wir X nennen, und eines zweiseitigen Würfels (d2) ), deren Zufallsvariable wir Y nennen werden.
Sie werden eine Tabelle erstellen. Schreiben Sie in die obere Zeile die Wahrscheinlichkeitsverteilung von X (Ergebnisse des Würfelns eines fairen d3). In die linke Spalte Schreiben Sie die Wahrscheinlichkeitsverteilung von Y (Ergebnisse des Würfelns eines fairen d2).
Sie werden das äußere Produkt des konstruieren obere Reihe von Wahrscheinlichkeiten mit der linken Spalte von Wahrscheinlichkeiten. Beispielsweise ist die untere rechte Zelle das Produkt von Pr [X = 3] = 1/3 mal Pr [Y = 2] = 1/2, wie in der beigefügten Abbildung gezeigt. In unserem vereinfachten Beispiel sind alle Zellen gleich 1/6.
Als Nächstes summieren Sie entlang der schrägen Linien der Außenproduktmatrix, wie im beigefügten Diagramm gezeigt. Jede schräge Linie verläuft durch eine oder mehrere Zellen, die ich gleich gefärbt habe: Die oberste Zeile verläuft durch eine blaue Zelle, die nächste Zeile durch zwei rote Zellen usw.
Jede der Summen entlang der Schrägen repräsentiert eine Wahrscheinlichkeit in der resultierenden Verteilung. Zum Beispiel entspricht die Summe der roten Blutkörperchen der Wahrscheinlichkeit, dass sich die beiden Würfel zu 3 summieren. Diese Wahrscheinlichkeiten sind auf der rechten Seite des beigefügten Diagramms dargestellt.
Diese Technik kann mit zwei beliebigen diskreten Verteilungen verwendet werden mit endlicher Unterstützung. Und Sie können es iterativ anwenden. Wenn Sie beispielsweise die Verteilung von drei sechsseitigen Würfeln (3d6) kennen möchten, können Sie zuerst 2d6 = d6 + d6 berechnen. dann 3d6 = d6 + 2d6.
Es gibt eine freie (aber geschlossene Lizenz) Programmiersprache namens J . Es ist eine Array-basierte Sprache mit ihren Wurzeln in APL. Es verfügt über integrierte Operatoren, mit denen äußere Produkte und Summen entlang der Schrägen in Matrizen ausgeführt werden können, wodurch die von mir dargestellte Technik recht einfach zu implementieren ist.
Im folgenden J-Code definiere ich zwei Verben. Zuerst erstellt das Verb d
ein Array, das die pmf eines s-seitigen Würfels darstellt. Zum Beispiel ist d 6
die pmf eines 6-seitigen Würfels. Zweitens findet das Verb conv
das äußere Produkt zweier Arrays und Summen entlang der schrägen Linien. conv~ d 6
druckt die pmf von 2d6 aus:
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
Wie Sie sehen können, ist J kryptisch, aber knapp .
Antwort
Liebe den Benutzernamen! Gut gemacht 🙂
Die Ergebnisse, die Sie zählen sollten, sind die Würfelwürfe, alle $ 6 \ mal 6 = 36 $, wie in Ihrer Tabelle gezeigt.
Zum Beispiel $ \ frac {1} {36} $ der Zeit, in der die Summe $ 2 $ beträgt, und $ \ frac {2} {36} $ der Zeit, in der die Summe $ 3 $ beträgt, und $ \ frac {4} {36} $ der Zeit Die Summe ist $ 4 $ und so weiter.
Kommentare
- Ich ‚ bin wirklich verwirrt von Dies. Ich beantwortete eine sehr neue Frage eines Neulings von jemandem namens die_hard, der anscheinend nicht mehr existiert, und fand meine Antwort an diesen alten Thread angehängt!
- Ihre Antwort auf die Frage unter stats.stackexchange.com/questions/173434/… wurde mit den Antworten auf dieses Duplikat zusammengeführt.
Antwort
Sie können dies mit einer rekursiven Formel lösen. In diesem Fall werden die Wahrscheinlichkeiten der Würfe mit $ n $ Würfeln durch die Würfe mit $ n-1 $ Würfeln berechnet.
$$ a_n (l) = \ sum_ {l-6 \ leq k \ leq l-1 \\ \ text {und} n-1 \ leq k \ leq 6 (n-1)} a_ {n-1} (k) $$
Die erste Grenze für k in Die Summe sind die sechs vorhergehenden Zahlen. Wenn Sie beispielsweise 13 mit 3 Würfeln würfeln möchten, können Sie dies tun, wenn Ihre ersten beiden Würfel zwischen 7 und 12 würfeln.
Die zweite Grenze für k in der Summe ist die Grenze dessen, mit der Sie würfeln können n-1 Würfel
Das Ergebnis:
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
edit: Die obige Antwort war eine Antwort von einer anderen Frage , die von C. Ross p in die Frage eingefügt wurde >
Der folgende Code zeigt, wie die Berechnungen für diese Antwort (auf die Frage nach 5 Würfeln) in R durchgeführt wurden. Sie ähneln den in Excel in der Antwort von Glen B. em durchgeführten Summierungen.
# 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)})
Kommentare
- @ user67275 Ihre Frage wurde in diese Frage eingefügt. Aber ich frage mich, was Ihre Idee hinter Ihrer Formel steckt: “ Ich habe die Formel verwendet: Keine Möglichkeit, 8: 5_H_2 = 6_C_2 = 15 zu erhalten “ ?
Antwort
Ein Ansatz besteht darin, zu sagen, dass die Wahrscheinlichkeit $ X_n = k $ der Koeffizient von $ x ist ^ {k} $ in der Erweiterung der Erzeugungsfunktion $$ \ 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 $$
Also Zum Beispiel mit sechs Würfeln und einem Ziel von $ k = 22 $ finden Sie $ P (X_6 = 22) = \ frac {10} {6 ^ 6} $. Dieser Link (zu einer math.stackexchange-Frage) bietet auch andere Ansätze
Schreibe einen Kommentar