我有一个遗传算法,目前正在使用轮盘赌选择来产生新的人口,我想将其更改为随机通用抽样。
我对这里的工作方式有一个粗略的概述:
pointerDistance = sumFitness/popSize
start = rand.uniform(0, pointerDistance)
for i in xrange(popSize):
pointers.append(start + i*pointerDistance)
cumulativeFit = 0
newIndiv = 0
for p in pointers:
while cumulativeFit <= p:
cumulativeFit += pop[newIndiv].fitness
newPop[newIndiv] = copy.deepcopy(pop[newIndiv])
newIndiv += 1
但我正在努力解决如何准确地实现随机通用采样。有谁知道一些伪代码的好来源,或者一个例子?
用一个例子简要描述什么是随机通用采样(但我不确定它是否有意义?):