Questions tagged «graph-algorithms»

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

2
晶格问题
关于部分订单的计算问题(例如,识别,跳转数,可比性图识别等),已经进行了大量工作。 我很好奇格子的具体工作已经完成。我四处搜寻,但没有找到很多类似的格子工作。 我尤其对是否已研究以下晶格问题感兴趣: 格点识别:给定DAG或部分顺序,实际上是格点吗? 格可比性图识别:给定无向图G,G的边是否可以定向为使得最终的定向为晶格? 确定/计算晶格的连接不可约元素 确定给定的晶格是否为分布/模

1
是否存在多项式时间算法来求解(有限)六角形方格图的Delaunay图的图同构性?
给定一个有限的平面,我用固定大小的正六边形对该平面进行六边形细分。然后,我为镶嵌细分计算Delaunay图G。给定这样一个图G,我删除了该图中的特定节点集,以生成G的多个子图。我需要确定这些子图是否同构(彼此同构)。 是否存在这样做的多项式时间算法? 我知道在一般情况下还没有解决图形同构的多重时间算法。但是我不确定这种特定的Delaunay图是否仍然如此。

1
修剪紧密连接的有向图
给定一个具有加权边的强连通有向图G,我想确定证明不属于G的任何最小强连通子图(MSCS)的边缘。 查找此类边缘的一种方法是改良的Floyd-Warshall算法。使用Floyd-Warshall算法,可以识别出哪些边永远不是从顶点i到j的最佳选择。这些节点不能成为MSCS的一部分,因为最好将它们替换为两个或更多其他边缘。 当边缘权重变化很大时,Floyd-Warshall修剪技术效果很好,但是当边缘权重相似但幅度较大时,效果很差。 您知道任何适用于较大的相似边缘权重的有效修剪方法吗?这个问题等于我不认识的更常见的问题吗?以前是否在文献中研究过这种修剪?

1
寻找捷径
动机:在标准的增强路径最大流算法中,内部循环需要在有向加权图中找到从源到汇的路径。从理论上讲,众所周知,为了使算法在边缘容量不合理时甚至终止,我们需要对找到的路径进行限制。例如,Edmonds-Karp算法告诉我们找到最短路径。 根据经验,已经观察到我们可能还想找到脂肪(是否有更好的术语?)。例如,当使用容量缩放时,我们发现可以承受至少流量的最短路径。路径的长度没有限制。当我们找不到任何路径时,我们减小并重复。εϵϵ\epsilonϵϵ\epsilon 我对针对最大流的非常特定的应用优化扩充路径的选择感兴趣,并且我想探讨短路径与胖路径之间的这种权衡。(注意:我不必总是解决问题。我最感兴趣的是在最短的挂墙时间内找到最大的流量下限。) 问题:在最短路径方法和容量扩展方法之间是否存在标准的插值方法?也就是说,是否有一种算法可以找到短而胖的路径,理想情况下,某个参数可以控制我们愿意为胖而权衡的路径长度?在极端情况下,我希望能够在一端恢复最短路径,而在另一端恢复容量缩放样式的路径。

2
在随机图中找到一个短周期需要多长时间?
令为边上的随机图。具有很高的概率,有很多周期。我们的目标是尽快输出这周期中的任何一个。G∼G(n,n−1/2)G∼G(n,n−1/2)G \sim G(n, n^{-1/2})≈n3/2≈n3/2\approx n^{3/2}GGG444444 假设我们能够以邻接表的形式访问,我们可以在时间内以恒定的概率成功,如下所示:选择任意节点并开始生成从开始的随机路径;一旦找到共享端点的两个不同的路径,就完成了。有可能的端点,并且通过生日悖论,我们在发现后将以恒定的概率成功。GGGO(n−−√)O(n)O(\sqrt{n})vvv222vvv222nnnn−−√n\sqrt{n} 我们可以做得更好吗?特别是,可能以恒定概率成功的恒定时间算法吗?

