Fine-Grained学习笔记(4):条件下界与归约,图论问题的复杂度归约理论

和P与NP问题一样,Fine-Grained领域中的许多问题也能相互归约,这意味着当这些问题中的任意一个问题的复杂度下界得到了证明或证伪,那么一系列问题的复杂度下界就都能够得到解决.

APSP猜想:

不存在O(|V|3δ)时间的(对于任意实数边权图都有效的)(确定性的)APSP算法.

APSP猜想的有限整数权值版本:

不存在O(|V|3δ)时间的,对于边权为[U]中元素的图的(确定性的)APSP算法.

(注意,Zwick算法是一个存在着得不到最优解的可能性的随机化算法.)

理论:

对于整数权值的情况:

APSP问题存在着O(|V|3δ)的算法,其中δ>0

最小权值三角形问题存在着O(|V|3δ)的算法,其中δ>0

图的半径问题存在着O(|V|3δ)的算法,其中δ>0

问题:(min,+)矩阵乘的决定性问题版本:

给定n×n的矩阵A,B,D,对于每一对i,j,判断是否k,aik+bkjdij

问题:负权值三元环(NWT)问题:

给定三分边权图G=(V=(XYZ),E),记O(|X|)=O(|Y|)=O(|Z|)=O(n),"三分"指的是图中点被划分成了三个不相交的集合X,Y,Z,同一集合中的点之间没有边:E(X×Y)(YZ)(ZX),如下图所示

NWT的单解版本:

判断是否xX,yY,zZ,w(x,y)+w(y,z)+w(z,x)0,若是,则给出一组满足条件的(x,y,z)

NWT的全局解版本:

判断每条边(z,x)(Z×X)E,是否y,w(x,y)+w(y,z)+w(z,x)0

NWT的决定性问题版本:

仅判断是否xX,yY,zZ,w(x,y)+w(y,z)+w(z,x)0并给出是或否

问题:图的半径:

对于(连通)图G=(V,E),对于所有vV,记rad(v)为点v到其他点距离的最大值,找到点v使得rad(v)的值最小,这个点称之为中心点,这个值即为图G的半径(rad(G))

问题:图的直径:

对于(连通)图G=(V,E),找出所有u,vV中使得d(u,v)最小的u,v,记diam(G)=d(u,v)

问题:零权值三元环(ZWT)问题:

给定三分边权图G=(V=(XYZ),E),E(X×Y)(YZ)(ZX),记O(|X|)=O(|Y|)=O(|Z|)=O(n),判断是否xX,yY,zZ,w(x,y)+w(y,z)+w(z,x)=0

理论的证明:

方法:归约

(博主注:归约AB可以理解为拥有一个求解问题B的预言机(Oracle),然后使用这个预言机构造求解A的算法.)

归约APSP问题(整数无范围限制的)(min,+)矩阵乘问题:

假设(整数无范围限制的)(min,+)矩阵乘问题能在O(n3δ)时间内解决,其中δ>0,那么,对于图G=(V,E)上的APSP问题,重复对|V|×|V|的距离矩阵进行log|V|次的矩阵乘法,时间复杂度T(n)=O(|V|3δlog|V|)O(|V|3δ),其中δ>0

归约(有限整数范围下的)(min,+)矩阵乘(min,+)矩阵乘的决定性问题版本:

假设n×n的,元素均在[U]范围内的(min,+)矩阵乘决定性问题能在O(n3δ)时间内解决,那么使用(min,+)矩阵乘的决定性问题模拟在矩阵的n×n个点位上进行二分查找,共需logU次,总时间复杂度T(n)=O(n3δlogn)O(n3δ),其中δ>0

(min+)矩阵乘的决定性问题版本NWT问题的全局解版本:

An×nBn×n进行(min,+)矩阵乘并与Cn×n进行比较的决定性问题版本中,A,B中的元素aik,bkj对应着G=(V=(XYZ),E)的NWT问题全局解版本中,边(xi,zk),(zk,yj)的权值(若边不存在,则对应值为正无穷,即(min,+)矩阵乘在i,j点位的结果必定为否),cij对应着边(xi,yj)的权值的相反数(若边不存在,则对应值为负无穷,即(min,+)矩阵乘在i,j点位的结果必定为否).

归约NWT问题的全局解版本NWT问题的单解版本:

