Maximaal verwacht verschil tussen spelers bij gebruik van 4d6 drop laagste

Spelers van een bepaalde TRPG hebben karakters met 6 vaardigheidsscores, elke vaardigheidsscore varieert van 3-18. Een methode om die te genereren, is door de 4d6-drop het laagst te laten rollen voor elk van de scores. Dat betekent dat er vier dobbelstenen met zes gezichten worden gegooid en dat de drie hoogste resultaten worden opgeteld.

Wat is het verwachte grootste verschil in de som van de vaardigheidsscores tussen 2 van die 5 spelers?

De gerelateerde vraag hier laat zien hoe ik de distributie van 4d3 drop het laagst kan krijgen, maar hoe kom ik van daaruit bij een antwoord op mijn vraag hierboven?

Een goed antwoord zou het resultaat uitleggen op een manier die een beginnende statistiek kan volgen.

Antwoord

$ \ newcommand {\ E} {\ mathbb {E}} $ (Ik schrijf dit in de veronderstelling dat je bekend bent met het manipuleren van kansverdelingen en verwachtingen, maar hopelijk niets bijzonders. Laat me weten of ik iets meer moet uitleggen. Ik doe dit ook op een redelijk computationele manier om alleen een antwoord te krijgen in plaats van alles met de hand te proberen.)

Stel dat we $ n = 5 $ spelers hebben die elk één personage oprollen met 6 vaardigheidsscores, elk aangeduid als $ X_ {ij} $. Definieer $ Y_i = \ sum_ {j = 1} ^ 6 X_ {ij} $ als de som van de vaardigheidsscores van de $ i $ th speler. Vervolgens vraagt u naar de verwachting van $ Z = \ max_ {i , i “} \ lvert Y_i – Y_ {i”} \ rvert = Y _ {(n)} – Y _ {(1)} $, met de notatie dat $ Y _ {(1)} $ de eerste gesorteerde waarde is van $ \ {Y_1, \ dots, Y_n \} $ (dwz het minimum), en $ Y _ {(n)} $ is $ n $ th (het maximum).

Individuele scores $ X_ {ij } $

De gemakkelijkste manier om de distributie van $ X_ {ij} $ te vinden, zoals in het antwoord dat je hebt gelinkt, is door het brute kracht te geven door alle $ 6 ^ 4 = 1296 $ mogelijke worpen in overweging te nemen. Hier is wat snelle Python-code (er is waarschijnlijk een betere manier om dit te doen …):

import numpy as np import matplotlib.pyplot as plt def as_kth_of(a, k, n): """vector a => shape (1, ..., 1, a.size, 1, ..., 1) where new shape is length n, a.size is in kth""" return a[(np.newaxis,) * k + (slice(None),) + (np.newaxis,) * (n - k - 1)] def pmf_drop_lowest(sides, number): rolls = np.arange(1, sides + 1) totals = sum(as_kth_of(rolls, k, number) for k in xrange(number)) mins = np.ones_like(totals) * 10000 for k in xrange(number): mins = np.minimum(mins, as_kth_of(rolls, k, number)) return np.bincount((totals - mins).ravel()) / totals.size score_pmf = pmf_drop_lowest(6, 4) plt.bar(np.arange(score_pmf.size) - .5, score_pmf) 

Totale vaardigheidsscore $ Y_i $

Nu kunnen we de verdeling van de som van vaardigheidsscores vinden, $ Y_i = X_ {i1} + X_ {i2} + \ dots + X_ {i6} $.

Wat is de verdeling van de som van twee onafhankelijke, discrete willekeurige variabelen $ A + B $? Nou, $ \ Pr (A + B = c) = \ sum_ {k = – \ infty} ^ \ infty \ Pr (A = k) \ Pr (B = k – c) $. Het blijkt dat deze bewerking bekend staat als convolutie , en gelukkig heeft numpy een functie om het voor ons te doen. (het gelinkte Wikipedia-artikel heeft er niet veel over wat betreft waarschijnlijkheid; je zou dit kunnen proberen hoofdstuk van Grinstead en Snell .)

Code:

total_pmf = 1 for _ in xrange(6): total_pmf = np.convolve(total_pmf, score_pmf) plt.bar(np.arange(total_pmf.size) - .5, total_pmf) 

