
上QQ阅读APP看书,第一时间看更新
Gambling, R - betting analysis
Some of the gambling games are really coin flips, with 50/50 chances of success. Along those lines we have coding from http://forumserver.twoplustwo.com/25/probability/flipping-coins-getting-3-row-1233506/ that determines the probability of a series of heads or tails in a coin flip, with a trigger that can be used if you know the coin/game is biased towards one result or the other.
We have the following script:
############################################## # Biased/unbiased recursion of heads OR tails ############################################## import numpy as np import math N = 14 # number of flips m = 3 # length of run (must be > 1 and <= N/2) p = 0.5 # P(heads) prob = np.repeat(0.0,N) h = np.repeat(0.0,N) t = np.repeat(0.0,N) h[m] = math.pow(p,m) t[m] = math.pow(1-p,m) prob[m] = h[m] + t[m] for n in range(m+1,2*m): h[n] = (1-p)*math.pow(p,m) t[n] = p*math.pow(1-p,m) prob[n] = prob[n-1] + h[n] + t[n] for n in range(2*m,N): h[n] = ((1-p) - t[n-m] - prob[n-m-1]*(1-p))*math.pow(p,m) t[n] = (p - h[n-m] - prob[n-m-1]*p)*math.pow(1-p,m) prob[n] = prob[n-1] + h[n] + t[n] prob[N-1]
The preceding code produces the following output in Jupyter:

We end up with the probability of getting three heads in a row with an unbiased game. In this case, there is a 92% chance (within the range of tests we have run 14 flips).