Questions tagged «graph-algorithms»

图上的算法,不包括启发式算法。


1
对于立方图,是否存在最大度数为3的图难的问题?
三次图是每个顶点都具有3度的图。已经对其进行了广泛的研究,我知道几个NP难问题仍然是NP难问题,甚至仅限于三次图的子类,但是其他一些问题变得更容易了。三次图的超类是最大度的图的类。Δ ≤ 3Δ≤3\Delta \leq 3 对于三次图,在多项式时间内是否可以解决任何问题,但是对于最大度图,这是NP-难的?Δ ≤ 3Δ≤3\Delta \leq 3

10
在非加权图上很容易解决的问题,在加权图上很难解决
无论是未加权图还是加权图,许多算法图问题都可以在多项式时间内解决。一些示例包括最短路径,最小生成树,最长路径(在有向无环图中),最大流,最小割,最大匹配,最佳树状化,某些最密集的子图问题,最大不相交的有向割,某些图类中的最大集团,最大独立在某些图类中设置,各种最大不相交路径问题等。 有,但是,这是在多项式时间解决一些(虽然可能显著更少)的问题不加权的情况下,反而变得很难(或者打开状态)的加权情况。这是两个示例: 鉴于nñn -点完全图,和一个整数k≥1ķ≥1个k\geq 1,找到一个跨越kķk -连通子与边缘的最小可能数。这可以使用F. Harary定理在多项式时间内求解,该定理说明了最佳图的结构。另一方面,如果对边缘进行加权,则找到连接的最小权重kķk跨度子图为NPñPNP -hard。 S. Chechik,MP Johnson,M.Parter和D.Peleg(请参阅http://arxiv.org/pdf/1212.6176v1.pdf)最近(2012年12月)的论文 考虑了路径问题。调用最小暴露路径。在这里,我们要寻找两个指定节点之间的路径,这样路径上的节点数加上路径上具有邻居的节点数是最小的。他们证明,在有限度的图表这可以在多项式时间内解决了未加权的情况下,却变成难的在加权情况下,即使有度的约束4(注:参照被发现为这个问题的答案是什么路径问题的复杂性?)NPñPNP 具有这种性质的其他一些有趣的问题是什么,也就是说,切换到加权版本会导致“复杂性跳跃”?

1
生成塔防迷宫,也就是在未加权的网格图中找到K个最重要的节点(“逐层拦截”)
在塔防游戏中,您具有一个带有起点,终点和许多墙的NxM网格。 敌人从头到尾都经过最短的路径而没有穿过任何墙壁(它们通常不局限于网格,但为简单起见,假设它们是栅格。在两种情况下,它们都不能穿过对角的“孔”) 问题(至少对于这个问题而言)是放置多达 K个额外的墙,以最大化敌人必须走的路,而不会完全阻碍从终点开始。例如,对于K = 14 我确定这与“ k个最重要的节点”问题相同: 给定一个无向图G =(V,E)和两个节点s,t∈V,k个最重要的节点是k个节点,其删除使从s到t的最短路径最大化。 Khachiyan等人1表明,即使该图未加权和二部图,即使将最大最短路径的长度近似为2也是NP-Hard (给定k,s,t)。 然而,一切并没有丢失:后来,L。Cai等人2表明,对于“二分置换图”,可以使用“相交模型”在伪多项式时间内解决此问题。 我还无法在未加权的网格图上找到任何东西,也无法确定“二分置换图”之间的关系。 是否有任何有关我的问题的研究发表 -也许我正在寻找完全错误的地方?即使是体面的伪多项式逼近算法也能很好地工作。谢谢! 1 L. Khachiyan,E。Boros,K。Borys,K。Elbassioni,V。Gurvich,G。Rudolf和J. Zhao,“关于短路径拦截问题:完全和节点明智的有限拦截,”计算机系统理论43( 2008),2004-233。 链接。 2 L. Cai和J. Mark Keil,“在间隔图中找到k个最重要的节点”。 链接。 注意:这个问题是我在此处发现的stackoverflow问题的后续问题。

5
现实世界中的Vertex Cover应用程序
顶点覆盖问题在现实世界中有什么应用? 哪个行业或研究项目使用了基于Vertex Cover问题理论结果而实际实施的软件?特别是,是否在二手软件中实现了以下任何理论结果? 顶点覆盖的近似算法 顶点覆盖的指数时间算法 顶点覆盖的固定参数可处理算法 顶点覆盖的内核化算法

7
在图形中查找双顶点
令G=(V,E)G=(V,E)G=(V,E)为图。对于的顶点,将定义为中的(开放)邻域。也就是说,。定义两个顶点在是双胞胎如果和具有相同的组的邻居的,即,如果。x∈Vx∈Vx\in VN(x)N(x)N(x)xxxGGGN(x)={y∈V|{x,y}∈E}N(x)={y∈V|{x,y}∈E}N(x)=\{y\in V \,\vert\, \{x,y\}\in E\}u,vu,vu,vGGGuuuvvvN(u)=N(v)N(u)=N(v)N(u)=N(v) 给定一个在个顶点上有边的图作为输入,如果存在这样的一对孪生,我们可以在多快的时间内找到的一对孪生?GGGnnnmmmGGG 通过比较两个邻域的邻域,可以检查两个给定的顶点在时间是否为双胞胎。一个简单的算法是找到双胞胎,因此要为每对顶点检查它们是否为双胞胎。这需要时间(并且还会找到所有双胞胎对)。在图中找到(如果存在)一对双胞胎是否有明显更快的方法?文献中是否有解决此问题的已知工作?O(n)O(n)O(n)O(n3)O(n3)O(n^{3})


3
每个最小分隔符都是一个独立集合的图
背景: 令为无向图G = (V ,E )的两个顶点。一个顶点组小号⊆ V是一个ü ,v -separator如果ù和v 属于不同的连接的部件ģ - 小号。如果没有u的适当子集,则v分隔符S是u ,v分隔符,则S是最小u ,vu,vu,vu, vG=(V,E)G=(V,E)G=(V,E)S⊆VS⊆VS\subseteq Vu,vu,vu,vuuuvvvG−SG−SG-Su,vu,vu,vSSSu,vu,vu,vSSSu,vu,vu,v-分隔器。一个顶点组是一个(最小的)分离器,如果存在顶点ü ,v使得小号是一个(最小的) Ü ,v -separator。S⊆VS⊆VS\subseteq Vu,vu,vu, vSSSu,vu,vu,v G. Dirac的一个众所周知的定理指出,当且仅当其最小分隔符中的每一个都是集团时,图才具有至少四个长度的诱导周期(称为三角图或弦图)。众所周知,三角图可以在多项式时间内识别。 我的问题:每个最小分隔符都是一个独立集合的图是什么?这些图被研究了吗?这些图的识别复杂度是多少?此类图的示例包括树和循环。

2
Max-Cut算法不起作用,不清楚原因
好的,从某种意义上讲,这似乎是一个作业问题。作为本科算法课的一项家庭作业,我讲了以下经典著作: 给定一个无向图,给出一种算法,该算法可以找到一个切口使得,其中是穿过切口的边数。时间复杂度必须为。G=(V,E)G=(V,E)G=(V,E)(S,S¯)(S,S¯)(S,\bar{S})δ(S,S¯)≥|E|/2δ(S,S¯)≥|E|/2\delta(S,\bar{S})\geq |E|/2δ(S,S¯)δ(S,S¯)\delta(S,\bar{S})O(V+E)O(V+E)O(V+E) 由于某种原因,我得到了很多以下解决方案。现在,它确实花费了太多时间,所以这不是分级的问题,但是我感到很好奇。它“似乎”不正确,但是我所有的反例尝试都失败了。这里是: 设置S←∅S←∅S\leftarrow \emptyset 设为图中的最大度顶点vvv 将加到vvvSSS 删除与相邻的所有边vvv 如果返回2δ(S,S¯)&lt;|E|/2δ(S,S¯)&lt;|E|/2\delta(S,\bar{S}) < |E|/2 请注意,步骤5 中的是指原始图形。还要注意,如果我们跳过了步骤4,这显然是错误的(例如,一个三角形的两个独立边的并集)。EEE 现在,任何简单的证明都有以下​​问题-可能是,当我们添加新的顶点,实际上删除了在添加新边(其中指删除边的图形同时,从切割中切入边。问题是,如果这不利于我们的原因,则意味着“用于” 该顶点程度更高,因此“应该”被更早地选择。vvv|S||S||S|d(v)d(v)d(v)d(v)d(v)d(v)vvv 这是众所周知的算法吗?是否有一些简单的反例?

2
有效地在稀疏图中找到5个循环。
(来自MathOverflow) 你好 我正在阅读此线程:https : //mathoverflow.net/questions/16393/finding-a-cycle-of-fixed-length 我想在图中找到5个周期。实际上,我真正想要的是长度至少为5的最短奇数周期,但也许这有点离题。出于我的目的,在复杂度分析中我将和视为相同。 米mmñnn 在这种情况下,我们能比彩色编码做得更好吗?让我具体说明我的问题: 使得有 -时间算法来检测长度为5的循环的最小是多少?什么是算法?如果禁止不切实际的方法(例如Coppersmith-Winograd快速矩阵乘法),此是什么?ø (米α)ααα\alphaÔ (米α)O(mα)O(m^\alpha)αα\alpha

2
是否需要调用
爪是。一个简单的算法将在时间内检测出一个爪子。可以在,其中是快速矩阵乘法的指数,如下所示:对每个顶点取诱导的子图,并在其中找到一个三角形它的补充。 ø (Ñ 4)ø (Ñ ω + 1)ω Ñ [ v ] vK1,3K1,3K_{1,3}O(n4)O(n4)O(n^4)O(nω+1)O(nω+1)O(n^{\omega+1})ωω\omegaN[v]N[v]N[v]vvv 据我所知,这些基本算法只是已知的。Spinrad在他的书“有效的图形表示”中列出了在时间内对爪子的检测作为一个开放问题(8.3,第103页)。对于下限,我们知道 -时间算法将隐含 -时间算法来查找三角形。因此,我们可以将\ Omega(n ^ \ omega)视为下限。o(nω+1)o(nω+1)o(n^{\omega+1})O(nc)O(nc)O(n^c)Ω (Ñ ω)O(nmax(c,2))O(nmax(c,2))O(n^{\max{(c,2)}})Ω(nω)Ω(nω)\Omega(n^\omega) 题: 在这方面有什么进展吗?还是在证明这是不可能的任何进展? O(n ^ {\ omega + 1})时间算法是否还有其他最佳的自然问题?O(nω+1)O(nω+1)O(n^{\omega+1}) 备注: 我明确要求检测爪子,而不是识别无爪图。尽管算法通常可以同时解决这两种情况,但很少有例外。 在算法与理论计算机科学手册中声称可以在线性时间内找到它,但这只是一个错字(请参阅“有效的图形表示”)。

1
我们可以多快计算一个集合族的集合包含条件?
给定一组家庭FF\mathcal{F}宇宙的子集的UUU。让S1,S2∈FS1,S2∈FS_1,S_2 \in \mathcal F,我们想答案是S1⊆S2S1⊆S2S_1 \subseteq S_2。 我正在寻找一种数据结构,可以使我快速回答这一问题。我的应用程序来自图论,我想查看删除顶点及其邻域是否会留下任何孤立的顶点,并针对每个顶点列出它留下的所有孤立的顶点。 我想创建完整的球型或最终创建|F|2|F|2|\mathcal{F}|^2表,其中存储true或false准确地告诉您哪些集合是彼此的子集。 让m=∑S∈F|S|m=∑S∈F|S|m = \sum_{S\in \mathcal{F}} |S|,u=|U|u=|U|u = |U|和n=|F|n=|F|n = |\mathcal{F}|中,假定u,n≤mu,n≤mu,n \leq m 我们可以生成n×un×un \times u在容纳基质(二分图)O(un)O(un)O(un)的时间,然后可以创建所有的表n2n2n^2在比较O(nm)O(nm)O(nm)通过对每个设定时间S∈FS∈FS \in \mathcal{F},遍历所有所有其它组的元素和标记组为不的一个子集SSS,如果他们的元件不处于SSS。总计O(nm)O(nm)O(nm)时间。 我们可以更快地做任何事情吗?特别是O((n+u)2)O((n+u)2)O((n+u)^2)时间是否可能? 我找到了一些相关文章: 一种计算子集偏序的简单亚二次算法(1995) ,给出了Ô (米2/升ø克(米))O(m2/log(m))O(m^2 / log(m))算法。 子集偏序:计算和组合略有改进,但还声称上述论文解决了ø (米d)O(md)O(md)时间的问题,其中ddd是共享公共元素的最大集合数,但我无法理解该结果。 在文章之间O (n 米)O(nm)O(nm)和Ø (ñα)O(nα)O(n^{\alpha})作者展示如何在曲线图通过使用矩阵乘法删除顶点的闭邻域后发现连接的组件。通过查找运行时间为所有单调分量,可以将其用于计算集合包含姿态O ((n + u )2.79)O((n+u)2.79)O((n+u)^{2.79})。 这个论坛的讨论也与之相关:检查集合包含的最快方法是 什么? 这意味着的下界Ø (ñ2 − ϵ)O(n2−ϵ)O(n^{2-\epsilon})。

2
识别超图的折线图
超图的线图是(简单的)图G,其具有H的边缘作为顶点,如果它们具有非空的交点,则H的两个边缘在G中相邻。甲超图是- [R -hypergraph当它的每个边缘均具有至多ř顶点。HHHGGGHHHHHHGGG[Rrr[Rrr 以下问题的复杂性是什么:给定一个图,是否存在一个3超图H使得G是H的线图?GGG333HHHGGGHHH 众所周知,识别超图的线图是多项式,并且已知(由Poljak等人,Discrete Appl.Math.3(1981)301-312)识别r-超图的线图是NP。 -complete对于任何固定ř ≥ 4。 222[Rrrř ≥ 4r≥4r \ge 4 注意:在简单的超图的情况下,即所有超边都是不同的,如Poljak等人的论文所证明的,问题是NP完全的。

5
通过多次传递来减少st-connectivity的空间使用?
假设将具有个顶点的图表示为m个边的流,但是允许对该流进行多次遍历。Ñ 米GGGnnnmmm Monika Rauch Henzinger,Prabhakar Raghavan和Sridar Rajagopalan观察到Ω(n/k)Ω(n/k)\Omega(n/k)空间对于确定G中两个给定顶点之间是否存在路径是必要的GGG,如果允许对数据进行kkk次传递。(另请参阅技术报告版本。)但是,它们没有提供实际实现此限制的算法。我假设一种最佳算法实际上将在现实的计算模型中占用O((nlogn)/k)O((nlogn)/k)O((n\, \log\, n)/k)空间,因为如果一个人不能使用恒定大小的指针索引内存,则必须区分nnn不同的顶点。 如何使用O((n \,\ log \,n)/ k)空间确定kkk传递的图形连通性?O((nlogn)/k)O((nlogn)/k)O((n\, \log\, n)/k) 如果只允许一次通过,则输入数据可以存储为一组顶点的分区,如果在两个不同集合中的顶点之间看到一条边,则合并这些集。显然,这最多需要O(nlogn)O(nlogn)O(n\, \log\, n)空间。我的问题是关于k&gt;1k&gt;1k > 1:如何才能使用更多的通道来减少所需的空间? (为避免琐碎性,kkk是不能被常数先验限制的参数,而空间界限是涉及nnn和k的函数的表达式kkk。) 更新:即使对于k=2k=2k=2,也有一种只存储n/2n/2n/2个顶点的方法确实很有用。还是实际上对于某个常数c都存在一个更强的下界cn,而与k无关?cncncnccckkk

5
确定性并行算法,用于一般图形的完美匹配?
在复杂度类,有一些问题不属于类,即确定性并行算法存在的问题。最大流量问题就是一个例子。并且相信中存在问题,但尚未找到证明。PP\mathsf{P}NCNC\mathsf{NC}NCNC\mathsf{NC} 完美匹配问题是图论中提出的最基本问题之一:给定图,我们必须找到的完美匹配。正如我在互联网上可以找到的那样,尽管有Edmonds 的美丽的多项式时间Blossom算法,以及1986年Karp,Upfal和Wigderson 的RANDOMIZED并行算法,但只有少数几个子图具有算法。GGGGGGNCNC\mathsf{NC} 在2005年1月,Computational Complexity博客上发表了一篇文章,声称无论Perfect Matching是否在,它仍然是开放的。我的问题是:NCNC\mathsf{NC} 从那以后,除了随机算法以外,还有什么进展?NCNC\mathsf{NC} 为了阐明我的兴趣,任何处理一般图的算法都不错。尽管图子类的算法也可以,但是这可能不在我的注意范围内。谢谢你们! 在12/27编辑: 感谢您的所有帮助,我尝试将所有结果汇总为一个图: 已知的最低类包含以下问题: 匹配一般图形: [ KUW86 ], [ CRS93 ]RNCRNC\mathsf{RNC}RNC2RNC2\mathsf{RNC}^2 在二等平面/常数属图中匹配: / [ DKT10 ] / [ DKTV10 ]ULUL\mathsf{UL}SPLSPL\mathsf{SPL} 当总数为多项式时匹配: [ H09 ]SPLSPL\mathsf{SPL} Lex-first最大匹配项: [ MS89 ]CCCC\mathsf{CC} 此外,在合理的复杂性假设下:需要指数电路,一般图形中的匹配在 [ ARZ98 ]。SPACE[n]SPACE[n]\mathsf{SPACE[n]}SPLSPL\mathsf{SPL}

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.