限制仙人掌图上的有向路径

问题描述

我想找到cactus graph上具有特定限制定向路径的最长路径距离。

例如,如果我们有以下4个节点,

enter image description here

这意味着

  • 如果我们访问1,我们将无法再访问2

即,不允许1→2和1→3→2。 但是,允许2→1。

类似

  • 不能从2行驶到3

  • 不能从3行驶到1

  • 不能从1到0行驶

  • 可以旅行其他任何人

因此,我们有可能的路径(1、3、2),(0、2、1),依此类推。因此,最长距离是3,而我们永远不会得到4。

enter image description here

在这种情况下,答案是9。(4、5、6、7、8、0、9、2、3),等等...

我在这个问题上停留了一个星期。我仍然不知道该如何处理。谢谢。

解决方法

观察1:当且仅当该节点集合诱导没有循环的子图时,该节点集合上才存在路径*。证明:如果存在一个循环,则我们无法访问该循环的所有节点,因为该循环中位于其之前的节点禁止访问最后一个节点。如果没有循环,则反转子图中的所有弧,并找到拓扑顺序。

观察2:此问题等效于经典的NP难题minimum feedback vertex set,该问题要求删除其消除所有周期的最小节点集。

在声明的仙人掌图中有有效的反馈顶点集算法,例如Das (2012)

*这个问题的路径似乎是用非标准的方式定义的,因为节点序列是无重复的,因此对于图中的每个弧,弧的头部不会出现在尾部之后。这是与示例图(4、5、6、7、8、0、9、2、3)的解决方案相符的定义,该示例图中有多个不通过弧线连接的连续顶点。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...