1 / 9
文档名称:

基本蚁群算法蚂蚁觅食路径的演变.doc

格式:doc   大小:310KB   页数:9页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基本蚁群算法蚂蚁觅食路径的演变.doc

上传人:小辰GG 2022/5/31 文件大小:310 KB

下载得到文件列表

基本蚁群算法蚂蚁觅食路径的演变.doc

相关文档

文档介绍

文档介绍:基本蚁群算法-蚂蚁觅食路径的演变
UNITY3D中进行模拟演算
经过60代之后
蚂蚁在觅食过程中能够在其经过的路径上留下一种称之为信息素的物质,并在觅食过程中能够感知这种物质的强度,并指导自己的行动方向,它们总是朝着信息素强度坐标x
forj=0to网格坐标y
ifsk目标网格序号
n[s-1]=1/EUCLID-DISTANCE(i,j,,)
else
n[s-1]=999
s+=1;
//初始化每条路径上信息素的量
fori=0toN-1
forj=0toN-1
T=1;
算法开始
foriteration=1tonumberOflterations-1
forant=1tonumberOfAnts-1
currentNode=start
a=1
B=8
pathLength=0
//禁忌表初始化,用来记录这一代这一只蚂蚁走过的路,已经走过的路用false表示
fori=0to网格坐标x
forj=0tc网格坐标y
tabu[i][j]=true
tabu[][]=false/起点不让走了
〃下一步可以前往的节点
〃GetNeighbours()见之前发表的A*网格寻路这篇文章
neighbours=GetNeighbours(currentNode);
fori=-1
neighbour=neighbours^];
ifneighbour不是障碍物&&tabu[][]
(neighbour);//可以前往的节点
//蚂蚁未遇到食物并且未陷入死胡同
whilecurrentNode工target&&>=1
//计算走每条路的概率
fori=-1
t[-1][movableRange[i].网格序号]-1]八a
e=n[movableRange[i].网格序号-1]八B
p[i]=t*e
psum=0
fori=-1
psum=p[i]+psum
fori=-1
p[i]=p[i]/psum
〃用赌徒***选择下一步怎么走
pcum[0]=P[0]
pcum[O]=P[0]
fori=-1pcum[i]=pcum[i-1]+p[i]
pindex=0;
random=(,)之间的随机小数
fori=-1
ifpcum[i]>=random
pindex=i
break
nextNode=movableRange[pindex];
//状态更新和记录
(nextNode)
pathLength=pathLength+BetDistance(currentNode,nextNode)currentNode=nextNode
〃已访问过的节点从禁忌表中删除
t