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


22

G=(V,E)是一些完整的,加权的,无向的图。我们通过从EE '一对一地增加边来构造第二个图。我们总共将Θ | 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跨度,该算法可以在时间内工作,因此,如果Co n 2,则我的算法要比原始贪婪算法快,并且如果C真的很小,其速度可能比最著名的算法快(尽管我对此表示怀疑)。O(Cnlogn)Co(n2)C

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

您可以假定顶点对应于2d平面中的点,并且顶点之间的距离是这些点之间的欧几里得距离。也就是说,每个顶点对应于平面中的某个点x y ,并且对于边u v = x 1y 1x 2y 2),其权重相等至v(x,y)(u,v)=((x1,y1),(x2,y2))(x2x1)2+(y2y1)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 ... ķ。作为ķ ñnO(|V|)(ui,bj)i,j=1,,k,并假设Ñ∈Θ|V|,第一和最后一行包含Θ|V|每个许多节点和添加导致Θ|V|2许多最短路径的变化。kn4nΘ(|V|)Θ(|V|)Θ(|V|2)

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

(c1,c2)ni=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.