2
具有不合理权重的最大流算法的反例?
众所周知,如果某些权重不合理,则具有胖管试探法(两种用于最大流量的算法)的福特-福克森或埃德蒙兹-卡尔普不需要停止。实际上,它们甚至可以收敛于错误的价值!但是,我可以在文献中找到的所有示例[以下参考文献以及其中的参考文献]仅使用一个非理性值:共轭黄金比率ϕ′= (5–√− 1 )/ 2ϕ′=(5-1个)/2\phi' = (\sqrt{5}-1)/2,以及其他为有理值或为的有理倍数的值 ϕ′ϕ′\phi'。我的主要问题是: 一般问题:其他非理性价值观会怎样? 例如((但不必觉得您必须回答所有这些问题-我会发现对任何一个问题或上述一般问题下的其他问题的回答都很有趣): 给予任何 α ∈ [Rα∈[R\alpha \in \mathbb{R},能否构造(甚至表明存在)这样的反例? 更弱:是否有实例已知的是,使用一种非理性的值本质上的不同,从ϕ′ϕ′\phi'?也就是说,有一些αα\alpha 这不是...的有理倍数 ϕ′ϕ′\phi' (或更强烈地说,不在 Q(ϕ′)问(ϕ′)\mathbb{Q}(\phi')),因此有一些福特(Ford-Fulkerson)和/或埃德蒙兹·卡普(Edmonds-Karp)的反例, Q(α)问(α)\mathbb{Q}(\alpha)? 另一方面,是否存在非理性 αα\alpha使得福特富尔克森(分别,埃德蒙斯-卡普)与正确的值暂停所有的图,其权重是从所有Q ∪{qα :q∈ Q }问∪{qα:q∈问}\mathbb{Q} \cup \{q\alpha : q \in \mathbb{Q}\}?(或更强烈地说,来自Q(α)问(α)\mathbb{Q}(\alpha)?) 在所有情况下,我都想假设像真实RAM模型那样,以便在恒定时间内完成实数的精确算术和精确比较。 (已知还有其他一些最大流量算法可以在强多项式时间内运行,甚至具有任意实数,这也许就是为什么这种类型的问题可能没有得到进一步探讨的原因。 ,我对此仍然感到好奇。) 参考文献 Zwick TCS 1999给出了Ford-Fulkerson的最小反例 Queyranne或Queyranne Math给出了Edmonds-Karp的反例。歌剧 Res。1980年,尽管我不知道那是最小的。 这些都可以在Jeff Erickson的讲义中找到,第一个在23.5节中,第二个在第23课的练习14中。

1
是否知道此路径问题的复杂性?
实例:一个无向图具有两个不同的顶点和一个整数。GGGs≠ts≠ts\neq tk≥0k≥0k\geq 0 问题:是否存在一条路径,使得该路径最多与三角形相交?(对于此问题,如果路径包含三角形的至少一条边,则该路径被称为相交。)s−ts−ts-tGGGkkk

1
最大重量“公平”匹配
我对图表中最大权重匹配的一种变体感兴趣,我称之为“最大公平匹配”。 假定图满(即),具有顶点的偶数,且重量由利润函数给出号码:{V \选择2} \到\ mathbbÑ。给定匹配M,用M(v)表示边v的利润与之匹配。E=V×VE=V×VE=V\times Vp:(V2)→Np:(V2)→Np:{V\choose 2}\to \mathbb NMMMM(v)M(v)M(v)vvv 的匹配MMM是一个公平的匹配当且仅当,对于任何两个顶点u,v∈Vu,v∈Vu,v\in V: (∀w∈V: p({w,v})≥p({w,u}))→M(v)≥M(u)(∀w∈V: p({w,v})≥p({w,u}))→M(v)≥M(u)(\forall w\in V:\ \ p(\{w,v\})\geq p(\{w,u\}))\to M(v)\geq M(u) 也就是说,如果对于V中的任何顶点w∈Vw∈Vw\in V,将w匹配www到顶点vvv都比将其匹配到顶点u获得更高的利润uuu,则公平匹配必须满足M(v)≥M(u)M(v)≥M(u)M(v)\geq M(u)。 我们能否有效地找到最大重量公平匹配? 一个有趣的情况是,当图为二分图且公平性仅适用于一侧时,即假设G=(L∪R,L×R)G=(L∪R,L×R)G=(L\cup R,L\times R),我们得到了一个利润函数p:L×R→Np:L×R→Np:L\times R\to \mathbb N。 甲公平二部匹配是在匹配GGG使得对于任意两个顶点u,v∈Lu,v∈Lu,v\in L: (∀w∈R: p({v,w})≥p({u,w}))→M(v)≥M(u)(∀w∈R: p({v,w})≥p({u,w}))→M(v)≥M(u)(\forall w\in R:\ \ p(\{v,w\})\geq p(\{u,w\}))\to M(v)\geq M(u) 我们可以多快找到最大重量的公平二分匹配? 这个问题的动机来自两党的特殊情况。假设您有工人和任务,而工人可以从工作产生利润。问题在于设计一个合理的(在某种意义上说,工人不会感到“被剥夺”),同时使总收益最大化(在分配机制的力量和社会利益之间进行权衡)。nnnmmmiiipi,jpi,jp_{i,j}jjj 如果我们将工人分配给工作的社会福利(或工厂利润)定义为利润之和。 查看作业分配器功能的不同方案,我们得到以下结果: 如果允许我们将任何工人分配给任何工作,我们可以有效地优化工厂(只需找到最大权重匹配项)。 如果每个工人自己选择一个任务,假设他将是自己的工作(每个工作只能选择一个工作),如果他是选择任务的最合格工人,则这些工人将趋于“贪婪”平衡。原因是,赚得最多的工人()会选择最赚钱的工作,依此类推。通过匹配的贪婪算法的近似率,这应该给出最大社会福利的2近似值。i=argmaximaxjpi,ji=argmaximaxjpi,ji=\mbox{argmax}_i \max_j …

2
枚举有界树宽的平面图
我正在寻找以下问题的参考:给定整数和,列举个顶点和treewidth上的所有非同构平面图。我对理论和实际结果都感兴趣,但是大多数实用算法可以对和值进行编码和运行(请考虑和)。如果您已经有了答案,请忽略下面的杂乱无章。nnnkkknnn≤k≤k\leq knnnkkkk≤5k≤5k \leq 5n≤15n≤15n \leq 15 下面的方法可以很好地枚举个顶点和树宽上的所有非同构图(即,当除去平面约束时):nnn≤k≤k\leq k (a)列举个顶点和树宽上的所有非同构图。n−1n−1n-1≤k≤k\leq k (b)对于每个顶点上顶点和树宽,每集团上顶点和每个子集中的边缘的,使从通过添加新的顶点与相邻。将添加到个顶点上的grahs 列表和树宽。GGGn−1n−1n-1≤k≤k\leq kCCC≤k≤k\leq kGGGSSSCCCG′G′G'G−SG−SG - SvvvCCCG′G′G'LL{\cal L}nnn≤k≤k\leq k (c)通过删除同一图的副本来修剪。LL{\cal L} 将其扩展为枚举树宽平面图的一种诱人方法是在每次迭代时简单地过滤掉非平面图。不幸的是,这无法生成所有树宽平面图(例如,因为它仅枚举退化图)。≤k≤k\leq k≤k≤k\leq k444 当然,我们可以枚举个顶点和树宽上的所有图,然后过滤掉非平面的图,但这无法利用大多数图是非平面的并且看起来不是最佳的图。nnn≤k≤k\leq k

1
在二次时间发现相似的向量
让 d:{0,1}k×{0,1}k→Rd:{0,1}k×{0,1}k→Rd:\{0,1\}^k\times \{0,1\}^k \to \mathbb{R}是我们称为相似函数的函数。相似度函数的例子有余弦距离,l2l2l_2 范数,汉明距离,Jaccard相似度等。 考虑 nnn 长度的二进制向量 kkk: v⃗ ∈({0,1}k)nv→∈({0,1}k)n\vec{v} \in (\{0,1\}^k)^n。 我们的目标是对相似的向量进行分组。更正式地说,我们要计算一个相似度图,其中节点是向量,边表示相似的向量(d(v,u)≤ϵd(v,u)≤ϵd(v,u) \leq \epsilon)。 nnn 和 kkk 是非常大的数字,并且比较两个长度 kkk 向量很昂贵,我们不能做所有的蛮力 O(n2)O(n2)O(n^2)操作。我们想要用更少的操作来计算相似度图。 这可能吗?如果不能,我们可以计算出一个近似图,其中包含相似图中的所有边加上最多O(1)O(1)O(1) 其他边缘?


1
计数图内同态的复杂性
甲同态从图中G=(V,E)G=(V,E)G = (V, E) 到图 G′=(V′,E′)G′=(V′,E′)G' = (V', E') 是一个映射 fff 从 VVV 至 V′V′V' 这样,如果 xxx 和 yyy 在附近 EEE 然后 f(x)f(x)f(x) 和 f(y)f(y)f(y) 在附近 E′E′E'。一个自同态的曲线图的GGG 是来自的同态 GGG本身 如果没有,它是无定点的xxx 这样 f(x)=xf(x)=xf(x) = x如果不是身份,这是不平凡的。 我最近问了一个与位姿(和图)自同构有关的问题,即双射内同构,其反过来也是内同构。我发现了有关计数(并确定是否存在)同态的相关工作,但搜索找不到与同形有关的任何结果。 因此,我的问题是:给定图表,复杂度是多少GGG,决定是否存在一个非平凡的内同态 GGG,或计算同构数目?无定点无内同态的相同问题。 我认为此答案中给出的论点扩展到内同态,并证明有向二部图或位姿的情况并不比一般图的问题容易(一般图的问题减少到这种情况),但它的复杂性没有似乎很容易确定。众所周知,确定从一个图到另一个图是否存在同态性是NP难的(这很容易理解,因为它概括了图的颜色),但是似乎将搜索范围限制为从图到其自身的同态性可能会使问题变得更容易,因此,这无助于我确定这些问题的复杂性。

2
计算可传递补全/路径存在预言
已经有几个问题(1,2,3约在这里传递完成),这让我觉得如果这样的事情是可能的: 假设我们得到一个有向图的输入,并想回答“GGG(u,v)∈G+(u,v)∈G+(u,v)\in G^+?”,即询问图的传递完成中两个顶点之间是否存在边 GGG?(等效地,“是否存在从uuu 至 vvv 在 GGG?”)。 给定后 GGG 您可以及时运行预处理 f(n,m)f(n,m)f(n,m) 然后需要及时回答查询 g(n,m)g(n,m)g(n,m)。 显然,如果 f=0f=0f=0 (即不允许进行预处理),最好的办法是及时回答查询 g(n)=Ω(n+m)g(n)=Ω(n+m)g(n)=\Omega(n+m)。(从运行DFSuuu 至 vvv 并返回true(如果存在路径)。 另一个琐碎的结果是,如果 f=Ω(min{n⋅m,nω})f=Ω(min{n⋅m,nω})f=\Omega(min\{n\cdot m,n^\omega\}),您可以计算可传递闭包,然后在 O(1)O(1)O(1)。 中间的东西呢?如果允许,请说f=n2f=n2f=n^2 预处理时间,您可以比 O(m+n)O(m+n)O(m+n)?也许将其改进为O(n)O(n)O(n)? 另一个变化是:假设您有 poly(n,m)poly(n,m)poly(n,m) 预处理时间,但仅 o(n2)o(n2)o(n^2) 空间,您是否可以使用预处理比以下方法更有效地回答查询 O(n+m)O(n+m)O(n+m)? 我们可以说些什么吗? f,gf,gf,g 可以回答此类查询的折衷方案? 在GPS系统中考虑了一种类似的权衡结构,在该系统中,不可能拥有位置之间所有成对距离的完整路由表,因此它使用了距离预言机的思想,该预言表存储了部分表,但在计算整个距离时可以显着提高查询速度图(通常只产生点之间的近似距离)。

2
图中的循环数
多少个周期 CkCkC_k (k≥3)(k≥3)(k \geq 3) 有一个 nnn 顶点图,使得图没有任何循环 CmCmC_m (m>k)(m>k)(m>k)。 例如 n=5n=5n=5, k=3k=3k=3,则图最多包含两个 C3C3C_3就是这样 GGG 不会有任何 Ck(k>3).Ck(k>3).C_k (k > 3). 我在想 O(n)O(n)O(n) 周期将满足上述条件。 有人可以帮我吗。

1
从一般加权无向图中找到最佳并行化
我正在解决“融合”重叠图像集的问题。这些集合可以由无向加权图表示,例如: 每个节点代表一个图像。重叠的图像通过边缘连接。边缘权重代表重叠区域的大小(更快混合更大的重叠会导致更好的整体质量)。 该算法通常去除边缘。它可以顺序执行或并行执行。但是,发生混合时,节点会合并,并且图形结构也会更改。因此,只有在自身不重叠的连接组件上才可以并行化! 这样的不重叠组件是DB和FEG。我们可以在这些组件上并行安全地运行混合算法。结果如下图(合并的节点以绿色显示): 现在,没有任何进一步的并行化可能,因为任何两个连接的组件都是重叠的(它们之间直接有一条边)。 该算法的并行版本如下所示: 1. Find connected components (no two are connected directly) and create task for each. 2. Run the tasks in parallel. 3. Update graph. 4. Until single node remains, continue with 1. 棘手的部分是第一步:如何找到最佳的连接组件集? 一种方法是贪婪算法,该算法仅在给定迭代中找到最大数量的组件。贪婪算法将在开始时最大程度地提高并行化速度,但会以后来的许多迭代为代价。 最佳解决方案可能是在每次迭代中引入大量的连接组件,以最大程度地并行化并同时最小化迭代次数(因此,优化中有两个变量)。 除了回溯,我没有想到任何优化算法,即搜索所有可能演化的空间并选择具有最大并行度的算法。 可以忽略边缘权重,但是算法的改进版本可能会考虑到它,因为较大的区域需要花费更多的时间进行混合(例如,大小为200的区域要比两个大小为100的区域花费大约两倍的时间进行混合)。考虑权重可能会导致选择组件时采用更好的策略(算法的整体运行时间更快)。 对于这种优化算法,您是否有任何线索,可以找到选择图的各个部分的最佳策略,以便最大程度地实现并行化并减少迭代次数?

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.