在有向图中查找边缘不相交路径的最大数量

时间:2012-09-29 17:43:00

标签: algorithm graph matching directed-acyclic-graphs

如何在有向图中找到最大边缘不相交路径数。图表未加权。 假设图表如下......

1 - 2 , 1 - 3 , 4 - 1 , 5 - 1

因此图表中有两条边缘不相交的路径,4->1->25->1->3

如何使用匹配算法解决问题?

我的问题是......假设我有一个有向图(可能包含循环)。 如果我在节点上放置一个“警卫”,它可以从该节点开始它的旅程。 警卫可以多次访问任何城市,甚至是其他警卫已经访问过的城市。 目标是找到保护所有节点的最小保护数量。

1 个答案:

答案 0 :(得分:1)

计算所有路径:

  • 从图表中的所有边缘开始,作为可用边缘列表。
  • 虽然仍有可用边缘,但请继续提取路径并对其进行计数。

提取路径:

  • 删除第一个(或任何)可用边缘并将其称为当前路径。
  • 尝试将当前路径的开始或结束与可用边缘的结束或开始匹配。
  • 如果没有可用的边缘匹配,则此路径已完成。
  • 如果可用边可以延长路径,则将其添加到当前路径,从可用边列表中删除该边,并继续尝试延长路径。