我得到了一个有n个节点和边的有向图,每条边都有一个长度为m的由1、0、-1数字组成的向量权重。我想找到任意一条路径(或者说这样的路径不存在),从一个节点到另一个节点(我们可以多次访问节点),使其权重之和等于只包含零的向量。我考虑使用暴力回溯算法,但不能保证它会结束。我们能否通过限制路径长度来控制n和m?以n=8,m=2为例的图形如下: 路径示例
我们可以通过注意到,如果这样的路径存在,它必须由简单路径和一些环的混合组成,从而限制路径长度的上界。每个路径最多可以有长度n。对于每个循环,我们可以有效地应用一个向量,该向量对应于通过其中一个这样的循环进行的更改。我们只能构造m个线性独立的循环(请注意,我们可能需要朝两个方向走),这足以覆盖简单路径本身的任何向量成本,因此我们可以通过正确地经过每个循环来解决任何残余(这取决于这样一条边的成本)。我们必须经过不同循环的次数的数量受到等效长度的最小公倍数的上界约束,这些不同循环的向量效果具有(大致)渐近边界O(n^2m)。如果这个上界成立(您可以通过将n分成大约n / m大小的m个区域,然后使它们成为从n / m倒数的质数长度,并将它们的依赖关系链接在一起来构造一个与之相当接近的情况,这将给出´O((n/m)^m)`),那么解决方案的指数大小,这意味着使用(并报告)未压缩的路径长度的任何算法都不适合PSPACE(它是P和NP的超集)。