无向图中直径与半径的关系?

时间:2015-03-27 20:36:58

标签: algorithm math data-structures graph graph-theory

我们只考虑无向图。图表的直径s和{{1}之间最短路径距离的所有顶点选择ts的最大值}。 (回想一下ts之间的最短路径距离是t路径中最少的边数。)接下来,对于顶点s-t,让{{1 }}表示sl(s)之间最短路径距离的所有顶点t的最大值。图的半径s在顶点t的所有选项中的最小值l(s)。 半径s和直径r以下哪一项始终保持?选择最佳答案。

  

1)r> = d / 2
  2)r< = d

我们知道(1)和(2)总是持有和写在任何参考书中。 我的挑战是入学考试中提到的这个问题,只有(1)或(2)中的一个应该是真的,OP说选择最好的答案,考试后答题表写的(1)是最好的选择。如何验证我,为什么(1)优于(2)。

3 个答案:

答案 0 :(得分:3)

他们都坚持。

2)应该清楚。

1)使用三角不等式。我们可以使用此属性,因为图表上的距离是指标(http://en.wikipedia.org/wiki/Metric_%28mathematics%29)。使用令d(x,z)=直径(G)并且令y为G的中心(即,在G中存在顶点v,使得d(y,v)=半径(G))。因为d(y,v)=半径(G)和d(y,v)= d(v,y),我们知道d(v,z)<=半径(G)。然后我们得到直径(G)= d(x,z)&lt; = d(y,v)+ d(v,z)&lt; = 2 *半径(G)。

答案 1 :(得分:1)

他们俩都是真的。 不要让含糊不清的问题的考试削弱您的概念。

关于证明:

首先,第二个不等式非常简单(从定义本身来看)

现在第一个d <= 2 * r:

让z成为中心顶点

  

e(z)= r

现在让我们

  

直径= d(x,y)[对于某些x和y]

     

d(x,y)<= d(x,z)+ d(z,y)

     

d(x,y)<= d(z,x)+ d(z,y)

     

d(x,y)<= e(z)+ e(z)[对于所有u,这都可以作为e(z)> = d(z,u)的上限]

     

直径<= 2 * r

答案 2 :(得分:0)

OP将s和t之间的最短路径距离定义为“s-t路径中最少的边数”。这使事情变得更简单。

我们可以根据某些伪代码来编写定义:

def dist(s, t):
    return min([len(path)-1 for path starts with s and ends with t])

r = min([max([dist(s, t) for t in V]) for s in V])
d = max([max([dist(s, t) for t in V]) for s in V])

其中V是所有顶点的集合。

现在(2)显然是正确的。定义本身告诉我们:max always >= min

(1)略显不明显。它至少需要几个步骤来证明。

假设d = dist(A, B)r = dist(C, D),我们有

dist(C, A) + dist(C, B) >= dist(A, B),

否则路径A-C-B的长度将小于dist(A, B)

根据r的定义,我们知道

dist(C, D) >= dist(C, A)
dist(C, D) >= dist(C, B)

因此2 * dist(C, D) >= dist(A, B),即2 * r >= d

哪一个更好?这取决于你如何定义“更好”。如果我们认为某些非正式(或不那么明显)的东西要比一些正确的东西更好,那么我们可能同意(1)胜过(2)。