本笔记学习于优达学城 Artificial Intelligence for Robotics课程
将粒子收敛 本方法直接解释原视频中的方法,该作者说简单,高效,也不用多想什么,以后随便直接用就可以。
紧接上一篇博客
车轮法选取粒子
p3=[]
#初始化一个数组下标
index=int(random.random()*N)
beta=0.0
#获取W 中最大的那个数据
maxw=max(w)
#运行N次
for i in range(N):
beta+=random.random()*2.0*maxw
#beta 变量变大
#如果beta 小于w[index] 则直接跳过while 循环
while beta>w[index]:
#如果beta 大于w[index] 则减去该值 同时index值加1 %N 就可以循环 知道beta 小于w[index]
beta-=w[index]
index=(index+1)%N
p3.append(p[index])
p=p3
print p