D 算法及仿 D 算法的蚂蚁算法研究.doc
《D 算法及仿 D 算法的蚂蚁算法研究.doc》由会员分享,可在线阅读,更多相关《D 算法及仿 D 算法的蚂蚁算法研究.doc(4页珍藏版)》请在三一办公上搜索。
1、精品论文D 算法及仿 D 算法的蚂蚁算法研究许扬婧 北京邮电大学光通信与光电子学研究院,北京 (100876) E-mail:xyj1007摘要:本文首先介绍了经典的D算法,结合具体例子分析了如何寻找一点到其他点的最短 距离。其次,为了快捷可靠地寻找到满足多媒体QoS保证的路由,结合Dijkstra 算法和蚂蚁算法,从源节点开始,在所有满足QoS要求的邻接链路上泛滥寻路蚂蚁,在到达的所有寻路蚂蚁中选择其最优者复制并继续泛滥,直到最后到达目的节点为止。这样,通过约束条件下 的穷举搜索,最后一定可以找到源节点和目的节点间的满足QoS要求的路由。该算法具有思 路直观、运算量小、强收敛、能自适应网络变
2、动等优点。关键词:D 算法;蚂蚁算法;路由 中图分类号:TN911引言Dijstra 算法又叫 SPF 算法1,它是 Dijstra 提出的一个按长度递增的次序产生最短路径 的方法。从某个源节点到目地节点的最短路径就是所有到目的节点的路径中具有最小权值的 那条。Dijkstra 算法的基本思想是按照路径增加的顺序来寻找最短路径。这在传统的 best-effort 服务中是简单有效的,实际中也得到了最广泛应用。2基本的D算法D 算法可按下述步骤进行:初始化。首先,置定节点集 Vs=v1,其权值 D (v1)=0,此时,不在 Vs 中的其他每 个节点 v 皆未与 v1 相连,即 D(v1,,v)=
3、。其次,若有任一节点 v 欲与 v1 相连,但不一定是最短路径。设其未置定链路权值为d(vi,v)。若有置定节点 vs 经由中间节点 vi 连到未置定节点 vj,其 vs 到 vj 的链路权值则为: D(vs,vj)=D(vs,vi) +d(vi,vj)式中 D(vs,vj)为置定最小链路权值,d(vi,vj)为未置定链路权值。求节点集 V 中指定节点 v1 经 vi 到 vj 最小链路权值路由。要求满足下列关系式: D(v1,vj)=min D(v1,vj), (v1,vj)+d(vi,vj),vjV-VS式中 D(v1,vj)为含有节点 vi 的上次求得的最短径的最小链路权值; d(vi,
4、vj)为本次欲求节点 vi 和 vj 间链路权值; VS 为包含 v1 的置定子集;差集 V-VS 为未置定集。重复步骤 2 多次,直至 全部节点皆在 VS 中。按照最小权值要求,逐步缩小差集 V-VS,扩大置定子集 VS,直至 VSV, 算法结束。下面给出一段 Dijstra 算法的伪代码2。其中 C(i ,j)表示节点 i 到节点 j 的链接开销, 如果不是邻居节点,初始化的时候设置为无穷大;D(v)表示到节点 v 的当前路径的开销; N 表示最后确定的最小路径的节点的集合。下面就是算法的伪代码:Initialization:N=Afor all nodes vif v adjacent
5、to Athen D(v)=C(A,v)-4-else D(v)=inftyLoopfind w not in N such that D(w) is a minimum add w to Nupdate D(v) for all v adjacent to w and not in N; D(v)=min(D(v), D(w)+C(w,v)/*new cost to v is either old cost to v or knownShortest path cost to w plus cost from w to v*/ Until all nodes in NDijkstra算法的基
6、本思想是按照路径增加的顺序来寻找最短路径。这在传统的best-effort服务中是简单有效的,实际中也得到了最广泛应用。但Dijkstra算法存在以下不足3:(1)Dijkstra算法寻路时仅仅依据的是路径长短(常用网络跳数Hop表征),无法满足多 个QoS要求;(2)灵活性差,无法对网络的故障及拥塞做出反应。尽管如此,Dijkstra算法按照路径 增加的顺序来寻找最短路径的思想给我们提供了启发。虽然QoS路由参数不再只包括路径长 度一项,但QoS路由最终还是要把多个QoS参数映射为单一的评价度量,否则选择最优路由 根本无法做到。3改进蚂蚁算法原理借鉴于Dijkstra算法,我们注意到,从综合
7、的QoS评价指标来说,源节点到任何其他一个 节点的众多路径中,最优的路径肯定是唯一的。基于此原理,我们设计一种蚂蚁算法,从源 节点的相邻节点开始,通过蚂蚁泛滥,不断地计算并确定网络中每个节点到源节点的最优路 由,直到找到目的节点为止。3.1 蚂蚁泛滥要寻求网络中两点间的最优路径,可以对连接这两点间的所有路径进行比较,通过蚂蚁 泛滥,能很好地实现。源节点发送蚂蚁时,向它的所有满足QoS 要求的邻接点发送蚂蚁, 相邻节点把蚂蚁复制并向它的所有满足QoS 要求的相邻节点发送(刚才蚂蚁过来的那个节 点除外),为了防止蚂蚁无限制增长,每个应用对应的一批蚂蚁具有相同的ant-id,并做到: 蚂蚁要携带所有
8、经过路径的QoS 参数等必要信息,每当节点收到蚂蚁,都要跟先前到达的 相同ant-id 的蚂蚁比较,如果蚂蚁所经路径性能不比先前的好,就让该蚂蚁死亡,不再转发 蚂蚁。这样,保证了中间节点只把携带源节点到它的最优路径的蚂蚁得以转发出去,防止了 蚂蚁过度泛滥。如果网络中存在着符合要求的路径,寻路蚂蚁就一定能找到并原路返回通知 源节点。3.2 改进算法的具体实现3.2.1 人工蚂蚁设置ant(ant-id,source,aim,pssed -line,Line-fittness,QoSes,success),参数对应为4: 蚂蚁的应用标识号,源节点,目的节点,搜索路线,路线适应度,参数要求(QoSe
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法及仿 算法的蚂蚁算法研究 算法 蚂蚁 研究

链接地址:https://www.31ppt.com/p-5190303.html