随机游走(Random Walk)搜索算法
作者:互联网
随机游走(Random Walk)搜索算法
随机游走算法
定义:随机游走,概念接近于布朗运动,是布朗运动的理想数学状态。
核心概念:任何无规则行走者所带的守恒量都各自对应着一个扩散运输定律。
随机游走算法的基本思想是:
从一个或一系列顶点开始遍历一张图。在任意一个顶点,遍历者将以概率1-a游走到这个顶点的邻居顶点,以概率a随机跳跃到图中的任何一个顶点,称a为跳转发生概率,每次游走后得出一个概率分布,该概率分布刻画了图中每一个顶点被访问到的概率。用这个概率分布作为下一次游走的输入并反复迭代这一过程。当满足一定前提条件时,这个概率分布会趋于收敛。收敛后,即可以得到一个平稳的概率分布。
随机游走搜索算法
在随机游走的基础上,每走一步就判断一次我们需要的数。
import random#首先导入这个python自带的算法
position=0#让游走开始的起点为0
walk=[]
step=1000
for i in range(step):
step=1 if random.randint(0,1) else -1
position+=step
walk.append(position)#walk中存的是随机行走的数
flag = False
for i in range(0,len(walk)):#遍历这个walk
if(walk[i]==5):#进行判断,然后停止循环
p=True
flag=True
break
if flag:#停止所有循环别忘了上边的flag = False
break
print(walk)#打印这个数组
标签:概率分布,Random,搜索算法,walk,step,随机,顶点,游走,Walk 来源: https://blog.csdn.net/Huacheng__/article/details/115283206