Jaki jest rozkład różnych kostek wielościennych rzucanych jednocześnie?

15

Weź 5 brył platońskich z zestawu kości Lochów i Smoków. Składają się one z kostek 4-stronnych, 6-stronnych (konwencjonalnych), 8-stronnych, 12-stronnych i 20-stronnych. Wszystkie zaczynają się od cyfry 1 i liczą w górę o 1 do ich sumy.

Rzuć je wszystkie naraz, weź ich sumę (minimalna suma to 5, maksimum to 50). Zrób to wiele razy. Jaka jest dystrybucja?

Oczywiście będą dążyć do niskiego poziomu, ponieważ jest ich więcej niż niżej. Ale czy na każdej granicy indywidualnej kości będą widoczne punkty przegięcia?

[Edycja: Najwyraźniej to, co wydawało się oczywiste, nie jest. Według jednego z komentatorów średnia wynosi (5 + 50) /2 = 27,5. Nie spodziewałem się tego. Nadal chciałbym zobaczyć wykres.] [Edytuj2: Bardziej sensowne jest, aby rozkład n kości był taki sam jak każdej kości oddzielnie, razem wzięte.]

Marcos
źródło
1
Czy masz na myśli, jaki jest rozkład sumy dyskretnych mundurów ? [1,4]+[1,6]+[1,8]+[1,12]+[1,20]
gung - Przywróć Monikę
2
Jednym ze sposobów sprawdzenia tego jest symulacja. W R: hist(rowSums(sapply(c(4, 6, 8, 12, 20), sample, 1e6, replace = TRUE))). W rzeczywistości nie dąży do niskiego poziomu; z możliwych wartości od 5 do 50, średnia wynosi 27,5, a rozkład (wizualnie) nie jest daleko od normy.
David Robinson
2
Mój zestaw D&D ma zarówno d10, jak i 5, o których wspominasz (plus dekadera, który, jak przypuszczam, nie obejmuje)
Glen_b
1
Wolfram Alpha dokładnie oblicza odpowiedź . Oto funkcja generowania prawdopodobieństwa , z której można bezpośrednio odczytać rozkład. BTW, to pytanie jest szczególnym przypadkiem tego, który został zadany i udzielił dokładnej odpowiedzi na stronie stats.stackexchange.com/q/3614 i stats.stackexchange.com/questions/116792 .
whuber
2
@AlecTeal: Spokojnie, twardzielu. Gdybyś zrobił swoje badania, zobaczyłbyś, że nie mam komputera, aby sam przeprowadzić symulację. A toczenie się 100 razy nie wydawało się tak skuteczne w przypadku tak prostego pytania.
Marcos,

Odpowiedzi:

18

Nie chciałbym tego robić algebraicznie, ale można obliczyć pmf po prostu (to po prostu splot, który jest naprawdę łatwy w arkuszu kalkulacyjnym).

Obliczyłem je w arkuszu kalkulacyjnym *:

i        n(i)   100 p(i)
5         1     0.0022
6         5     0.0109
7        15     0.0326
8        35     0.0760
9        69     0.1497
10      121     0.2626
11      194     0.4210
12      290     0.6293
13      409     0.8876
14      549     1.1914
15      707     1.5343
16      879     1.9076
17     1060     2.3003
18     1244     2.6997
19     1425     3.0924
20     1597     3.4657
21     1755     3.8086
22     1895     4.1124
23     2014     4.3707
24     2110     4.5790
25     2182     4.7352
26     2230     4.8394
27     2254     4.8915
28     2254     4.8915
29     2230     4.8394
30     2182     4.7352
31     2110     4.5790
32     2014     4.3707
33     1895     4.1124
34     1755     3.8086
35     1597     3.4657
36     1425     3.0924
37     1244     2.6997
38     1060     2.3003
39      879     1.9076
40      707     1.5343
41      549     1.1914
42      409     0.8876
43      290     0.6293
44      194     0.4210
45      121     0.2626
46       69     0.1497
47       35     0.0760
48       15     0.0326
49        5     0.0109
50        1     0.0022

