最小Manhattan网络的算法复杂性研究.docx
- 文档编号:29587274
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:15
- 大小:133.61KB
最小Manhattan网络的算法复杂性研究.docx
《最小Manhattan网络的算法复杂性研究.docx》由会员分享,可在线阅读,更多相关《最小Manhattan网络的算法复杂性研究.docx(15页珍藏版)》请在冰豆网上搜索。
最小Manhattan网络的算法复杂性研究
最小Manhattan网络的算法复杂性研究
摘要:
本文研究了最小Manhattan网络的复杂性和近似算法。
通过给出3-可满足问题的基于部件的归约,本文证明了最小Manhattan网络是强NP-完全的,从而解决了这一长达十年的未知问题。
此外,本文描述了一个时间复杂度为O(nlogn)的2-近似算法。
该算法在运行时间和近似度上都达到目前最优。
关键词:
NP完全性近似算法计算几何
Abstract:
Inthispaper,wehavestudiedthecomplexityofMinimumManhattanNetworkanditsapproximations.Usingagadget-basedreductionfrom3-SAT,weshowedthatMinimumManhattanNetworkisstronglyNP-complete,whichwasopenfortenyears.Moreover,wehavedescribeda2-approximationalgorithmwithtimecomplexityO(nlogn),whichhasthebesttimecomplexityandapproximationratiouptonow.
Keywords:
NP-completeness,ApproximationAlgorithm,ComputationalGeometry
引言
由于在城市规划,网络路由,分布式计算,大规模集成电路设计以及计算生物学[8]等众多领域的应用,J.Gudmundsson等人在文献[5]中首先提出了最小Manhattan网络(MMN)问题。
该问题的描述为:
对于平面上给定的若干个点,设计出由直线段构成的网络,使得任意两点间存在Manhattan路径(即由直线段构成且长度最短的路径),并在满足此条件的前提下使得网络总长度达到最短。
由于两点间Manhattan路径的长度同时也是L1范数下两点间的距离,可以看出,最小Manhattan网络问题等价于求L1范数下最小1-spanner的问题。
更一般的t-spanner问题参见[4]。
在文献[5]中,作者提出了如下的三个重要问题:
(1)MMN是否是NP-难的;
(2)是否存在该问题的PTAS近似方案;(3)是否存在该问题的2-近似算法。
同时,作者提出了一个时间复杂度为O(n3)的4-近似算法和一个时间复杂度为O(nlogn)的8-近似算法。
此后,研究者们提出了一系列具有更优近似度和更低时间复杂度的近似算法[1,2,3,9,10,11],其中[9,10]的证明是有缺陷的。
本文作者也提出了基于动态规划的时间复杂度为O(n2)的2-近似算法[6]和基于贪心策略的时间复杂度为O(nlogn)的2-近似算法[7],后者在近似度和时间复杂度上都达到了已知的最优。
本文作者通过给出从3-SAT到MMN的归约,证明了这一问题是强NP-完全的,从而解决了它的复杂性问题。
本文的前半部分将着重介绍这一归约,后半部分则用于描述[7]中的2-近似算法。
1预备知识
对于平面上两点p,q,p.x 定义垂直无限区域BV(p,q)为p,q间的垂直无界区域{(x,y)|p.x<=x<=q.x}。 类似地,我们将BH(p,q)定义为p,q间的水平无限区域。 记输入点集为T,对于T中的两点p,q,p.y 类似地可给出水平带的定义。 特别地,当p.x=q.x或p.y=q.y时,我们称这个带是退化的。 图1给出了一个水平带的实例。 图中点t位于q的右侧,因而不违反水平带的定义。 图1水平带 对于平面中的点p,记Qk(p)为平面上以p为原点,代表第k象限的区域(含坐标轴)。 例如Q1(p)={(x,y)|p.x<=x,p.y<=y}。 2归约框架 我们的主要目标是将一个由n个变量、m个子句组成的布尔公式ψ转换成顶点集T,使得ψ是可满足的当且仅当存在一个T上的最小Manhattan网络G,其总长度不超过一个多项式时间可计算的函数Q。 首先,在Manhattan网络中,我们可以用垂直和水平的带上的Manhattan路径来表示变量的赋值。 如图2所示,实线代表赋值为1,虚线代表赋值为0。 图2Manhattan路径与变量的赋值 其次,我们使用了若干部件(gadget)来完成归约。 归约后得到的输入点集T的整体结构如图3所示,两个标号为2i-1,2i(1<=i<=n)的相邻垂直线段分别用来表示文字xi和它的否定。 每个垂直线段的上部与部件DUMMY连接,下部与部件NEGATOR或TURN连接。 变量的赋值通过部件SPLITTER间接地到达部件CLAUSE。 部件CLAUSE连接的三条边分别表示一个子句中的三个文字。 在部 件CLAUSE中,三个变量的七种赋值(23-1)可以使部件内的局部网络最小化。 图3输入点集的整体结构 3部件的一般结构 我们的构造依赖于六个不同的部件,分别称为NEGATOR,TURN,SPLITTER,CLAUSE,ADAPTOR和DUMMY。 一般来讲,每个部件中含有T中的6个点,其相对位置如图4所示。 图4部件的一般结构 其中中间的两对点w1,g1以及w2,g2之间的距离极短,以至于可忽略不计。 在对部件的讨论中,我们按照特定的方式来摆放部件使得一个部件的b1和其他某一部件的b2形成一个带。 由于b1位于一个带的左下端,b2位于一个带的右上段,所有的带将依据这种依赖关系形成图3。 设B是一个边与坐标轴平行、且包含所有部件和带的大矩形。 将其顶点加入集合T。 对每个部件,再加入如图5所示的点。 图中实线代表的线段必然被包含在任何T上的Manhattan网络中,这些线段的集合称为EF。 图5输入点集T中额外的点 进一步,对任一部件,Manhattan网络必须包含该部件内部任意两点的路径。 对于不同的部件,这些点间的相对距离存在差异,并代表赋值间相应的关系。 在下面,我们将给出各类部件的设计思路。 其中连接w1,g1和w2,g2的线段长度忽略不计。 4部件的具体结构 为了独立地考察不同的部件,我们引入与每个带相关的潜在代价(potentialcost),其值固定地设为10。 每个部件得到与之相邻的带的潜在代价当且仅当带上的Manhattan路径位于部件的内部。 如图6所示,部件NEGATOR由两个相交的带组成。 部件中顶点的连接由与带对应的变量v1和v2的赋值决定。 NEGATOR的构造满足,当v1和v2的赋值不同时,部件中局部的Manhattan网络的代价最小,如表1所示。 图6部件NEGATOR 表1部件NEGATOR的代价函数表 v1 v2 线段长度 潜在代价 总代价 0 0 100 20 120 0 1 100 10 110 1 0 100 10 110 1 1 120 0 120 部件SPLITTER提供了一种传输信息(0-1赋值)的方法,使得代价取得最小值当且仅当部件里的三条带表示相同的赋值。 参见图7和表2。 图7部件SPLITTER 表2部件SPLITTER的代价函数表 v1 v2 v3 线段长度 潜在代价 总代价 0 0 0 77 10 87 0 0 1 72 20 92 0 1 0 69 20 89 0 1 1 67 30 97 1 0 0 107 0 107 1 0 1 87 10 97 1 1 0 87 10 97 1 1 1 67 20 87 由于初始时变量的赋值由垂直带来表示,部件TURN的作用是转换信息流的方向,使得代价取得最小值当且仅当部件中的两个交叉的带表示相同的赋值,参见图8和表3。 图8部件TURN 表3部件TURN的代价函数表 v1 v2 线段长度 潜在代价 总代价 0 0 40 10 50 0 1 40 20 60 1 0 60 0 60 1 1 40 10 50 部件CLAUSE用于在可满足的赋值和不可满足的赋值所对应的代价函数间形成一个间隙。 即在该部件中,代价可以对8种可能赋值中的7种赋值获得同样的最小值。 参见图9和表4。 图9部件CLAUSE 表4部件CLAUSE的代价函数表 v1 v2 v3 线段长度 潜在代价 总代价 0 0 0 70 20 90 0 0 1 80 10 90 0 1 0 70 30 100 0 1 1 70 20 90 1 0 0 80 10 90 1 0 1 90 0 90 1 1 0 70 20 90 1 1 1 80 10 90 然而,为了达到这样的目的,部件CLAUSE中的两个带的宽为10,小于标准带的宽度20。 为了构造我们所需要的网络,我们引入部件ADAPTOR(参见图10,表5)来连接两个不同宽度的带。 图10部件ADAPTOR 表5部件ADAPTOR的代价函数表 v1 v2 线段长度 潜在代价 总代价 0 0 55 10 65 0 1 68 0 68 1 0 47 20 67 1 1 55 10 65 为了给出每个垂直带的上界,我们引入部件DUMMY(参见图11,表6)。 图11部件DUMMY 表6部件DUMMY的代价函数表 v1 线段长度 潜在代价 总代价 0 55 10 65 1 55 10 65 5分析 对于含有n个变量,m个子句的布尔公式ψ,在归约后的网络中有m个CLAUSE部件,2m个ADAPTOR部件,m+n个TURN部件,m+n个NEGATOR部件,3m个SPLITTER部件和2n个DUMMY部件。 在归约后的顶点集合中,部件总数nG=8m+4n,带的总数nS=10m+3n。 下面的定理给出了T上的网络G是Manhattan网络的充要条件。 定理1: 一个顶点集合T上的网络G是Manhattan网络当且仅当G包含: (1)线段集合EF; (2)所有带上的Manhattan路径;(3)任意部件的局部Manhattan网络。 在下面的分析中,令LF为EF中线段的总长度,LS为所有带的总长度。 容易看到上述这些量都是n与m的多项式函数。 令Q=LF+LS+Σcostmin-10nS+1,则: 定理2: ψ可满足当且仅当存在T上的Manhattan网络G,总长不超过Q。 由于3-SAT问题是NP-完全的,结合这一性质和定理2的证明,我们得到 定理3: MMN问题是强NP-完全的,并且在P≠NP的假设下不存在FPTAS。 6Pareto包和楼梯元件 在文献3中,Chepoi等人首先引入了Pareto包的概念。 在MMN的近似算法设计中,Pareto包发挥着重要的作用。 下面,我们对Pareto包加以简单的介绍。 对于平面上任意两点p,q,若q到T中任意一点的距离不超过p到该点的距离,且q到T中某一点的距离比p到该点的距离短,则称p被q控制。 不被平面上任何点控制的点称为有效点(efficientpoint)。 Pareto包P(T)是由平面上所有有效点组成的集合。 图12给出了一个Pareto包P(T)的实例。 图12点集T及对应的Pareto包P(T) 进一步,我们可以发现Pareto包是若干直线型凸多边形(ortho-convexrectilinearpolygons)的并集,每一个直线型凸多边形称为一个块(block)。 在文献[3]中,V.Chepoi等人将块的概念进一步区分为平凡块和非平凡块。 平凡块的最小Manhattan网络是可以轻易构造出的。 另一方面,他们证明了: 选取非平凡块的边界作为Manhattan网络的一部分一定是最优的。 因而,原问题可被归约为: 对每个非平凡块,设计其上的最小Manhattan网络。 并且对于归约后的问题,我们可以通过计算Pareto包得到最优网络的一部分,即非平凡块的边界。 在我们的近似算法设计中需要用到的另一概念被称为楼梯元件。 首先,对于T中任一点p,定义fxk(p)为Qk(p)中除p外水平坐标最接近p.x的输入点,类似地定义fyk(p)为Qk(p)中除p外垂直坐标最接近p.x的输入点。 特别地,如果不存在这样的点,则置其值为NULL。 不难给出对T中所有点计算fxk和fxk的O(nlogn)时间算法,分别用CreateCandidatesxk和CreateCandidatesyk来表示。 对相交的垂直带R(p,q)和水平带R(p’,q’),第三象限对应的楼梯元件Tpp’|qq’被定义为除q,q’外满足fx3(t)=p或fy3(t)=p’的点t的集合,如图13所示。 类似地可给出其它三个象限相应的楼梯元件的定义。 图13第三象限对应的楼梯元件Tpp’|qq’ 7近似算法描述 下面我们给出近似算法的描述: 首先,计算Pareto包P(T),然后对不同的块独立地构造Manhattan网络。 对非平凡块,我们可以简单地将其中的两点用Manhattan路径相连,从而得到最优的Manhattan网络。 对非平凡的块,我们首先运行一个分解过程Decompostion,将点集T分解为水平带和垂直带中的点和楼梯元件中的点。 之后,我们分别地对水平和垂直带以及楼梯元件这两部分构造Manhattan网络。 在水平带和垂直带中,构造过程是迭代的,如图14所示。 在该过程第一阶段,每次选取非平凡块边界上的一条线段,将该线段加入网络中,同时添加新的点,并将水平带和垂直带用添加了点后的带来替换。 在第二阶段,每次选取一条水平带或垂直带,添加其边界上平行的两条线段,类似地添加新的点,并更新水平带和垂直带。 最后,我们在平行线段间添加转换线段(switchsegment)将其桥接起来。 可以证明在这样的构造下,水平和垂直带中Manhattan路径总长度不会超过最优解的2倍。 图14构造水平带和垂直带上Manhattan路径的过程 在对楼梯元件中的点建立Manhattan网络时,出于方便,我们首先定义楼梯(staircase)的概念。 由于对每个楼梯元件Tpp’|qq’,其水平和垂直带R(p,q)以及R(p’,q’)中的Manhattan路径已经得到,对应的楼梯Spp’|qq’可定义为由这两条路径以及楼梯元件中的点所界定的平面区域,如图15所示。 其中所有已加入网络的Manhattan路径都已从该区域中去掉,在图中用虚线表示。 图15楼梯的定义 网络的具体构造运用了贪心和递归的思想,其大致过程为: 对于每一个楼梯S(不失一般性,假设该楼梯是关于第三象限的),每次选取楼梯元件中相邻的两点ti,ti+1,并添加水平线段hi和垂直线段vi+1,将楼梯划分为具有相同性质但更小的楼梯Topi(S)和Righti+1(S)。 由于新的楼梯保持了原有的不变量,这个过程可以递归地进行下去。 ti,ti+1的选取采用贪心策略,目标为: hi,vi+1中较短的线段长度达到最大。 可以证明在这样贪心策略下,构造出的局部网络是2-近似的。 这里线段hi,vi以及区域Topi,Righti的定义见图16。 经过以上两步构造过程,算法成功地给出了可行解,即T上的一个Manhattan网络。 如前所述,在楼梯和带中,我们构造的网络都是2-近似的。 并且,由于楼梯和带之间是不相交的,没有线段会被重复计算,从而整个可行解也是2-近似的。 图16hi,vi,Topi,Righti的定义 定理4: 对于给定包含n个点的输入点集T,存在算法在O(nlogn)的时间内计算出T上的一个Manhattan网络,其总长度不超过最优网络的2倍。 参考文献 1.M.Benkert,A.Wolff,andF.Widmann.TheminimumManhattannetworkproblem: afastfactor-3approximation.Proceedingsofthe8thJapaneseConferenceonDiscreteandComputationalGeometry,2005,pages16-28. 2.M.Benkert,T.Shirabe,andA.Wolff.TheminimumManhattannetworkproblem: approximationsandexactsolution.Proceedingsofthe20thEuropeanWorkshoponComputationalGeometry,2004,pages209-212. 3.V.Chepoi,K.Nouioua,andY.Vaxès.AroundingalgorithmforapproximatingminimumManhattannetworks.TheoreticalComputerScience,390(2008): 56-69. 4.D.Eppstein,Spanningtreesandspanners,J.R.Sack,J.Urrutia(Eds.),HandbookofComputationalGeometry,ElsevierSciencePublishersB.V.North-Holland,Amsterdam,2000,pages425-461. 5.Gudmundsson,C.Levcopoulos,andG.Narasimhan.ApproximatingaminimumManhattannetwork.NordicJournalofComputing,8(2001): 219-23 6.Z.Guo,H.Sun,andH.Zhu.Afast2-approximationalgorithmfortheminimumManhattannetworkProblem.Proceedingsof4thInternationalConferenceonAlgorithmicAspectsinInformationManagement,2008,pages212-223. 7.Z.Guo,H.Sun,andH.Zhu.Greedyconstructionof2-approximationminimumManhattannetwork.Proceedingsofthe19thInternationalSymposiumonAlgorithmsandComputation,2008,pages4-15. 8.F.Lam,M.Alexandersson,andL.Pachter.Pickingalignmentsfrom(Steiner)trees.JournalofComputationalBiology,10: 509-520,2003. 9.K.Nouioua.EnveloppesdeParetoetRéseauxdeManhattan: Caractérisationsetalgorithmes,Ph.D.thesis,UniversitédelaMéditerranée,2005. 10.R.Kato,K.Imai,andT.Asano.AnimprovedalgorithmfortheminimumManhattannetworkproblem.Proceedingsofthe13thInternationalSymposiumonAlgorithmsandComputation,2002,pages344-356. 11.S.SeibertandW.Unger.1.5-approximationoftheminimalManhattannetworkproblem.Proceedingsofthe16thInternationalSymposiumonAlgorithmsandComputation,2005,pages246-255. 后记(致谢): 在此,我要感谢朱洪老师和孙贺老师。 这个课题的顺利完成,离不开他们对我的悉心帮助。 他们曾多次与我探讨课题的研究,并给出了富有启发性的建议。 正是他们的努力使得我获得了赴香港大学合作交流的难得经历。 同样,我也要感谢䇹政基金提供给我的机会,希望复旦大学的本科生学术研究资助计划越办越好! 指导教师评语 在该课题中,郭泽宇解决在Manhattan网络的复杂性分析这一计算几何领域十年未决的难题,其发表的三篇论文显示了他对这一问题深入的洞察力,其成果获得了国际同行的广泛认可。 通过一年的锻炼,郭泽宇目前已经能够独自地阅读文献、钻研问题,具备了独立研究的能力。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最小 Manhattan 网络 算法 复杂性 研究