繁体   English   中英

循环有向图中的最长路径,其边具有受限的通过次数

[英]Longest path in cyclic directed graph with edges that have constrained number of passes

我有一个带循环的有向图。 这个图最重要的部分是每条边都有一个可以通过多少次的约束,之后它应该变得“不可用”。

我将如何 go 找到最长的路径? 任何信息或链接或评论将不胜感激。 谢谢!

不幸的是,这个问题是NP-complete ,这意味着不太可能存在“快速”算法(可以在多项式时间内解决每个实例的算法); 您需要满足于不能保证找到最佳解决方案的快速启发式算法,或者使用只能在合理时间内解决小实例的指数时间算法。

我将通过将有向图 (HP) 中的 NP 完全问题哈密顿路径简化为您的问题来展示这一点。 简而言之,这个想法是:如果存在某种算法可以“快速”解决问题的每个实例(意味着在多项式时间内),那么它也可以用作解决 HP 的每个实例的子程序——这似乎不太可能,因为尽管进行了数十年的 CS 研究,但没有人知道如何在多项式时间内解决 HP(或任何 NP 完全问题)。

在HP中,给定一个有向图G = (V, E),任务是判断是否存在一条访问所有|V|的路径。 顶点恰好一次。 给定这个问题的一个实例,我们可以为您的问题构造一个实例 G',如下所示:

  • 将每个顶点v替换为三个顶点v_in、v_mid和v_out,将所有入边改为v为入边为v_in,将所有出边从v改为出边; 将这些边缘称为“乌木边缘”(它们对应于 G 中的边缘)。 还要添加从 v_in 到 v_mid 和从 v_mid 到 v_out 的边; 将这些边称为“天鹅绒边”(它们对应于 G 中的一个顶点)。
  • 为每条边分配 1 的通过限制。

该图中存在长度为 3|V|-1 的路径当且仅当原始图 G 中存在哈密顿路径:

“如果”方向:假设 G 包含哈密顿路径。 这对应于构造图中长度为 3|V|-1 的路径,该路径以一对天鹅绒边开始和结束,并在天鹅绒和乌木边之间交替,模式为 VVEVVE...EVV。

“仅当”方向:假设在构建的图中存在长度为 3|V|-1 的路径 P。 每条边的通过限制为 1,因此每条边在这条路径中最多出现一次。 P 必须具有以下边缘模式之一:

  1. VVEVVE...EVV
  2. VEVVE...EVVE
  3. EVVE...EVVEV

在每种情况下,P 至少遍历与 G 中的每个顶点对应的两条天鹅绒边中的一条,因此对应于 G 中的哈密顿路径。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM