We need to keep the probabilities for each combination of total and the mimimum
For 1d6 the probabilities of each (total, minimum) options are trivially P(1,1)=P(2,2)=P(3,3)=P(4,4)=P(5,5)=P(6,6)=1/6 . Anything else=0
Given two distributions, P&Q the probabilities for the combined distribution R can be found as follows
R(t,m)=sum of all P(t1,m1)*Q(t2*m2) where t=t1+t2 and (m=m1 and m2>m1) or (m=m2 and m1>m2)
Spoiler: ugly code
Show
Code:
first={(1,1):1.0/6,(2,2):1.0/6,(3,3):1.0/6,(4,4):1.0/6,(5,5):1.0/6,(6,6):1.0/6}
count=1
def Combine(P,Q):
output={} #use a dictionary to store combinations (not an efficient way of doing it)
for (t1,m1) in P.keys():
for (t2,m2) in Q.keys():
res=(t1+t2, min(m1,m2))
global count
count=count+1 #keep record of loop calls
#Add to relevant total
if res in output:
output[res]=output[res]+P[(t1,m1)]*Q[(t2,m2)]
else:
output[res]=P[(t1,m1)]*Q[(t2,m2)]
return output
#When complete we can find the boxes that have the same Advantaged toal
def conclude(P):
output={}
for (t,m) in P.keys():
if (t-m) in output:
output[t-m]=output[t-m]+P[(t,m)]
else:
output[t-m]=P[(t,m)]
total=0.0
for i in range(1,100000):
if i in output:
print (str(i)+":"+str(output[i]),)
total=total+output[i]
print total #should be 1
dists=[first]
for t in range(0,10):
print t
dists.append(Combine(dists[t],dists[t]))
conclude(dists[2])
print count
For 4 Die I get
('3:0.000771604938272',)
('4:0.00308641975309',)
('5:0.00771604938272',)
('6:0.0162037037037',)
('7:0.0293209876543',)
('8:0.0478395061728',)
('9:0.0702160493827',)
('10:0.0941358024691',) (3Die Average)
('11:0.114197530864',)
('12:0.128858024691',)
('13:0.132716049383',) Peak
('14:0.123456790123',) (4 die Average)
('15:0.101080246914',)
('16:0.0725308641975',)
('17:0.0416666666667',)
('18:0.0162037037037',)
1.0
Note of course that totals over the penultimate die are impossible, and it's slightly right shifted compared to 3die. This probably is quite an easy correction factor to apply.
And for 32 die, comparing with loss to without loss
('100:0.021707013425--0.0192154853948',)
('101:0.0242586764818--0.0217067732967',)
('102:0.0268211110944--0.0242583239806',)
('103:0.0293391593033--0.0268206039946',)
('104:0.0317538474--0.0293384442643',)
('105:0.0340045759349--0.0317528589834',)
('106:0.0360315747804--0.0340032363284',)
('107:0.0377784890122--0.0360297945553',)
('108:0.03919494263--0.0377761692339',)
('109:0.0402389197576--0.0391919785996',)
('110:0.0408788082362--0.0402352065533',)
('111:0.0410949685986--0.0408742480647',)
('112:0.040880721116--0.0410894797497',)
('113:0.0402426826143--0.0408742480647',)
('114:0.0392004297442--0.0402352065533',)
('115:0.0377855124168--0.0391919785996',)
('116:0.0360398860242--0.0377761692339',)
('117:0.0340138699218--0.0360297945553',)
('118:0.0317637691675--0.0340032363284',)
('119:0.02934931438--0.0317528589834',)
('120:0.0268310796842--0.0293384442643',)
('121:0.0242680312008--0.0268206039946',)
('122:0.0217153397571--0.0242583239806',)
('123:0.0192225637806--0.0217067732967',)
0.784415286462
Again note the peak value is one less for the 'with subtraction', [but it is clearly a different shape with a flatter local surface. ETA actually it's pretty similar if I don't mix up the non subtraction version]
Note also that it is 1 less than the total die, you probably also want to compare it with the case where you never rolled the lost die, where the average will be 2.5 higher (I think).
It also takes minutes to do 1024 die (there are 36000 possible batches outcomes), and the results are effectively 0 on the tail (which I think will mean the centre will be very very similar, but I don't know).