路由模拟——论文算法设计部分(4)

来源:互联网 发布:all of the stars知乎 编辑:程序博客网 时间:2024/06/05 02:54

 

                    §3.3 Floyed路由算法与演化路由算法实验数据分析
    算法的测试数据,使用图7中的网络结构。则网络的拓扑信息与耗散信息分别为:

拓扑信息矩阵耗散信息矩阵

1 1 1 0 0

1 1 0 1 0

1 0 1 1 0

0 1 1 1 1

0 0 0 1 1

0 2 3 1000000 1000000

2 0 1000000 6 1000000

3 1000000 0 4 1000000

1000000 6 4 0 5

1000000 1000000 1000000 5 0

                                                         表8  算法测试数据网络信息表
       注释:耗散信息中,1000000表示无穷大。
      
3.3.1 Floyed路由算法分析
       我们知道Floyed算法的复杂度是O(n3)的,但改造的Floyed路由算法的复杂度略微大于这个。因为算法的停机条件是路由表的完成。可以证明,Floyed路由算法对于连通图计算所得的路由表是全局最优的。证明本文从略,详见于参考资料[2]。
       下面是五次实验算法的测试结果:



实验标号 源路由器标号 计算路由表所耗时间(ms) 平均时间(ms) 
1                  0                         109                                           - 
2                  0                         109                                           - 
3                  0                         110                                           - 
4                  0                         110                                           - 
5                  0                         109                                           - 



                                             表9  Floyed算法测试结果表
      该表格的数据将作为一种对比标准,与后面的演化路由算法的测试数据进行对比分析。
      3.3.2 演化路由算法分析
      1,演化路由算法的参数设置
      演化路由算法的参数设置如下:

名称说明算法设定值
MAX_GENE_NUMBER种群大小20
GENE_LENGTH基因最大长度100
PBUILDER保守成长与开明成长的分界概率0.08
MAX_T演化代数10

                          表10  演化路由算法参数设置说明表
       这些参数的设置,都是根据个人经验。但并不一定是最优的。我们下面竟通过实验数据来分析算法的性能。
       2,演化路由算法收敛性的说明
       但首先要说明的是,演化路由算法是收敛的。
       研究演化路由算法Algorithm EvoRoutCompute,可知算法的收敛性关键在于下面的过程收敛:
                     While ( gene IS NOT COMPLETE )
                     { // gene成长至成熟
                            Gene-Builder;
                            If ( Gene-DECOMPLETE )
                                  Gene-RANDOMDELETE;
                     };
       此过程用于gene初始化后,或gene成熟后的进一步演化中。
       如定义,非空gene中的元素始终包含from与to。且由算法Algorithm 5. Gene-Builder可知,gene新增的片段都是gene的对立基因_gene中的元素,由对立基因的定义可知:
       gene中元素的序列是NodeSet集合或其子集的元素的排列,记为from p1…pm to。其中p1,…,pm都是NodeSet集合的元素即 图中的结点。(1)
       如果(1)中排列所形成的“路径”在图中是合法的,即gene处于成熟态(COMPLETE),该过程结束,演化路由算法收敛。
       如果(1)中排列所形成的“路径”在图中不合法,则gene继续成长;若对立基因_gene已为空,由算法Algorithm 6. Gene-DECOMPLETE可以判断这种情况,则由算法Algorithm 7. Gene-RANDOMDELETE对gene随机删除一段(gene可能再次成为初始态)而重新成长。
       换言之,该过程是按照随机策略搜索NodeSet集合中元素排列空间的序列点,如果该序列是图中合法的路径则搜索过程结束。由于图的连通性,合法路径在这个空间中是必然存在的,这个过程也将收敛,则演化路由算法是收敛的。
       3,演化路由算法分析
       下面是演化路由算法的测试结果:



