题
给定连接图和两个节点s和t,可以有许多不同的简单路径(没有循环)从s到t。是否有一种有效的算法来找到这些路径的平均长度?
解决方案
我猜你已经知道,用于计算两个节点之间简单路径数的多项式算法将意味着p= np,这结果是由于valiant(枚举和可靠性问题的复杂性,1979)。
现在想象一下,期待发现一个矛盾,你可以计算多项式时间中的 $ \ text {avg}(g,u,v)$ 。let $ g + l $ 是添加长度的简单路径 $ l $ 在<跨越类=“math-container”> $ u $ 和 $ v $ 中的 $ g $ 。此新路径由 $ l-1 $ 新节点,它不会干扰来自 $ u $ 到 $ v $ ,提供 $ l \ geq 2 $ 。
然后, $ \ text {avg}(g + 3,u,v) - \ text {avg}(g + 2,u,v)$ = $ 1 /(\#\ text {paths}(g,u,v)+1)$ ,您可以从中获取 $ \#\ text {paths}(g,u,v)$ 在多项式时间中。但我们知道这不能在多项式时间内完成这一矛盾。
不隶属于 cs.stackexchange