Questions tagged «graph-algorithms»

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

2
奇偶三角洲问题
令为图。令是一个整数。令为具有个顶点和奇数个边的的边诱导子图的数目。令为具有个顶点和偶数个边缘的的边缘诱导子图的数量。令。给定和,偶数问题在于计算。G=(V,E)G=(V,E)G = ( V, E )k≤|V|k≤|V|k \leq |V|OkOkO_kGGGkkkEkEkE_kGGGkkkΔk=Ok−EkΔk=Ok−Ek\Delta_k = O_k - E_kΔkΔk\Delta_kGGGkkk 问题 是否可以在多项式时间内计算?哪种算法最知名?ΔkΔk\Delta_k 如果是3正则表达式怎么办?GGG 如果是3个规则的二分法怎么办?GGG 如果为3正则二分平面怎么办?GGG

1
是否有合适的算法在坐标系中绘制混合的选区/依赖关系图?
我正在寻找一种绘制混合的选区/依赖关系图的算法(对于语言应用程序)。这样的图将具有两种不同类型的顶点(标记,节点)和两种不同类型的边(分层,非分层)。 我一般都不熟悉图论和算法,我希望这个问题不会与本网站的研究水平要求相冲突。但是,它通常应该在理论的范围之内。 该图必须自下而上绘制(我认为),因为所有令牌应以相同的y坐标显示,并且将令牌和/或节点归为组成部分的节点的y坐标必须动态计算,例如,通过其通向令牌的最长路径。 层次边(用于将标记/节点分组为组成部分)应具有最少数量的弯曲点(理想情况下为0),但也应有最少数量的交叉点,如有需要,可覆盖前一个要求。 非分层边(用于依赖性)应具有最少的交叉点,并绘制为贝塞尔曲线。 我遇到的下一个最好的事情是Buchheim等人描述的算法。,改进了Walker算法以在线性时间内运行。 请让我知道是否需要改进我的问题,并在此先感谢您的指导。 编辑: 正如评论中指出的那样,我应该提到,我基本上想要一种算法的默认图形布局,从长远来看,我希望在Eclipse GEF可能性内进行编辑和修改。我以前曾研究过让Graphviz与GEF一起使用的选项,但是似乎没有一种可行的解决方案可以保留从GEF继承的所有编辑功能。

2
查找具有给定属性的图形分隔符的复杂性
关于找到满足给定属性的分隔符(任何大小)的复杂性,是否有任何已知结果? 我知道很容易找到集团分隔符(多项式时间),并且也知道许多论文都在考虑找到较小的分隔符或分隔符,这些分隔符使连接的分量的大小最多仅为原始图的一小部分。但是,如果需要一个具有其他特性的隔板,例如立方,二分体或2连通隔板,该怎么办?创建难以确定NP的属性也很容易,因此区分P和NPC情况将很有趣。 编辑:有人(不是本网站的用户)刚刚告诉我,如果属性为“具有通用顶点”,则问题为多项式;如果属性为“诱导独立集”或“诱导完成”,则问题为NP-complete二分图”。


2
离散优化的早期参考
(很抱歉,如果放错位置或放宽范围太广。我欢迎提出有关如何重新制定它的建议。) 我有兴趣追溯最大流量算法和离散优化算法的“古老”历史。福特福克森是我的起点。在此之前有哪些重大进步?我们还能走多远,同时仍然可以合理地认为有人在研究最大流量?图算法怎么样?一般而言,离散优化如何? 我也很乐意获得对此进行讨论的地方的参考。

2
集团枚举算法
我正在阅读MC Golumbic的一篇有关EPT(树中路径的边缘交点)图的旧论文。本文表明,EPT图实例的最大集团数是多项式。结论是,如果甲骨文报告图是EPT图,则可以使用标准集团枚举算法找到最大集团。GGG 首先,这些标准的集团枚举算法是什么?如果有多个,我们可以说,如果一个图的最大集团数是多项式,那么我们可以使用这些枚举算法中的任何一种吗?还是应该从使用图类的某些特殊结构的通用算法中派生出一种特殊算法? 提前致谢。

2
搜索树木集合的高效算法
我有大量的树木数据集,我想通过指定一个treelet(连接的子图)进行搜索。查询应返回数据集中所有小树的出现。 有有效的算法可以做到吗? 我想到的是后缀数组,但是,天真地将树编码为字符串(按其节点的固定遍历顺序)将不起作用,因为搜索小树可以是任意形状。 更新: 有关我期望的典型实例的一些详细信息: 数据集将至少包含数万棵树,每棵树包含约20至30个节点。树不会不是二叉树,但是每个节点的典型子节点数会很小(通常不大于4或5,尽管在某些退化的情况下可以达到约30)。标签的数量将是数万个。 对于NLP应用程序,我需要这样做:每棵树将成为句子的依存关系分析,每个节点代表一个单词出现,每个标签为一个字典单词(带有某种修饰)。