假设存在一个预言机能够在T(n)=O(n3δ)时间内,解决三分边权图G=(V=(XYZ),E)上的NWT问题单解版本,为解决NWT问题的全局解版本,将点集X,Y,Z分别划分成大小为大小为O(n/r)的点集X1,,Xr,Y1,,Yr,Z1,,Zr,

对于每组i,j,k[r],进行以下步骤:

  重复进行以下内容直到退出:

    调用预言机以解决Xi,Yj,Zk上的NWT问题单解版本

    若存在可行解:

      将这个负三元环记录下来

      将这个负三元环从边集E中删除

      回到循环开始(再一次搜寻这一组i,j,k)

    若不存在可行解:

      退出循环(搜索下一组i,j,k)

返回记录下的所有负三元环

该程序最多需要调用预言机的次数为r3(对每组i,j,k调用一次)+k(删去k组可行解),那么总的时间复杂度T(n)=O((r3+k)T(n/r))O((r3+n3)T(n/r)),取r=n2/3,T(n)=O(n2T(n1/3))O(n2(n1/3)3δ)=O(n3δ/3)

归约NWT问题的单解版本NWT问题的决定性版本:

假设存在一个预言机能够在T(n)=O(n3δ)时间内,解决三分边权图G=(V=(XYZ),E)上的NWT问题决定性版本,为解决NWT问题的决定性版本,将点集X,Y,Z分别划分成大小为大小为O(n/2)的点集X1,X2,Y1,Y2,Z1,Z2

对于每组i,j,k{1,2}

  调用预言机判断在Xi,Yj,Zk中是否存在负三元环

  若存在:

    将Xi,Yj,Zk再重新各自折半拆分并递归调用该程序,直到|Xi|=|Yj|=|Zk|=1,此时便找到了负三元环.

  若不存在:

    继续搜索下一组(i,j,k)

算法的运行时间T(n)T(n/2)+8T(n/2)O(n3δ)

归约NWT图的半径问题:

假设图的半径问题可以在T(n)=O(n3δ)时间内解决,那么为了解决三分边权图G=(V=(XYZ),E)上的NWT问题,取M>maxeE|w(e)|,然后按如下的方式构造图G^:

然后调用预言机在T(O(n))O(n3δ)时间内计算该图的半径.

命题:

G存在着负三元环 rad(G^)<3M

证明:

:

G中存在着负三元环xi,yj,zk,那么xi到其他点的距离必然均<3M.

:

G^的半径<3M,容易推出中心点必在X中,将其记为xi,那么,d(xi,xi)<3M,这意味着

yj,zkd(xi,yj)+d(yj,zk)+d(zk,xi)

在图Gyj,zk,(w(xi,yj)+M)+(w(yj,zk)+M)+(w(zk,xi)+M)<3M

w(xi,yj)+w(yj,zk)+w(zk,xi)<0

便在G中找到了负三元环.

待解决的问题:APSP图的直径? 

引理:将不等转化为相等

给定三个整数a,b,c,a+b+c>0 ia2i+b2i+c2i{1,2,3,4,5,6,7} 

证明:

:

a2i+b2i+c2i{1,2,3,4,5,6,7}

a2i+b2i+c2i  

a+b+c>0

:

a+b+c>0,

2i+2a+b+c<2i+3(i0)

4a2i+b2i+c2i<8

1a2i+b2i+c2i7

归约(边权为有限整数的)NWTZWT:

假设三分边权图的ZWT问题可以在T(n)=O(n3δ)时间内解决,那么,对于三分边权图G=(V=(XYZ),E),其中E中元素均[U,U],上的NWT问题,那么,根据以上引理

对于所有的i[logU]:

  对于所有的j=1,2,3,4,5,6,7:

    在图G=(V=(XYZ),E={(u,v,t2i+j/3)|(u,v,t)E})上运行NWT的预言机,若找到零三元环则返回.

总时间复杂度为O(T(n)logU)O(n3δ)

总结:

(博主注1:若能归约AB,即用B的预言机来构造A的算法,则若存在B的(限定复杂度的)算法,能够推出A也存在算法,反之未必.若A不存在算法,则能推出B也不存在算法,反之未必.)

(博主注2:因为归约过程中涉及了二分查找,在复杂度中引入了一个logU的量,因此,图中所有问题的权值/矩阵元素最大值U中所包含的含n的项不能超过多项式级,才能保证O(n3δlogU)O(n3δ))

posted @   Isakovsky  阅读(68)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
点击右上角即可分享
微信分享提示