Tutaj jest liczbą sposobów uzyskania każdego całkowitego i ; p ( i ) to prawdopodobieństwo, gdzie p ( i ) = n ( i ) / 46080 . Najbardziej prawdopodobne wyniki występują mniej niż 5% czasu.n(i)ip(i)p(i)=n(i)/46080

Oś y jest prawdopodobieństwem wyrażonym w procentach. wprowadź opis zdjęcia tutaj

* Metoda, którą zastosowałem, jest podobna do procedury opisanej tutaj , chociaż dokładna mechanika związana z jej konfiguracją zmienia się wraz ze zmianami szczegółów interfejsu użytkownika (ten post ma teraz około 5 lat, chociaż zaktualizowałem go około rok temu). I tym razem użyłem innego pakietu (tym razem zrobiłem to w LibreOffice's Calc). Ale to jest sedno tego.

Glen_b - Przywróć Monikę
źródło
Niesamowite, wcale nie spodziewałem się symetrycznego rozkładu. Nie jestem pewien, dlaczego moja intuicja była tak odległa.
Marcos
6
Suma niezależnych symetrycznych zmiennych losowych ma również symetryczny rozkład.
Glen_b
Niezła zasada. Czy to gdzieś opublikowano?
Marcos
3
Tak, ale moim zdaniem było zbyt trywialne, aby czasopismo je opublikowało, byłoby to tylko ćwiczenie dla studenta. Możesz skorzystać z faktu, że funkcja charakterystyczna zmiennej losowej, która jest symetryczna wokół źródła, jest rzeczywista, a nawet (co można to znaleźć na stronie wikipedii dotyczącej funkcji charakterystycznej ) - cóż, i myślę, że potrzebujesz tej -to-jedna właściwość cfs vs pmfs również, lub użyj podwójnego związku, aby ustalić, że nawet cf implikuje również symetryczny pmf ...
Glen_b
2
... i fakt, że iloczyn funkcji parzystych jest parzysty, ale w rzeczywistości jest to oczywiste po prostu z bezpośredniego zastanowienia się, jak działa splot - w splotie dwóch funkcji symetrycznych (w tym przypadku pmfs), dla każdego terminu w sumie na jednym końcu na drugim końcu znajduje się odpowiednia nazwa o tym samym rozmiarze, symetrycznie rozmieszczona wokół środka.
Glen_b
7

Więc stworzyłem ten kod:

d4 <- 1:4  #the faces on a d4
d6 <- 1:6  #the faces on a d6
d8 <- 1:8  #the faces on a d8
d10 <- 1:10 #the faces on a d10 (not used)
d12 <- 1:12 #the faces on a d12
d20 <- 1:20 #the faces on a d20

N <- 2000000  #run it 2 million times
mysum <- numeric(length = N)

for (i in 1:N){
     mysum[i] <- sample(d4,1)+
                 sample(d6,1)+
                 sample(d8,1)+
                 sample(d12,1)+
                 sample(d20,1)
}

#make the plot
hist(mysum,breaks = 1000,freq = FALSE,ylim=c(0,1))
grid()

Rezultatem jest ten spisek. wprowadź opis zdjęcia tutaj

Wygląda dość gaussowsko. Myślę, że my (ponownie) mogliśmy wykazać wariację na temat twierdzenia o granicy centralnej.

EngrStudent - Przywróć Monikę
źródło
2
Hmm, najniższy rzut w twojej symulacji to 6. Prawdopodobieństwo rzutu (lub dowolnego pojedynczego rzutu, zachowując tożsamość matrycy) wynosi 1: 4 * 1: 6 * 1: 8 * 1: 10 * 1: 12 * 1: 20 = 1: 460800. Moje procedury wymagałyby wielkości próbki N co najmniej dwukrotnie (być może 4x) tej ilości (jak limit Nyquista), aby ujawnić wszelkie błędy w moim modelowaniu.
Marcos
Moje doświadczenie z Nyquist również mówi 4x minimum. ... gotowy. Jeśli 2 miliony to za mało, daj mi znać, co powinno być.
EngrStudent - Przywróć Monikę
3
n
1
@EngrStudent: BTW, czy twój wynik nie potwierdza CLT?
Marcos,
1
@Doctor nie, nie potwierdza CLT z wielu powodów
Glen_b
7

Mała pomoc dla twojej intuicji:

Najpierw zastanów się, co się stanie, jeśli dodasz jedną do wszystkich ścian jednej kości, np. D4. Zatem zamiast 1,2,3,4 twarze pokazują teraz 2,3,4,5.

Porównując tę ​​sytuację do oryginału, łatwo zauważyć, że łączna suma jest teraz o jeden wyższa niż kiedyś. Oznacza to, że kształt rozkładu pozostaje niezmieniony, wystarczy przesunąć o jeden krok w bok.

Teraz odejmij średnią wartość każdej kości z każdej strony tej kości.

Daje to zaznaczone kości

  • -3)2)-12)12)3)2)
  • -52)-3)2)-12)12)3)2)52)
  • -72)-52)-3)2)-12)12)3)2)52)72)

