在网络规模远超出最短路径经典算法适用范围的情况下,最短路径近似算法成为有效的替代解决方案。针对现有近似算法存在的预处理阶段计算效率低、算法性能受网络规模影响较大等问题,提出一种基于EIN覆盖网络的大规模复杂网络最短路径近似算法。算法基于边递归网络(The network created by edge iterations, EIN)的生成和标号方式在实际复杂网络上抽象出具有确定性拓扑结构的标号覆盖网络,结合覆盖网络标号节点间确定的位置信息快速推导出实际复杂网络中最短路径的近似解,在确定性网络层面高效解决非确定性复杂网络的最短路径问题。真实网络数据集上的实验结果表明,所提方法在大规模复杂网络上能保证较高精确度的同时,大幅度降低计算成本。 The shortest path approximation algorithm becomes an effective alternative solution when the network scale is far beyond the scope of the classical shortest path algorithm. Aiming at the problems existing in the existing approximation algorithms, such as low computational efficiency in the preprocessing stage, and the algorithm performance that is greatly affected by the network scale, a shortest path approximation algorithm for large-scale complex networks based on EIN overlay network is proposed. The algorithm abstracts the label overlay network with deterministic topology structure on the actual complex network based on the generation and labeling method of EIN (The network created by edge iterations), and quickly deduces it by combining the location information determined between the label nodes of the overlay network. The approximate solution of the shortest path in the actual complex network can efficiently solve the shortest path problem of the non-deterministic complex network at the deterministic network level. The experimental results on real network datasets show that the proposed method can greatly reduce the computational cost while ensuring high accuracy on large-scale complex networks.
在网络规模远超出最短路径经典算法适用范围的情况下,最短路径近似算法成为有效的替代解决方案。针对现有近似算法存在的预处理阶段计算效率低、算法性能受网络规模影响较大等问题,提出一种基于EIN覆盖网络的大规模复杂网络最短路径近似算法。算法基于边递归网络(The network created by edge iterations, EIN)的生成和标号方式在实际复杂网络上抽象出具有确定性拓扑结构的标号覆盖网络,结合覆盖网络标号节点间确定的位置信息快速推导出实际复杂网络中最短路径的近似解,在确定性网络层面高效解决非确定性复杂网络的最短路径问题。真实网络数据集上的实验结果表明,所提方法在大规模复杂网络上能保证较高精确度的同时,大幅度降低计算成本。
复杂网络,最短路径,近似算法,覆盖网
Guanqin Feng, Sui Lin
School of Computer Science, Guangdong University of Technology, Guangzhou Guangdong
Received: Mar. 2nd, 2022; accepted: Mar. 31st, 2022; published: Apr. 7th, 2022
The shortest path approximation algorithm becomes an effective alternative solution when the network scale is far beyond the scope of the classical shortest path algorithm. Aiming at the problems existing in the existing approximation algorithms, such as low computational efficiency in the preprocessing stage, and the algorithm performance that is greatly affected by the network scale, a shortest path approximation algorithm for large-scale complex networks based on EIN overlay network is proposed. The algorithm abstracts the label overlay network with deterministic topology structure on the actual complex network based on the generation and labeling method of EIN (The network created by edge iterations), and quickly deduces it by combining the location information determined between the label nodes of the overlay network. The approximate solution of the shortest path in the actual complex network can efficiently solve the shortest path problem of the non-deterministic complex network at the deterministic network level. The experimental results on real network datasets show that the proposed method can greatly reduce the computational cost while ensuring high accuracy on large-scale complex networks.
Keywords:Complex Network, Shortest Path, Approximation Algorithm, Overlay
Copyright © 2022 by author(s) and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
信息时代已成为人类社会发展的必然趋势,科学信息化、社会信息化带动着世界性的巨大变革。在大数据时代的背景下,复杂网络自然而然地成为了一门深刻的研究课题。复杂网络是现实世界中各种实体之间关系的高度抽象,包括社交网络、交通系统、电网和病毒传播。因此,关于复杂网络的理论研究涵盖了实际生活中的众多领域,具有巨大的应用价值。
在复杂网络中寻找任意两个节点之间的最短路径 [
尽管近年来围绕着大规模复杂网络的最短路径近似算法方面的研究已经取得了一些突破和成果,但是,总体上该研究仍然处于发展中阶段。现有的最短路径近似算法大都或多或少的存在一些缺陷与不足,在搜索效率、计算精度以及存储消耗方面通常各有利弊,很多算法效率的提高都是以牺牲大量的预处理或搜索精度为代价的,因而如何在保障精确度的情况下不消耗过多的预处理时间及存储空间来找到近似路径,尚有待于进一步研究。复杂网络拓扑的随机性是加重最短路径计算成本的主要原因之一,目前针对复杂网络随机性展开的研究寥寥无几。而确定性复杂网络 [
确定性网络作为研究人员设计出来分析计算复杂网络的工具,结构和特征都接近于实际中的网络。相比于随机网络,确定性网络的优势在于能通过严格的推导求出特定解。文献 [
Farey网由著名的Farey序列 [
1) 当 t = 0 时, F ( 0 ) 由两个初始节点和一条活动边组成。
2) 当 t ≥ 0 时, F ( t ) 由 F ( t − 1 ) 得到,方法是在所有 t − 1 时刻加入的活动边上增加一个新节点,并将新节点与边两端的节点相连。
边递归网络EIN是Farey网的衍生,它由三个Farey网络而组成,记为 N ( t ) 。其生成方式为以下两步:
1) 当 t = 0 时, N ( 0 ) 由三个初始节点和三条活动边组成。
2) 当 t ≥ 0 时,在 N ( t − 1 ) 中所有 t − 1 时刻加入的活动边上增加一个新节点并连接至边的两端,得到 N ( t ) 。
结合确定性网络的生成方式对节点进行标号,是推导最短路径的关键,标号能反映出节点间的拓扑关系。Farey网和EIN网的生成和标号过程分别如图1和图2所示。
图1. t = 0 , 1 和2时刻递归生成的标号 F ( t )
图2. t = 0 , 1 和2时刻递归生成的标号 N ( t )
Farey网和EIN网络具有以下标号性质:
性质1:Farey网和EIN网中的任意节点能根据标号推导出所有相邻节点标号。
性质2:对于 t ≥ 1 的 F ( t ) ,可视为由两个子网 F 1 ( t − 1 ) 和 F 2 ( t − 1 ) 组成。不同子网节点对间最短路径经过的中间节点,可由节点对所处区域(根据标号来判断)间的关系推导出。
性质3:对于Farey网中的每个节点对,存在一个最小公共子网(MCSG)包含其所有最短路径。
基于以上标号性质,可以线性时间复杂度找出Farey网和EIN网中任意标号节点对间的所有最短路径。
算法1:(SPAF) Farey网的最短路径算法主要分为三步。首先,通过性质3确定目标节点对的最小公共子网MCSG。其次,根据性质2找出最短路径经过的中间节点。最后,目标节点与中间节点组成新的节点对继续重复整个流程,直到根据性质1判断出所有新的节点对都互为邻居为止,得出目标节点对之间的所有最短路径。
算法2:(SPAN)将 N ( t ) 看作由三个Farey子网 F 0 ( t ) 、 F 0 ( t ) 和 F 2 ( t ) 组成。当目标节点对位于相同子网时,求最短路径的过程与上述SPAF算法相同。当目标节点对位于不同子网时,两个子网可构成一个完整的 F ( t + 1 ) ,输入标号改变后可由SPAF算法求出最短路径。
SPAF算法和SPAN算法都能在线性时间 O ( n ) 内确定任意节点对间最短路径的所有可能,求出所有节点对的最短路径也仅用次平方的时间复杂度。
覆盖网络是面向应用层的顶层网络,常为特定应用提供专用的虚拟网络拓扑。覆盖网络中的边是底层网络中物理路径的抽象,节点针对需求以多种方式逻辑互连。这种灵活性让覆盖网络成为了互联网中特定问题的有效解决方案,文献 [
EON算法的思路是将实际非确定性复杂网络任意两点间的最短路径问题带到确定性网络的层面上来解决。需要结合覆盖网络技术,基于边递归网络EIN的生成和标号方式在实际复杂网络上抽象出服务于高效最短路径近似搜索的EIN覆盖网络。
节点集V和边集E组成的无向无权网络记为 G = ( V , E ) ,EON算法构建出来的覆盖网络则表示为 G o ( t ) = ( O , E o ) 。其中覆盖网的节点集合 O = ( O 1 , O 2 ) 由两类节点组成, O 1 表示EIN覆盖网中的标号节点集合, O 2 则表示EIN覆盖网中标号节点的邻居节点集合。覆盖网标号节点依据EIN网的生成方式进行覆盖,将t时刻的活动边记为 E a ( t ) 。EON算法构建EIN覆盖网络基于以下步骤:
1) 选择EIN覆盖网络的三个初始节点。
从EIN网的生成过程来看,图的所有顶点在每一步迭代中将它们的度数增加两个单位,越早加入的节点度数越高。因此本文对底层网络节点 v ∈ V 进行度值排序,依照度值逆序在前1%的节点中找到能形成三角结构且度值之和最大的三个节点作为初始标号节点0,1,2。
2) 基于EIN网络的生成方式进行覆盖网络扩展。
标号节点间的路径是EON算法进行最短路径近似搜索的依据。大部分实际复杂网络具有无标度特性,其度分布均符合或接近幂律分布 [
Step 1:将初始节点0,1,2加入集合 O 1 ,此时 t = 0 , E a ( 0 ) = E o ( 0 ) = { ( 0 , 1 ) , ( 0 , 2 ) , ( 1 , 2 ) } 。
Step 2:依次找到 E a ( t ) 中每条活动边两端节点s和t的度值最高的共同邻居 v n 加入 O 1 ( t + 1 ) ,其组成的边 ( s , v n ) 和 ( v n , t ) 则加入 E a ( t + 1 ) 中。
Step 3:判断 E a ( t + 1 ) 是否为空,是则表示无符合生成方式的节点进行扩展,依次找到 G o 最外层中每条边的两端节点s和t的度值最高的邻居 v n 加入 O 1 ( t + 1 ) ,其组成的边 ( s , v n ) 和 ( v n , t ) 则加入 E a ( t + 1 ) 中,此时边 ( s , v n ) 和 ( v n , t ) 与底层网络对应边的映射关系如图3所示, ( s , v n ) 在覆盖网络的权重为2。
图3. 冲突节点的映射方式
Step 4:如果集合 O 1 中节点的度数之和大于全图度数之和的50%,则转到第五步;反之,使 t = t + 1 , E o ( t ) = E a ( t ) ,继续执行第二步。
Step 5: O 1 节点间在实际网络中的路径映射到覆盖网络中,覆盖网络 G o 初步构造完成,将 V − O 1 的节点加入集合 O 2 。
3) 基于EIN网络的标号方式对覆盖网络的节点进行标号。
节点标号格式为 a . b . c ,其中 a ∈ { 0 , 1 , 2 } 表示节点所属的Farey子网 F a ( t ) , b ∈ { 1 , 2 , ⋯ , t } 和 c ∈ { 1 , 2 , ⋯ , 2 b − 1 } 则表示节点在子网 F a ( t ) 中的位置。
4) 建立标号节点与其余节点的联系。
通过广度优先遍历依次找到最接近标号节点 s ∈ O 1 的邻居 t ∈ O 2 ,将其在实际网络中的路径抽象到覆盖网络上的边 ( s o , t o ) 。
图4为构建EIN覆盖网的一个简单示例。图4(a)~(d)展示了基于边递归网络EIN的生成方式进行覆盖网络初步覆盖的过程,t时刻的活动边用红色标注。图4(e)和图4(f)表示GEIN覆盖网的标号过程。完整的EIN覆盖网如图4(g)所示。
在实际复杂网络上抽象出EIN覆盖网络后,标号节点间的位置信息能通过标号快速推导出来。EON算法利用标号节点的位置信息,在目标节点对进行最短路径近似搜索的过程中,利用EIN覆盖网络标号节点对间的距离判断节点出现在最短路径的可能性,排除低概率的节点方向来限制搜索范围,从而提高路径搜索的效率。EON算法的最短路径近似搜索过程如下:
图4. EIN覆盖网的构建过程
1) 计算EIN覆盖网络标号节点间的最短路径距离。
记 d E ( l s , l t ) 为标号节点 s , t 在EIN网络拓扑上的最短路径距离,其中 l s , l t 为节点标号。 d E 作为EON算法对路径近似估算的判断,可用SPAN算法高效得出。在算法SPAN中,求得全节点对间最短路径(The all-pairs shortest paths problem, APSP)需要次平方的运算时间 O ( n 2 − δ ) ,其中 δ > 0 。由于边递归网络EIN是递归构成的,外层节点对间的最短路径包含内层节点对的最短路径。因此由内向外去计算标号节点对间的最短路径距离,能提高SPAN算法的计算效率。
2) 基于 d E 值迭代搜索最短近似路径
节点在搜索去往目标节点最短路径的过程中,选取 d E 值与边权重之和最低的邻居加入最短近似路径序列,并将其作为新的起始节点,直到与目标节点直接相连。
实际网络中任意节点间的距离 d ( s , t ) 可以表示为:
d ( s , t ) = { d O ( l s , l t ) s , t ∈ O 1 d ( s , n s o ) + d O ( l n s o , l t ) s ∈ O 2 , t ∈ O 1 d ( s , n s o ) + d O ( l n s o , l n t o ) + d ( t , n t o ) s , t ∈ O 2 , l s ≠ l t d ( s , L C A s t ) + d ( t , L C A s t ) s , t ∈ O 2 , l s = l t (1)
如果目标节点都属于标号节点集合 O 1 ,节点间的距离为其在EIN覆盖网络上的最短近似路径长度 d O 。
如果目标节点对中存在 O 2 集合中的节点,节点间的距离除了包括标号节点对间的最短近似路径长度,还需要考虑节点 S ∈ O 2 和其覆盖网络邻居 n S O 在实际网络上的映射路径长度。
如果目标节点都属于 O 2 集合,且它们在覆盖网络上具有相同的标号邻居。通过节点对到标号节点的最短路径序列可以快速找到它们的最近公共祖先。目标节点间的距离为其通往最近公共祖先的路径长度之和。
图5为EON算法的一个简单示例。节点9到节点7的最短近似路径搜索过程中,核心在于选取节点5之后最有可能存在最短路径上的节点。此时节点5的邻居标号分别为1、2和2.1.1,通过SPAN算法可推导出节点1,3,4在EIN网络拓扑上到节点7的最短路径集合分别为{{1,2.1.1,2.2.1},{1,0,2.2.1}}、{{2,0,2.2.1}}和{{2.1.1,2.2.1}},由此可推断节点4为最可能出现在最短路径上的节点。最终得到节点9到节点7的最短近似路径{9,8,5,4,7}。
图5. EON算法示例图
EON算法在PyCharm集成开发环境上使用Python语言实现,运行环境处理器为Intel Corei5-8265U @1.80 GHz,内存为8 GB。选用四个不同规模和类型的无向无权真实网络评估本文算法,分别是ego-Facebook [
指标 | ego-Facebook | email-Enron | soc-BC | com-DBLP |
---|---|---|---|---|
V | 4039 | 36,692 | 41,600 | 317,080 |
E | 88,234 | 183,831 | 221,698 | 1,049,866 |
ACC | 0.6055 | 0.4970 | 0.5121 | 0.6324 |
D | 8 | 11 | 13 | 21 |
表1. 实验网络的基本信息
本文选择平均路径比p [
p = ∑ i = 1 p r p A i ∑ i = 1 p r p D i (2)
其中 p r 是节点对的数量, p A i 代表由近似算法求出的第i对节点间的近似距离, p D i 代表由Dijkstra算法求出的第i对节点间的精确距离。近似算法的精确度取决于p接近1的程度。
最短路径近似算法的计算效率由预处理时间 T i n i t 和平均查找时间 T S 来反映。实验通过在测试网络上随机得到10,000个节点对,取其平均运行时间作为算法的 T S 。
表2展示了EON算法、KS算法和CDZ算法在4个目标网络的准确性实验结果。三种算法在4个实验网络中的平均路径比p都低于1.1,说明EON算法、KS算法和CDZ算法计算出的近似路径仅与精确路径存在不到10%的误差,都具有较高的准确率。KS算法和CDZ算法利用不同的中心性指标去评估节点的重要性,选取一定规模的重要节点作为中心节点,通过中心节点间的精确路径来保证算法的准确性。EON算法则是利用实际网络中的确定性拓扑结构的位置信息来保证算法的准确性。
算法 | ego-Facebook | email-Enron | soc-BC | com-DBLP |
---|---|---|---|---|
EON | 1.079 | 1.022 | 1.031 | 1.020 |
KS | 1.079 | 1.024 | 1.032 | 1.021 |
CDZ | 1.081 | 1.026 | 1.034 | 1.020 |
表2. 近似算法在不同网络上的准确性
从表3中可以发现,EON算法在计算效率上相较于其他两种近似算法有明显的优势。KS算法和CDZ算法在预处理时间 T i n i t 和平均查找时间 T S 这两个数据方面远劣于本文算法,特别是在大规模网络com-DBLP的实验中,时间开销是EON算法的上百倍。
网络 | EON | KS | CDZ | |||
---|---|---|---|---|---|---|
T i n i t ( ms ) | T S ( ms ) | T i n i t ( ms ) | T S ( ms ) | T i n i t ( ms ) | T S ( ms ) | |
ego-Facebook | 2312 | 0.53 | 2626 | 1.47 | 16,106 | 1.62 |
email-Enron | 35,544 | 3.91 | 149,208 | 20.68 | 721,170 | 72.13 |
soc-BC | 40,476 | 4.60 | 240,616 | 28.73 | 7,298,342 | 729.852 |
com-DBLP | 78,320 | 8.69 | 2,046,107 | 204.81 | 23,190,519 | 2320.12 |
表3. 近似算法在不同网络上的计算效率
CDZ算法和KS算法在最短路径近似搜索的过程中依赖于中心/高层节点间的精确路径,需要在预处理阶段花费 O ( d 3 ) 的时间,其中d为中心/高层节点的数量。虽然中心/高层节点在全图的占比(约占节点总数5%~10%)并不高,但放大到大规模实际网络中,这任是一笔不可忽视的巨大开销。EON算法的近似搜索则依赖于标号节点间在EIN拓扑结构上的精确路径,结合包含节点间拓扑关系的标号信息,仅需 O ( t 2 − δ ) 的时间复杂度可推导出,其中t为覆盖网络标号节点的数量。
EON算法基于边递归网络EIN的生成方式构建覆盖网络,标号节点间的拓扑结构是固定的,因此提前计算并存储一定规模EIN网络标号节点间的最短路径,不同实际网络的近似路径搜索情况下,能节省大量的重复计算时间。复杂的网络系统是呈现动态的 [
EON算法和CDZ算法在email-Enron网络和soc-BC网络不同规模子网络上的性能变化如表4和表5所示。相比于CDZ算法,EON算法具有明显的性能优势,特别是在平均计算时间数据方面的表现上。5000到30,000节点规模的跨度中,CDZ算法的平均计算时间横跨了三个计数单位,本文算法在保证高准确度的同时,能维持平均计算时间的增长在一个计数单位内。证明EON算法适应网络规模增长代价低,更加适用于节点规模大的实际复杂网络。
Algorithm | N | ||||||
---|---|---|---|---|---|---|---|
Parameter | 5000 | 10,000 | 15,000 | 20,000 | 25,000 | 30,000 | |
EON | T S ( ms ) | 0.25 | 0.29 | 0.52 | 0.79 | 1.10 | 1.29 |
P | 1.021 | 1.034 | 1.029 | 1.033 | 1.030 | 1.025 | |
CDZ | T S ( ms ) | 0.60 | 4.03 | 12.03 | 19.26 | 29.37 | 46.63 |
P | 1.050 | 1.069 | 1.055 | 1.039 | 1.041 | 1.032 |
表4. 近似算法在不同规模email-Enron网络上的表现
Algorithm | N | ||||||
---|---|---|---|---|---|---|---|
Parameter | 5000 | 10,000 | 15,000 | 20,000 | 25,000 | 30,000 | |
EON | T S ( ms ) | 0.55 | 2.62 | 4.07 | 5.85 | 6.99 | 9.10 |
P | 1.060 | 1.040 | 1.039 | 1.029 | 1.031 | 1.030 | |
CDZ | T S ( ms ) | 2.57 | 18.66 | 80.38 | 167.89 | 315.49 | 514.18 |
P | 1.062 | 1.040 | 1.043 | 1.033 | 1.034 | 1.039 |
表5. 近似算法在不同规模soc-BC网络上的表现
本文针对复杂网络最短路径近似算法预处理阶段时间或空间成本过高、计算效率受网络规模影响较大的问题,利用确定性网络能够基于节点间确定的位置关系快速推导出最短路径解析解这一特点,提出基于EIN覆盖网络最短路径近似算法EON。经过在社交网络、引文网络、博客目录网络等实际复杂网络的一系列实验结果表明,EON算法在不同规模的无向无权网络中能保证高准确度和计算效率的同时,以较低的代价适应网络规模的增长,更适用于大规模实际复杂网络。
从确定性模型的层面去解决随机场景下的网络节点间最短路径问题是近似算法的一种新的解决思路。深入研究不同类型的实际复杂网络与确定性网络拓扑之间的联系,评估与改进覆盖网络的构建方法,是我们未来研究工作的重点。
冯冠钦,林 穗. 基于EIN覆盖网的复杂网络最短路径近似算法The Approximate Shortest Path Algorithm for Complex Networks Based on EIN Overlay Network[J]. 计算机科学与应用, 2022, 12(04): 806-816. https://doi.org/10.12677/CSA.2022.124082