几何分布随机变量的模拟同样不需要从头去search,可以用通项公式来表达
这里还是以uniform distribution为基础的
几何分布:
P{X=i} = pq^(i-1), i>=1, q=1-p
由 ∑(i=1 to j-1)P{X=i} = 1 - P{X> j-1} = 1 - P{前j-1次全都是失败的} = 1 - q^(j-1), j>=1
令 X=j if 1 - q^(j-1) <= U < 1 - q^j,
得 X=min{ j : q^j<1-U } (推导时注意由于q小于0,因此j越小q^j越大)
继续推可以得到 X=min{ j : j*LOG(q)<LOG(1-U) } = min{ j : j>LOG(1-U) /LOG(q) }
最终有 X=Int( LOG(1-U) /LOG(q) )+1 = Int( LOG(U) /LOG(q) )+1, (1-U与U都是uniform distribution的)