Alias 抽样算法 python实现
def alias_setup(probs):
"""
以图为例,凡是4代表的就是概率类型数的意思
a,记录下面那些部分的概率值(乘以4以后)
b,记录上面部分来自哪个根柱子,用哪根柱子的不来用来补足,使之概率为1
:param probs: 是一个概率的list
:return:
"""
num = len(probs)
a = np.zeros(num, dtype=np.float32)
b = np.ones(num, dtype=np.int)*-1 # -1 用来表示,本身自己就足够了,和那些用第一根柱子(下标0)的区分开来
small, large = [