itp.

Teraz suma tych kości powinna nadal mieć taki sam kształt jak oryginał, tylko przesunięta w dół. Powinno być jasne, że suma ta jest symetryczna wokół zera. Dlatego pierwotny rozkład jest również symetryczny.

Stig Hemmer
źródło
4

P.(X=ja)=p(ja)
Xja0,1,,n(0,1/6,1/6,1/6,1/6,1/6,1/6)p(t)=06p(ja)tjaq(jot)jot0,1,,mp(t)q(t)
> p  <-  q  <-  c(0, rep(1/6,6))
> pq  <-  convolve(p,rev(q),type="open")
> zapsmall(pq)
 [1] 0.00000000 0.00000000 0.02777778 0.05555556 0.08333333 0.11111111
 [7] 0.13888889 0.16666667 0.13888889 0.11111111 0.08333333 0.05555556
[13] 0.02777778

i możesz sprawdzić, czy jest to poprawne (ręcznie obliczone). Teraz prawdziwe pytanie: pięć kości z 4,6,8,12,20 stronami. Wykonam obliczenia przy założeniu jednolitych sond dla każdej kości. Następnie:

> p1  <-  c(0,rep(1/4,4))
> p2 <-  c(0,rep(1/6,6))
> p3 <-  c(0,rep(1/8,8))
> p4  <-  c(0, rep(1/12,12))
> p5  <-  c(0, rep(1/20,20))
> s2  <-  convolve(p1,rev(p2),type="open")
> s3 <-  convolve(s2,rev(p3),type="open")
> s4 <-  convolve(s3,rev(p4),type="open")
> s5 <- convolve(s4, rev(p5), type="open")
> sum(s5)
[1] 1
> zapsmall(s5)
 [1] 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00002170
 [7] 0.00010851 0.00032552 0.00075955 0.00149740 0.00262587 0.00421007
[13] 0.00629340 0.00887587 0.01191406 0.01534288 0.01907552 0.02300347
[19] 0.02699653 0.03092448 0.03465712 0.03808594 0.04112413 0.04370660
[25] 0.04578993 0.04735243 0.04839410 0.04891493 0.04891493 0.04839410
[31] 0.04735243 0.04578993 0.04370660 0.04112413 0.03808594 0.03465712
[37] 0.03092448 0.02699653 0.02300347 0.01907552 0.01534288 0.01191406
[43] 0.00887587 0.00629340 0.00421007 0.00262587 0.00149740 0.00075955
[49] 0.00032552 0.00010851 0.00002170
> plot(0:50,zapsmall(s5))

Fabuła pokazana jest poniżej:

wprowadź opis zdjęcia tutaj

