【发布时间】:2019-05-12 19:51:07
【问题描述】:
我有两个单独的问题,一个是围绕图形,另一个是确定一种方法来找到一条从 s 到 t 的简单路径,该路径通过尽可能多的蓝色顶点。此外,我必须确定这两个问题中的哪一个是 NP-Hard。
第一个问题中的图是一个无向图,其中一些顶点是蓝色的,而另一个问题中的图是一个有向无环图,其中一些顶点是蓝色的。
我得到一个提示,有向无环图的第二个问题可以使用动态规划来解决,但我很难理解如何将问题建模为动态规划问题,因为我不太了解看到子问题的重叠。也许有人可以证明或澄清如何做到这一点?
第一个问题也应该是 NPHard 问题,可以简化为哈密顿路径,我可以部分看到这是如何正确的,但是问题出现了,有向无环图的第二个问题是否也可以简化到哈密顿路径,也使它成为 NPHard?为什么或者为什么不?
【问题讨论】:
标签: algorithm graph dynamic-programming np-hard