目标路由器标号 演化代数(第?代) 路由计算所耗时间(ms) 平均时间(ms) 
0                                 0                             47                                           - 
0                                 1                             16                                           - 
0                                 2                              0                                            - 
0                                 3                             18                                           - 
0                                 4                              0                                            - 
0                                 5                             26                                           - 
0                                 6                              0                                            - 
0                                 7                             16                                           - 
0                                 8                              15                                          - 
0                                 9                              16                                         15.4 
1                                 0                              15                                           - 
1                                 1                               0                                            - 
1                                 2                              16                                           - 
1                                 3                              16                                           - 
1                                 4                               0                                            - 
1                                 5                               15                                          - 
1                                 6                               16                                          - 
1                                 7                               16                                          - 
1                                 8                               15                                          - 
1                                 9                               16                                        12.5 
2                                 0                               16                                          - 
2                                 1                               16                                          - 
2                                 2                               15                                          - 
2                                 3                               16                                          - 
2                                 4                               16                                          - 
2                                 5                               31                                          - 
2                                 6                               15                                          - 
2                                 7                               16                                          - 
2                                 8                               16                                          - 
2                                 9                               15                                        17.2 
3                                 0                                0                                           - 
3                                 1                               31                                          - 
3                                 2                               16                                          - 
3                                 3                               15                                          - 
3                                 4                               16                                          - 
3                                 5                               16                                          - 
3                                 6                                15                                         - 
3                                 7                               32                                          - 
3                                 8                               15                                          - 
3                                 9                               16                                        17.2 
4                                 0                               62                                          - 
4                                 1                               47                                          - 
4                                 2                               31                                          - 
4                                 3                               32                                          - 
4                                 4                                31                                         - 
4                                 5                                31                                         - 
4                                 6                                31                                         - 
4                                 7                                32                                         - 
4                                 8                                62                                         - 
4                                 9                                31                                        39.0 
-                                  -                                 -                                  总时间:101.3 



                                                   表11  演化路由算法测试结果表
         对于图7的测试数据,实验结果表明,演化路由算法在执行过程中,每一代的演化获得的路由路径均是全局最优的(当然,原因之一是网络结构的测试数据量太小)。测试结果表中的总时间,就是通过一代演化获得路由表的平均总时间。
        与Floyed路由算法实验数据对比,演化路由算法在图7网络中的测试数据上并没有很大的优势:

       Floyed路由算法完成0号路由器的路由表计算,平均总时间是在109-110ms; 演化路由算法完成0号路由器的路由表计算(按演化一代计算),平均总时间为101.3ms。
         但演化算法的优势在于对于大规模增长速度的问题有很好的处理能力,所以对于图7中的网络该优势并不能完全展现。
         另外,保守成长与开明成长的分界概率PBUILDER是个关键的参数,开明成长促使搜索空间的增大,而保守成长促使算法搜索过程更快的收敛,所以PBUILDER调整的是两个相反相成的因素,在图7的测试数据中,该值是针对问题的规模设定的。有理由相信,这个参数需要针对问题的规模变化进行调整,以获得更好的性能。还有就是,种群的大小和演化代数的设置,都影响算法的效率,也需要考虑问题的规模进行调整。
         3.3.3 对演化路由算法改进的建议
         演化路由算法中也已经说明,算法实现的是第二草稿,成熟态gene集合geneSet中的一半基因没有进一步演化而直接进入下一代的竞争,而成熟态gene的进一步演化(Algorithm 9. Gene-Evolution.)仍只是个框架,且没有考虑杂交的因素;在演化路由算法的改进过程中,这些将是首先考虑的因素。
         由实验数据的对比分析中,也可以看出演化路由算法的演化参数也是至关重要的。一个好的建议是,保守成长与开明成长的分界概率PBUILDER和演化代数MAX_T都设置为问题规模的函数。探索这些函数是有意义的事情。
         另外,程序的实现可以采用高效的方式。如演化路由算法中有排序算法的应用,本文采取的是插值排序算法,但问题规模增大后可采取更有效率的排序算法如快速排序。
演化路由算法的整体框架也可以进一步探索而进行改进。本文不再详述。

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 恶魔猎手第二神器任务没选择怎么办 电脑放久了开不了机怎么办 你在主持时说错话了怎么办 1、你在主持时说错话了怎么办? 领导让你替他参加重要会议怎么办 在备孕期老公照了片怎么办 和混混打架后被混混纠缠怎么办 开了一年的瑜伽馆想关掉会员怎么办 广东工厂宿舍里面床板有臭虫怎么办 胃癌手术后12天引流液多怎么办 八个月了胎儿头还在上面怎么办 喂奶一个月后奶头又裂开了怎么办 孩子吃奶吃的奶头裂开了怎么办 很想打坐久就是受不了腿疼怎么办 宝宝含乳一直纠正不过来怎么办 婴儿衘乳不正确只吸乳头怎么办 怀孕7个月了晚上睡不着怎么办 尚德学校学费交了一半退学怎么办 随着年龄的增长胸越来越来小怎么办 运动文胸里边的海绵垫会乱跑怎么办 带胸罩时在外面忽然扣子开了怎么办 我的脸一边大一边小怎么办 桶装水盖子吸在饮水机了怎么办? 孕37周大腿内侧被内裤磨烂怎么办 生存指南合成的时候闪退怎么办 王者荣耀队友用语音骂我怎么办? 轨道衡电子计量数据不对上怎么办 孕5个月胎儿发育慢怎么办 扎高马尾后面头发扎不上去怎么办 吃了不太新鲜的肉怎么办 军训腿疼的蹲不下去怎么办 面对对老师不尊重的学生该怎么办? 当学生犯了错老师应该怎么办? 用木棒按摩脚底感觉有疙瘩怎么办 人流后按摩造成子宫复位不好怎么办 留守儿童不去学校你该怎么办 在校读书的留守儿童自身应该怎么办 进行定向越野活动时迷路了怎么办 温十系统更新后卡死无法开机怎么办 在武术比赛中被打昏了了怎么办 孩子被欺负了怎么办怎么告诉孩子