基于路径阻断的求解最短路径的BFS算法研究

路径阻断论文 广度优先遍历论文 复杂网络论文
论文详情
最近几年,随着网络的诞生与兴起,网络学科被广泛地应用到更多其他的学科,例如,物理、化学、生物、政治、经济、互联网络、工程开发和社会生活等方面。随着大数据时代的来临,基于每一个学科提取和抽象出的复杂网络的规模将会变得越来越大。而以最短路径为主的最优路径问题一直是计算机科学、交通科学、工程科学、控制科学、交通工程学以及地理信息科学等。它也是许许多多问题的基础和研究热点,例如设计路线、分配资源等。而计算机处理数据量的不断增加和变大,许许多多经典的算法求解的时间变得越来越长,例如Dijkstra算法需要O(n2)的时间复杂度,而且也使得计算机的负荷变得也来越大,无法满足大规模网络求解最短路径的实时需求。因此对网络分析算法的性能有进一步和更高的时间要求——即要求在更短的时间内完成大规模网络的全源最短路径的计算。因此在这样的课题背景下提出基于路径阻断的BFS算法。本文的主要工作如下,1.本课题是是以网络的经典遍历算法——BFS (广度优先遍历)作为研究的基础,引入路径阻断的策略。得到了本论文的核心算法之一——基于路径阻断的BFS算法(block算法),并详细地阐述了 block算法的整个处理网络的过程。2.在通过对block算法分析的基础上,加入阻断点的选择、求解单源最短路径的节点排序等3个策略,得到几个性能比BFS算法,block算法更好,求解全源最短路径的时间更短的算法。(1)第一个阻断策略是通过对求解单源最短路径的节点按照节点的度值降序进行排序。这个策略是通过先求解大规模复杂网络中的一些关键的节点(最短路径问题中体现为度值较大的节点),能够使得算法在后续的处理中能够使得阻断的效果更好。在block算法的基础上,通过引入这个策略,得到了 blockODD (block of descendant degree)算法。(2)第二个阻断的策略是限制阻断的次数,在Block算法处理网络的实验基础上,得到了 block算法阻断的次数和block算法的处理时间呈现出一个相似的趋势,为了进一步减少block算法的处理时间,通过一个实时的统计进入待遍历队列的节点个数以及一个阈值的比较进一步使得选择阻断点的条件更加严苛,使得算法的效率进一步提高。在block算法的基础上,通过引入这个策略,得到enqueue-block算法簇。(3)第三个阻断的策略是以最短路径形成的生成树作为及理论依据,通过分析网络的结构得到在以起始节点的邻居节点的阻断效果是比较好的,而且通过一次阻断之后,起始节点的单源最短路径具有较高的正确率,尤其是度值为1的节点通过邻居节点的阻断效果是最好的,正确率是最高。在block算法的基础上,通过引入这个策略,得到first-level-block算法。在基于block算法的基础上,比较了若干个算法求解全源最短路径和单源最短路径的时间。在实验得到几个比BFS算法更快的算法。
摘要第4-7页
ABSTRACT第7-9页
第一章 绪论第16-24页
    1.1 课题的研究背景及意义第16页
    1.2 复杂网络的最短路径问题概述第16-17页
    1.3 最短路径问题求解的经典算法第17页
    1.4 相关加速技术介绍第17-20页
        1.4.1 优先队列第18页
        1.4.2 数据预处理第18-19页
        1.4.3 双向搜索第19-20页
        1.4.4 最短路径算法的并行化第20页
    1.5 本文的主要贡献第20-22页
    1.6 本章小结第22-24页
第二章 基于路径阻断的BFS算法第24-30页
    2.1 路径阻断的思想第24-26页
    2.2 路径阻断的BFS算法第26-27页
    2.3 路径阻断的BFS算法的复杂度分析第27-28页
    2.4 按度值降序的blockODD算法第28-29页
    2.5 本章小结第29-30页
第三章 基于入队个数的enqueue-block算法第30-36页
    3.1 阻断次数的分析第30页
    3.2 enqueue-block算法的提出第30-33页
    3.3 本章小结第33-36页
第四章 基于level的first-level-block算法第36-40页
    4.1 特殊节点的分析第36页
    4.2 First-level-block算法的提出第36-38页
    4.3 本章小结第38-40页
第五章 实验结果及分析第40-80页
    5.1 实验平台及数据集说明第40页
    5.2 对比实验结果及分析第40-76页
        5.2.1 Block算法和BFS算法求解单元最短路径的运行时间比较第41-44页
        5.2.2 Block和blockODD的运行时间比较第44-47页
        5.2.3 Enqueue-block、BFS和block的运行时间比较第47-52页
        5.2.4 Enqueue-blockODD和blockODD的运行时间比较第52-56页
        5.2.5 First-level-block、BFS和block的运行时间比较第56-61页
        5.2.6 First-level-blockODD和blockODD的运行时间比较第61-63页
        5.2.7 使用array和STL中的queue实现待遍历队列的运行时间比较第63-68页
        5.2.8 BFS,block和blockODD的并行化的运行时间比较第68-73页
        5.2.9 待遍历队列的长度统计第73-74页
        5.2.10 课题中的所有算法的运行时间比较第74-76页
    5.3 实验结论第76-80页
第六章 总结与展望第80-82页
    6.1 总结第80-81页
    6.2 展望第81-82页
参考文献第82-86页
致谢第86-88页
研究成果及发表的学术论文第88-90页
作者和导师简介第90-91页
附件第91-92页
论文购买
论文编号ABS3547019,这篇论文共92页
会员购买按0.30元/页下载,共需支付27.6
不是会员,注册会员
会员更优惠充值送钱
直接购买按0.5元/页下载,共需要支付46
只需这篇论文,无需注册!
直接网上支付,方便快捷!
相关论文

点击收藏 | 在线购卡 | 站内搜索 | 网站地图
版权所有 艾博士论文 Copyright(C) All Rights Reserved
版权申明:本文摘要目录由会员***投稿,艾博士论文编辑,如作者需要删除论文目录请通过QQ告知我们,承诺24小时内删除。
联系方式: QQ:277865656