对于NP完全问题(搜索版本),验证解决方案显然比查找解决方案容易,因为验证可以在多项式时间内完成,而找到证人则需要(可能)指数时间。
但是,在P中,解决方案也可以在多项式时间内找到,因此当验证比找到解决方案快时,它似乎并不明显。实际上,从这个角度来看,不同的问题似乎表现出不同的行为。一些例子:
3SUM:给定输入数字,在其中找到3个总和为0。据我所知,最快的已知算法在 时间内运行,并且此顺序被推测为最佳。另一方面,解决方案的验证要快得多,因为我们要做的只是检查所找到的3个数字的总和是否为0。O (n 2 − o (1 ))
全对最短路径: 给定具有边权重的图形,计算其最短路径距离矩阵。一旦给出这样的矩阵,是否可以比重新计算更快地检查它是否确实是正确的距离矩阵?我的猜测是,答案可能是肯定的,但肯定不如3SUM明显。
线性规划。如果给出了要求保护的最优解决方案,则在还给出辅助信息的情况下,检查比重新计算要容易得多(最优对偶解决方案)。另一方面,如果仅原始解决方案可用,则不清楚是否可以比实际解决LP更快地对其进行检查。
问题:对这个问题了解多少?也就是说,什么时候比P容易找到解决问题的方法?