有一个简单的多项式算法可以确定有向图中两个节点之间是否存在路径(只需使用例如深度优先搜索就可以进行常规图遍历)。
但是,令人惊讶的是,如果我们不想计算存在的数量而不想测试路径的数量,那么问题就会变得更加棘手。
如果我们允许路径重用顶点,那么有一种动态编程解决方案可以找到从s到t的n条边的路径数量。但是,如果我们只允许不重复使用顶点的简单路径,那么我能想到的唯一解决方案是路径的蛮力枚举,这具有指数时间复杂性。
所以我问
- 计算两个顶点之间的简单路径数难吗?
- 如果是这样,那是NP完全的吗?(我说这是因为从技术上讲这不是决策问题...)
- P中是否还有其他类似的难点问题?**
顺便说一句,我现在实际上已经知道了这个问题的答案,但是我很好奇,如果我在最初提出这个问题的时候问回来将会得到什么样的答案。
—
hugomg