只有一个参与者的图表直径是多少?

时间:2015-03-08 21:47:42

标签: algorithm math distributed-computing distributed-algorithm

我正在尝试在我的分布式算法课程中找到问题的答案,为此我想澄清一些问题。

  1. 具有一个节点的图形的直径是多少?是1还是0?
  2. 如果您有兴趣,我试图找到答案的问题是:

      

    就n(#节点)而言,使用的消息数(= diam * | E |)   FloodMax算法很容易看出是O(n ^ 3)。制作一类   产品(diam * | E |)确实是Omega(n ^ 3)的有向图。

    我想出的有向图是一个只有一个节点的图形,它有一个自定向边。那样| E |如果nm是1,那么它将是1,并且如果diam是1 ,它将满足第二个条件,其中diam = 1 = n。所以它给了我一类消息复杂度为Omega(n ^ 3)的有向图。

    所以我的想法是正确的,在这样的图表中,直径是1?

2 个答案:

答案 0 :(得分:0)

两件事:

  1. 根据this,它似乎是0,其中说:

      

    换句话说,图表的直径是必须遍历的最大顶点数,以便在从回溯,绕行或循环排除的路径时从一个顶点移动到另一个顶点

  2. 您对给定问题的解决方案应描述如何构建图形(或者更确切地说,已知图形具有该属性的类型,因为它表示“生成类”)具有n个节点,而不是一个图表,无论你有多少节点手动找出解决方案。我可以为2个节点做同样的事情:

    1 -- 2
    
    |E| = 1 = (1/4)*2^2 = (1/4)*n^2 = O(n^2)
    diam = 1 = 2 - 1 = n - 1 = O(n)
    tada!
    

    或者这就是我们如何使你的解决方案工作,即使直径是0:0 = 1 - 1 = n - 1 = O(n)=>你的解决方案仍然有效!

    因此,即使您考虑使用循环路径,我仍然认为您的解决方案不正确。

答案 1 :(得分:0)

O(n ^ 3)和Omega(n ^ 3)并不意味着cn ^ 3,并且在有限多个非零值n为0(n ^ 3)且0的函数中,0没有问题。欧米加(N ^ 3)。例如,n ^ 3-100同时为n ^ 3-100n ^ 2。对于渐近线的目的,单个示例的直径是不重要的。你被要求找到一个具有足够大直径的无限图形族,并且图的单个例子不会影响无限族的渐近性。

也就是说,图形的直径(或强连通的有向图)可以用几种方式定义。一种可能性是从v到w并且回到所有对v和w的往返长度的最小值的一半的最大值,并且当v和w重合时为0。因此,具有一个顶点的图的直径为0。

同样,对于构建一个无限的家庭,这对你所拥有的练习毫无帮助。一个有一个节点且有许多边缘回归自己的​​家庭并不打算削减它。想一想如何为大直径的图形添加许多边缘,例如n循环或路径,而不会减小很多直径。