【技术实现步骤摘要】
本专利技术涉及图数据处理领域,尤其涉及一种基于增量更新的动态图最短路径计算方法。
技术介绍
1、在动态图算法领域,部分动态单源最短路径(sssp)问题一直是研究的重点,因其在众多实际场景中具有广泛应用。例如,它常作为内部数据结构用于处理完全动态图问题,从而维护现实世界中不断变化的图的各种属性;在相关问题如维护部分动态图的直径、处理增量二分图中的匹配等方面也发挥着关键作用;并且许多静态算法将其作为子例程,像增量全对最短路径用于构建轻量级生成树和贪婪生成树,部分流问题可简化为减量sssp问题。
2、然而,在处理有向图时,现有的(1+ε)近似动态sssp算法面临诸多挑战。多数已知的部分动态算法具有随机性,其平均更新时间在插入操作频繁时至少为某个多项式,效率较低。
技术实现思路
1、本专利技术提供了基于增量更新的动态图最短路径计算方法,要解决的技术问题在于:在大规模动态图数据处理中,如何一定程度上降低时间复杂度,提高算法的效率,减少计算资源的消耗。
2、为了达到上述专利技术目的,本专利技术采用的技术方案为:
3、基于增量更新的动态图最短路径计算方法,包括以下特征,
4、步骤s100、获取动态加权有向图;构建的动态图数据结构;
5、步骤s200、基于上述构建的动态图数据结构,进行初始化算法参数与数据结构;
6、步骤s300、基于上述初始化算法参数与数据结构,进行处理边插入操作(insertedge);
7、步
8、步骤s500、根据顶点的前向邻域大小调整顶点的权重,确保算法在处理不同密度的图时能够高效运行;同时,更新缓存数组cache、前向邻域数组fn、过期数组expire,以反映顶点权重的变化对算法的影响;
9、步骤s600、对于每个顶点,通过取所有(排除的情况)上的最小值来获得最终的距离估计;
10、步骤s700、路径查询可以在线性时间内完成,通过回溯从源顶点到目标顶点的路径,利用存储在数据结构中的信息确定最短路径。
11、进一步,在步骤s100中构建的动态图数据结构如下:
12、对于动态加权有向图,定义为图中的顶点数量,为任意版本图中的最大边数,为图的纵横比;对于每个顶点,定义其出邻域为所有满足的顶点的集合,入邻域对于所有,表示从到的距离。
13、进一步,在步骤s200中具体如下:
14、1到之间关于2的幂次方值用表示,初始化一个“懒惰es-tree”数据结构;对于每个数据结构和顶点,初始化距离估计、缓存数组;其用于存储关于的可能过时信息,;顶点的权重,以及前向邻域(定义为,其中);同时初始化数组,用于确保当小于时,离开。
15、进一步,在步骤s300中具体如下:
16、当插入边时,更新和以反映新边的插入;调用检查是否因新插入的边而需要增加的权重;初始化一个集合存储边,最初仅包含边;然后逐个提取中的边,检查的距离估计减少是否会导致的距离估计减少,即检查,如果是,则递减并保留该边在中;否则,从中移除该边。
17、进一步,在步骤s400中,
18、当需要递减顶点的距离估计时,先执行;检查是否为的倍数,如果是,调用检查最近的递减操作是否使增加到足以增加,同时更新和,扫描中的每个顶点并更新其在中的位置,将边插入;检查递减是否导致从包含它的任何前向邻域中过期,对于存储在中的每个顶点,更新在中的位置使离开,然后调用检查移除是否导致减少。
19、进一步,在步骤s500中,
20、incrheaviness(u):计算,如果,则更新中相关顶点的位置,重新计算,并更新和;
21、decrheaviness(u):计算,如果,更新中相关顶点的位置,重新计算,更新和,并将插入(对于。
22、本专利技术的有益效果为:
23、相较于传统的es-tree算法,在处理有向图的部分动态单源最短路径问题上,该算法在总更新时间复杂度方面有一定的改进。尤其在处理密集图时,能够在一定程度上降低时间复杂度,提高算法的效率,减少计算资源的消耗,使得算法在大规模动态图数据处理中更具优势。
本文档来自技高网...【技术保护点】
1.基于增量更新的动态图最短路径计算方法,其特征在于,包括以下特征,
2.根据权利要求1所述的基于增量更新的动态图最短路径计算方法,其特征在于,
3.根据权利要求1所述的基于增量更新的动态图最短路径计算方法,其特征在于,
4.根据权利要求1所述的基于增量更新的动态图最短路径计算方法,其特征在于,
5.根据权利要求1所述的基于增量更新的动态图最短路径计算方法,其特征在于,
6.根据权利要求1所述的基于增量更新的动态图最短路径计算方法,其特征在于,
【技术特征摘要】
1.基于增量更新的动态图最短路径计算方法,其特征在于,包括以下特征,
2.根据权利要求1所述的基于增量更新的动态图最短路径计算方法,其特征在于,
3.根据权利要求1所述的基于增量更新的动态图最短路径计算方法,其特征在于,
<...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。