二分图中边缘不同路径的数量

时间:2015-11-30 05:55:55

标签: algorithm graph-theory bipartite

我们有一个二分图,其中集合A有n个顶点,集合B有n个顶点。

同样,A组中的每个顶点都有k个边来设置B,而B组中的每个顶点都有k个边来设置A.

有一个特殊的顶点 s ,它包含要设置A的所有顶点的边,以及一个特殊的顶点 t ,它具有B中所有顶点的边。

如何证明从s到t有k个边缘不同的路径?

enter image description here

我面临的问题是,它要求给出上面提到的图形(减去顶点s和t),我需要证明如果在每一轮我以一种我能够的方式从A到B去除所有边缘不要从相同的顶点移除多个边缘,有一种方法可以执行此移除操作,以便A和B在k轮中断开连接。

1 个答案:

答案 0 :(得分:1)

  

同样,A组中的每个顶点都有k个边来设置B和每个顶点   set B有k个边来设置A.

=> A中存在至少k个顶点,B中至少存在k个顶点。(I)

现在我们使用:

  

有一个特殊的顶点,它有所有顶点的边来设置A,   和一个特殊的顶点t,它包含B中所有顶点的边。

(我们将调用(II))以显示从ks必须至少有t边缘不相交路径。

考虑以下删除过程:

  1. s转到A中的顶点v_a

  2. v_a转到B中的顶点v_b

  3. v_b转到t

  4. 删除此路径上的所有边缘(以确保我们以后不会重复使用它们)

  5. 注意:一个此类删除回合恰好对应于从st的路径。

    现在:我们可以至少k次重复此删除过程。为什么?

    因为在k-1轮后,由于(I),A中必须至少保留一个顶点v_a_last。由于(II),可以从s到达该顶点。此顶点v_a_last必须在B中至少有一个相邻的顶点v_b_last,我们还没有出现v_a_lastk中有B个邻居但我们有到目前为止,我们最多只发现了k-1k-1,因为到目前为止我们只进行了v_b_last次删除。由于到目前为止我们还没有v_b_last,因此tk的边缘仍然必须在图表中。因此,在s轮次中,我们可以从v_a_lastv_b_lasttk-th,这是来自{s边缘不相交的路径1}}到t