3
查找所有周期
我有一个有限集,一个函数,总阶数在。我想找到中不同周期的数量。小号SSF:S→ Sf:S→Sf:S\to S&lt;&lt;<小号SS小号SS 对于的给定元素我可以使用弗洛伊德(Floyd)算法(或布伦特等)来查找重复应用将发送到的周期的长度。稍加努力,我就可以确定该周期(例如,通过其 -minimal元素)。解决该问题的一种不好的方法是重复每个元素,对产生的最小元素进行排序,丢弃重复的元素,然后返回计数。但这可能涉及对相同元素的多次传递以及较大的空间需求。小号∈ 小号s∈Ss\in SFffsss&lt;&lt;< 哪些方法具有更好的时空性能?我什至不知道测量所需空间的最佳方法是什么-如果是恒等函数,那么任何存储所有周期的方法都将使用空间。FffΩ (n )Ω(n)\Omega(n)

2
不允许每个边缘的最短路径
我希望能为我提供正确指导的任何指示或术语。 我们有向图 G = (V,E)G=(V,Ë)G=(V,E) 和长度 升我Ĵ升一世Ĵl_{ij} 对于每个边缘 我Ĵ一世Ĵij可以认为是积极的。有一个特殊的起始节点sss 和末端节点 ŤŤt。 对于每个边缘 我Ĵ一世Ĵij,我们想计算出的最短路径的长度 sss 至 ŤŤt 不使用边缘 我Ĵ一世Ĵij。 一种简单的暴力算法是为每个边缘运行最短路径算法,每次从原始图形中删除一个不同的边缘。有没有一种更有效的算法可以利用这种蛮力算法中发生大量重复计算这一事实呢? 提前致谢。

2
是否存在用于快速列表操作和订单查询的数据结构?
我们有一个集合中的元素列表。中的每个元素都显示在L中的单个列表中。我正在寻找可以执行以下更新的数据结构:LLLN={1,2,3,...,n}N={1,2,3,...,n}N = \{ 1, 2, 3, ..., n \}NNNLLL concat(x,y)concat(x,y)concat(x, y):将包含y的列表连接yyy到包含x的列表的末尾xxx split(x)split(x)split(x):含有分割列表xxx后直接xxx 它还需要执行以下查询: follows(x,y)follows(x,y)follows(x, y):返回truetruetrue,如果xxx和yyy是在同一列表和yyy后自带xxx(但不一定是相邻的xxx) first(x)first(x)first(x):返回包含x的列表的第一个元素xxx next(x)next(x)next(x):返回下一个元素后xxx在含列表xxx 我已经想出了一个数据结构,该结构在O(lg ^ 2(n))中执行这些更新,O(lg2(n))O(lg2(n))O(lg^2 (n))并在O(lg(n))O(lg(n))O(lg (n))时间内进行查询。我最感兴趣的是是否已经有一个数据结构可以做到这一点(希望更快吗?)。 动机:可以用其中的两个列表集来表示有根的定向森林,它们可以快速计算此类森林的可达性。我想看看它们还有什么用,如果所有这些都已知。

3
如何随机生成有界的高度生成树?
对于我正在从事的项目,我应该生成具有有限高度的随机生成树。 基本上,我执行以下操作:1)生成生成树2)检查可行性,如果可行,请保留它。 1)从最小生成树(Prim或Kruskal的树)开始,我添加一个不存在的边,这创建了一个循环,我检测到此循环并删除了该循环的边之一,这给了我新的生成树,然后我继续通过添加新边来生成树... 2)假设有一个特殊的顶点。对于每个顶点,从到的路径的长度应小于,其中是给定的参数。vÇ È Ñ 吨Ë řvcente[Rv_{center}vvvvvvVÇ È Ñ 吨Ë řVcente[RV_{center}δδ\deltaδδ\delta 有什么更好的(聪明的)方法吗? PS我忘了指定另一个约束(我的错误):顶点的度也应定界。

1
备份问题NP是否完整?
以下决策问题是否是NP完全的: 让 GGG 成为无向图 b≤cb≤cb \le c 两个整数。是否可以为的每个顶点选择GGG 究竟 bbb 不同的邻居,因此没有选择更多的节点 ccc 次。 案子 b=1b=1b = 1 可以解决任何 ccc 在多项式时间内使用最大匹配。 动机:每个节点都想放置 bbb 备份在不同的邻居,但每个节点仅具有存储能力 ccc 备份。

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.