论文部分内容阅读
近年来随着对复杂网络研究的日益深入,研究者们发现复杂网络中许多特征和问题的分析都与最短路径有关,比如节点的度、介数、关键点的挖掘和中心性计算等。但是Dijkstra和Floyd-Warshall提出的经典的最短路径算法由于复杂度太高,很难适用于大规模复杂网络中最短路径的计算,更不适合以最短路径为基础的节点的接近中心性和介数中心性的度量。为了能更好地解决复杂网络中最短路径的计算问题和中心性的度量问题,近年来研究者们提出了一些最短路径近似算法,其中具有代表性的当属基于局部中心性的CDZ算法和基于路标和最优覆盖策略的LBFS算法,前者在计算时具有非常高的准确率,后者在大规模网络上具有很高的运算效率。此外CDZ算法的研究者还基于该算法提出了基于中心区域的中心性算法,该算法与传统中心性算法相比,能更快地计算大规模网络中节点的接近中心性和介数中心性。本文在已有算法研究的基础上,提出了基于构造层次网络(hierarchy networks)的最短路径近似算法和中心性算法,在大规模网络中保持较高的计算效率和准确率。最短路径近似算法通过构造层次网络,不断聚合网络的中心节点及其邻居,将原始网络聚合成等级更高的网络直到网络规模变得非常小,然后利用各级层次网络中节点到中心节点的近似距离迭代计算原始网络中任意两点间的最短路径,显著降低了计算的复杂度。接近中心性算法在最短路径近似算法计算得到的距离值的基础上,根据接近中心性的度量规则,按节点接近值的大小对网络中所有节点进行排序,缩短了算法的运行时间。介数中心性算法在构建层次网络的基础上,通过近似计算经过各级层次网络中心节点的最短路径数目,来近似得到网络中所有节点的介数值并计算介数中心性,提高了运行效率并保持一定的准确度。本文在不同规模的网络中,对提出的算法进行了实验和分析,实验结果表明算法在大规模网络中显著缩短了运行时间并保持较高的准确率。在包含百万个节点,千万条边的大规模网络中,最短路径算法的平均查询时间只需要几十毫秒,在运算效率上约为CDZ算法的40倍,约为LBFS的两倍;中心性算法的运行效率约为基于CDZ中心性算法的2-3倍,准确率也略高于该算法。