Hoogste en laagste waarde van $ Y $

Nu we de verdeling voor $ Y_i $ kennen, is onze vraag: wat is de maximale paarsgewijze afstand tussen twee elementen van $ Y $? Als alternatief, wat is het verschil tussen de hoogste en de laagste $ Y $?

De variabele waar we om geven schrijven als $ Z = Y _ {(n)} – Y _ {(1)} $, hebben we dat $ \ EZ = \ E Y _ {(n)} – \ E Y _ {(1)} $, aangezien de verwachting lineair is. Dit bespaart het werk dat ik deed bij het oorspronkelijk schrijven van dit antwoord bij het berekenen van de gezamenlijke verdeling van de twee. 🙂

Laten we eerst de cumulatieve verdelingsfunctie (cdf) $ \ Pr (Y \ le y) = \ sum_ {k = 0} ^ y \ Pr (Y = k) $ definiëren. Dan is de cdf van $ Y _ {(n)} $ $$ \ begin {align *} \ Pr (Y _ {(n)} \ le y) & = \ Pr \ left (Y_1 \ le y \ text {en} Y_2 \ le y \ text {en} \ dots \ text {en} Y_n \ le y \ right) \\ & = \ prod_ {i = 1} ^ n \ Pr \ left (Y_i \ le y \ right) \\ & = \ Pr (Y \ le y) ^ n \ end {align *} $$ aangezien $ Y_i $ onafhankelijk zijn. Omdat $ Y _ {(n)} $ niet-negatieve gehele getallen accepteert, kunnen we de verwachting berekenen als $$ \ begin {align *} \ E Y _ {(n)} & = \ sum_ {y = 1} ^ \ infty \ Pr (Y _ {(n)} \ ge y) = \ sum_ {y “= 0} ^ \ infty \ Pr (Y _ {(n)} > y”) \\ & = \ sum_ {y “= 0} ^ \ infty \ left (1 – \ Pr (Y _ {(n)} \ le y”) \ right) = \ sum_ {y “= 0} ^ \ infty \ left (1 – \ Pr (Y \ le y “) ^ n \ right). \ End {align *} $$ Code:

n_players = 5 total_cdf = np.cumsum(total_pmf) exp_max = np.sum(1 - total_cdf ** n_players) 

krijgt exp_max ongeveer 81 .5.

Evenzo voor de min: $$ \ begin {align *} \ Pr \ left (Y _ {(1)} \ le y \ right) & = 1 – \ Pr \ left (Y _ {(1)} > y \ right) \\ & = 1 – \ Pr \ left (Y_1 > y \ text {en} \ dots \ text {en} Y_n > y \ right) \\ & = 1 – \ Pr \ left (Y_i > y \ right) ^ n \\ & = 1 – \ left (1 – \ Pr \ left (Y \ le y \ right) \ right) ^ {n} \ end {align *} $$ en de verwachting is: $$ \ E Y _ {( 1)} = \ sum_ {y = 0} ^ \ infty \ Pr (Y _ {(1)} > y) = \ sum_ {y = 0} ^ \ infty \ left (1 – \ Pr \ left (Y \ le y \ right) \ right) ^ n $$

Code:

exp_min = np.sum((1 - total_cdf) ** n_players) 

exp_min krijgen over 65.3.

Het uiteindelijke verwachte verschil tussen de gelukkigste en de meest ongelukkige van 5 spelers is dan een totaal van 16,2 vaardigheidspunten. (Dat is nogal veel!)


Ik zei trouwens dat ik de gezamenlijke verdeling van $ Y _ {(1)} $ en $ Y _ {(n)} $ (as $ \ Pr (Y_ {n} = y “) \ Pr (Y _ {(1)} = y \ mid Y _ {(n)} = y”) $). Het blijkt dat voor vijf spelers de distributie van $ Y _ {(n)} – Y _ {(1)} $ ziet er als volgt uit:

Reacties

  • Merk op dat het misschien beter is om de kwaliteit van een reeks vaardigheden te beoordelen op basis van hun totale puntenaankoopscore in plaats van hun som. Het vervelende hiervan is dat je ' t point-buy een score lager dan 7, dus het ' is niet altijd goed gedefinieerd ….

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *