有向图中的循环

时间:2011-09-01 05:40:06

标签: algorithm graph graph-algorithm

想知道我们是否可以证明以下内容,或者是否已经证明我可以在哪里获得证明。

令v1,v2,v3 ... vn和t为有向图中的n + 1个顶点。 v1,v2,v3 ... vn形式有向无环图。 t连接到v1,v2,v3 ... vn的每个人。现在由于v1,v2,v3 ... v4以非循环方式连接,如果有一个循环,那么它将涉及t。我们能否证明所有长度超过3的循环总是涉及长度为3的循环。记住t连接到每个v1,v2 ... vn并且没有成对循环。

进一步解释问题。

假设顶点v1,v2,v3..vn的非循环有向图是v1-> v2-> v3-> ... vn。每个v都有一个t的边。假设存在周期t-> v1-> v2-> v3-> t。这样的循环似乎肯定涉及长度为3的循环,其中t-> v1-> v2-> t或t-> v2-> v3-> t。但是无法证明这一点。

由于

3 个答案:

答案 0 :(得分:5)

基本思想是最短周期的长度为3,因为(我假设)t通过一个且只有一个边连接到任何其他顶点,而其他顶点不形成没有t的周期。

所以一个循环至少有t和另外两个顶点。

与t形成循环的两个顶点之间的任何路径长度为3或更长。

对于这样一个循环,你可以在直接连接到彼此的路径上找到两个顶点(邻居),它们都连接到t,因此它们形成一个长度为3的循环。

想象一下v [a]和v [b]之间的路径作为车轮的一部分,路径上的顶点v [i]连接到t作为辐条......你总能找到一个较短的部分在v [a]和v [b]之间。

[直接图的补充]
设v [a]来自t,v [b]转到t,v [a]导致v [b]。 如果v [a]和v [b]之间的循环是长度3,则该陈述成立。 否则,在v [a]转到t(但不是v [b])之后必须有一个顶点,或者v [b]来自t(但不是v [a])之前的顶点,其周期至少为一个(只有两个方向可供选择:从t或t)。 以较短的周期重复,直到达到3的长度。

答案 1 :(得分:5)

  

让我们按案例使用证明方法:

(因为很难输入符号,我扫描了手写页面,我附上这里供你参考。)

让我们考虑一个图G,顶点为v1,v2,v3 ...... vn。让Graph G成为非循环有向图。

page1 page2

如果k = 0, 显然,t-> vi-> vj-> t具有长度为3的子循环。

因此证明了。

希望有所帮助!

答案 2 :(得分:2)

简单证明:

  1. 假设t是包括va和vb以及其他节点的循环的一部分,其中存在边缘t - > va和vb - >吨

  2. 然后在va和vb之间的循环中有一系列节点[vc,vd,ve ...];

  3. 获取set中的第一个节点--vc。有从t到vc的边缘,或从vc到t的边缘(如你所说);

  4. 4A。如果边缘是从t到vc,则周期比涉及[t,va,vb]的周期短,因为我们可以直接从t跳到vc,绕过va;此外,如果这个新周期长度大于3,则可以从步骤1开始对新周期重复此过程。

    4b中。否则,边缘从vc到t,并且存在一个长度为3 - t到va,va到vc,vc到t的周期。

    因此,任何周期都可以减少到3。