在图形上添加边时,最短距离会变化多少?


22

令G=(V,E)是一些完整的,加权的,无向的图。我们通过从E到E '一对一地增加边来构造第二个图。我们总共将Θ (| V |)边加到G '。G′=(V,E′)EE′Θ(|V|)G′

每次我们添加一个边缘(u,v)于E′,我们考虑所有对之间的最短距离在(V,E′)和(V,E′∪{(u,v)})。我们计算由于加而导致的最短距离变化了多少(u,v)。让Ci是变化的,当我们添加的最短距离的数量i边数,令为总和。n

C = ∑ i C i有多大?C=∑iCin

由于,所以C = O (n 2)也是如此。这个界限可以改善吗?请注意,我将C定义为所有相加边的平均值,因此,即使证明了C = Ω (n ),也没有那么有趣的一轮,因为距离变化很大。Ci=O(|V|2)=O(n2)C=O(n2)CC=Ω(n)

我有一种算法可以贪婪地计算几何t跨度,该算法可以在时间内工作,因此,如果C为o (n 2),则我的算法要比原始贪婪算法快,并且如果C真的很小,其速度可能比最著名的算法快(尽管我对此表示怀疑)。O(Cnlog⁡n)Co(n2)C

一些特定于问题的属性可能有助于确定界限:添加的边权重始终大于图中已存在的任何边的权重(不一定严格地更大)。此外,它的权重比u和v之间的最短路径短。(u,v)uv

您可以假定顶点对应于2d平面中的点,并且顶点之间的距离是这些点之间的欧几里得距离。也就是说,每个顶点对应于平面中的某个点(x ,y ),并且对于边(u ,v )= ((x 1,y 1),(x 2,y 2)),其权重相等至√v(x,y)(u,v)=((x1,y1),(x2,y2))(x2−x1)2+(y2−y1)2.


2
取两条由两条边连接的小集团。在团之间直接添加一条边会缩短最短路径的。Ω(n2)
— 路易(Louis)

1
@Louis:是的,有一些示例,其中单个边导致距离发生很大变化,但是是否存在其中添加的每个边(或者至少是其中很多边)发生的图?这就是为什么我将定义为所有边缘的平均值的原因:)C
— 亚历克斯·十·布林克2012年

1
此图中可以添加的大多数边缘都是我所描述的类型...
— 路易(Louis)

@路易(Louis True)。尽管团包含边,这比我将添加到图中的要多。O(n2)
— 亚历克斯十布林克

我之前也遇到过同样的问题,但是我的图有点像的稀疏图。E | = O (| V |),我应该证明平均变化为O(1),但我不能这样做:-)。但是对于您的情况,我认为,如果您发现此问题与APSP解决方案之间的关系,则可以得到一些结果。|E|=O(|V|)

Answers:


19

考虑以下具有节点,n个边缘和恶意选择的权重的线性链:n+1n

example
[ 来源 ]

显然,边缘可能已在其权重的顺序添加并有他们。加入虚线边缘(它是合法的)的所有对创建较短的路径(Û 我,b Ĵ)与我,Ĵ = 1 ,... ,ķ。作为ķ ≈ ñn∈O(|V|)(ui,bj)i,j=1,…,k,并假设Ñ∈Θ(|V|),第一和最后一行包含Θ(|V|)每个许多节点和添加导致Θ(|V|2)许多最短路径的变化。k≈n4n∈Θ(|V|)Θ(|V|)Θ(|V|2)

现在,我们可以“向外”移动,即在u k − 1和b k − 1之间添加权重为的下一条边,依此类推;如果将其继续到(u 1,b 1),则会导致总共Θ (| V | 3)最短路径变化。n+2uk−1bk−1(u1,b1)Θ(|V|3)

(c1,c2)≈n≈∑i=1ni2∈Θ(n3)=Θ(|V|3)


1
这确实有效,此外,您的示例可以稍微更改为Euclidian。谢谢:)
— 亚历克斯十Brink
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.