Teraz możesz porównać to dokładne rozwiązanie z symulacjami.

kjetil b halvorsen
źródło
1

Centralne twierdzenie graniczne odpowiedzi na swoje pytanie. Chociaż jego szczegóły i dowody (i ten artykuł w Wikipedii) są nieco zadziwiające, ich istota jest prosta. Według Wikipedii stwierdza to

suma pewnej liczby niezależnych i identycznie rozmieszczonych zmiennych losowych ze skończonymi wariancjami będzie zmierzać do rozkładu normalnego wraz ze wzrostem liczby zmiennych.

Szkic dowodu dla twojej sprawy:

Kiedy mówisz „rzuć wszystkimi kostkami jednocześnie”, każdy rzut wszystkich kości jest zmienną losową.

Twoje kości mają wydrukowane skończone liczby. Suma ich wartości ma zatem skończoną wariancję.

Za każdym razem, gdy rzucisz wszystkimi kostkami, rozkład prawdopodobieństwa wyniku jest taki sam. (Kości nie zmieniają się między rzutami.)

Jeśli rzucisz kostkami rzetelnie, to za każdym razem, gdy je rzucisz, wynik jest niezależny. (Poprzednie rzuty nie wpływają na przyszłe rzuty).

Niezależny? Czek. Identycznie dystrybuowany? Czek. Skończona wariancja? Czek. Dlatego suma zmierza w kierunku rozkładu normalnego.

Nie miałoby nawet znaczenia, czy rozkład dla jednego rzutu wszystkich kości byłby przekrzywiony w kierunku dolnego końca. Nie miałbym znaczenia, gdyby w tej dystrybucji były guzki. Całe sumowanie wygładza go i czyni z niego symetryczny gaussowski. Nie musisz nawet wykonywać algebry ani symulacji, aby to pokazać! To zaskakujący wgląd CLT.

Paul Cantrell
źródło
3
Chociaż CLT jest istotny i jak pokazują inne posty, rozkłady są w przybliżeniu gaussowskie, mamy do czynienia tylko z sumą 5 niezależnych nieidentycznych rozkładów. A zatem punkt 1) 5 nie jest wystarczająco duży, by móc wysunąć twierdzenie, które stosuje się „w nieskończoności”. Punkt 2) nie możesz użyć waniliowego CLt, ponieważ rzeczy, które sumujesz, nie są ważne. Myślę, że potrzebujesz CLT Lyapunova.
Peter
2
Nie potrzebujesz Centralnego Twierdzenia Granicznego, aby powiedzieć, że suma niektórych niezależnych zmiennych losowych z rozkładami symetrycznymi względem ich odpowiednich centrów ma rozkład symetryczny względem sumy centrów.
Henry
@Peter: Brakuje mi struktury mojego dowodu. OP mówi „rzuć je wszystkie naraz”. Każdy rzut wszystkich kości traktuję jako jedną losową zmienną. Te losowe zmienne mają identyczny rozkład. Nie ma potrzeby Lyapunova. Ponadto OP mówi „rób to wiele razy”, co rozumiem przez „limit”, więc twój punkt 1 jest nieważny. Nie sumujemy tutaj tylko jednego rzutu 5 kości.
Paul Cantrell
2
@PaulCantrell Każdy rzut wszystkimi kostkami jest sumą pięciu niezależnych zmiennych nieidentycznie rozłożonych. OP pyta o podział tej sumy. Możesz wykonać wiele rzutów 5 kostkami, ale to tylko próbkowanie z rozważanej dystrybucji, nikt nie sumuje tych próbek.
Peter
1
@PaulCantrell Myślę, że to zależy od tego, jak interpretujesz „Zrób to wiele razy”. Zrób to wiele razy, a następnie zsumuj ponownie (uzyskanie jednej wartości), lub zrób to wiele razy i spójrz na histogram tych próbek (uzyskanie wielu wartości). Przyjąłem tę drugą interpretację.
Peter