| |
BGonline.org Forums
Probability of hitting a checker from a long running start
Posted By: ah_clem In Response To: Probability of hitting a checker from a long running start (rambiz)
Date: Tuesday, 8 July 2025, at 1:35 p.m.
Yes, thanks for the corrections. It now converges to .387755102040816238 in about 300 iterations which is the same value that Bob posted. Here's the output for the first 24 iterations:
1 0.3055555555555556
2 0.3333333333333333
3 0.3888888888888889
4 0.433641975308642
5 0.46064814814814814
6 0.5555555555555556
7 0.2941529492455418
8 0.3595679012345679
9 0.39752657750342935
10 0.3903987578113092
11 0.39325417238225885
12 0.4455006382411218
13 0.3808167395933886
14 0.37082682390895694
15 0.39584246240410503
16 0.39051131293266794
17 0.37425113504779933
18 0.39742751753016803
19 0.3714784662583534
20 0.40114428387815315
21 0.38069741326472967
22 0.3806539554810836
23 0.3760543563411474
24 0.404552291102044
and the modified code:
def prob(length):
hit = [0,11,12,14,15,15,17,6,6,5,3,2,3] #number of shots from n away
hit.extend([0,0,1,1,0,1,0,1,0,0,0,1])
short = [0,0,0,2,3,4,4,6,5,4,2,2,1] #number of ways to roll exactly n
short.extend([0,0,0,1,0,0,0,1,0,0,0,1])
p=[0] # p[n] is the probability of hitting from n pips away
for n in range(length +1):
if n == 0:
continue
if n <= 24: #possibly a shot this roll
p.append(hit[n]/36)
else:
p.append(0) #no possibility of a shot this roll
for i in range(n):
#add the probabilities of all the rolls that are short of the blot
if i == 0:
continue
if n-i > 0 and n-i < len(short):
p[n] = p[n] + short[n-i]*p[i]/36
for n in range(length +1):
print(f'{n} {p[n]}')
prob(350)
| |
BGonline.org Forums is maintained by Stick with WebBBS 5.12.