Questions tagged «graph-theory»

关于图的问题,通过边连接的节点的离散结构。流行的口味是具有边缘能力的树木和网络。

5
二部图的最大独立集
我正在尝试寻找Biparite图的最大独立集。 在“ 1998年5月13日-华盛顿大学-CSE 521-网络流的应用”的一些注释中,我发现以下内容: 问题: 给定一个二分图G=(U,V,E)G=(U,V,E)G = (U,V,E),找到一组独立的U′∪V′U′∪V′U' \cup V'这是尽可能大的,在那里U′⊆UU′⊆UU' \subseteq U和V′⊆VV′⊆VV' \subseteq V。如果集合的元素之间没有EEE边,则集合是独立的。 解: 构造上的顶点的流图U∪V∪{s,t}U∪V∪{s,t}U \cup V \cup \{s,t\}。对于每个边缘(u,v)∈E(u,v)∈E(u,v) \in E有一个无限容量边缘从uuu到 vvv。对于每个u∈Uu∈Uu \in U,存在从单元容量边缘sss到uuu,并且对于每个v∈Vv∈Vv \in V,存在从单元容量边缘vvv到 ttt。 查找有限容量切口(S,T)(S,T)(S,T),与s∈Ss∈Ss \in S和t∈Tt∈Tt \in T。让 U′=U∩SU′=U∩SU' = U \cap S和V′=V∩TV′=V∩TV' = V \cap T。该组U′∪V′U′∪V′U' \cup V',因为没有无限容量的边缘交叉的切断是独立的。切口的大小是|U−U′|+|V−V′|=|U|+|V|−|U′∪V′||U−U′|+|V−V′|=|U|+|V|−|U′∪V′||U - U'| + |V - V'| …

2
无向图上的最短路径?
所以我认为这个(虽然有些基本)问题属于这里: 假设我有一个大小为100的节点的图,以10x10的模式排列(请考虑棋盘)。该图是无向的和未加权的。在图形中移动涉及向前移动三个空间,向右或向左移动一个空间(类似于国际象棋骑士在棋盘上的移动方式)。 给定一个固定的开始节点,人们将如何找到通往板上其他任何节点的最短路径? 我以为可行的移动节点之间只有一条边。因此,鉴于此信息,我希望找到从起始节点到结束节点的最短路径。 我最初的想法是每条边的权重均为1。因此,我决定使用深度优先搜索的更改形式来进行此操作。 但是,我无法终生想象如何使用搜索获得最短路径。 我尝试的另一件事是将图以树形图作为起始节点作为根,然后选择最浅的(最低的行号)结果,该结果为我提供了所需的结束节点……这是可行的,但是效率极低,因此不适用于较大的图形。 有没有人有任何想法可以为我指出正确的方向? 非常感谢你。 (我试图对图表进行可视化处理,但由于声誉低下而无法执行)

4
为什么有向图很重要?
想要改善这篇文章吗?提供此问题的详细答案,包括引文和答案正确的解释。答案不够详细的答案可能会被编辑或删除。 我们已经在有向图中阅读了有关MST,强连接性,路由等的算法。 最近,人们也一直在研究有向图的动态和容错算法。 但是我想知道下划线图形网络是否是“定向”的实际应用。除了社交网络外,我能想到的所有问题(例如铁路/公路网络,Internet网络等)都只处理无向图。 编辑1:我知道这些可以用于对定向链接的某些场景进行建模,但是我想知道这些场景在现实世界中发生的频率如何,以及研究有向图的容错能力有多重要。

1
Sierpiński图上的哈密顿循环数
我是这个论坛的新手,只是一名物理学家,他这样做是为了保持大脑健康,因此,如果我不使用最优雅的语言,请显示优雅。如果您认为其他标签更合适,也请发表评论。 我试图解决这个问题,对此我需要计算哈密顿周期数在Ñ阶的Sierpinski-图表小号Ñ。(还请参见上面的链接以获取谢尔宾斯基图的定义和图片)C(n)C(n)C(n)nnnSnSnS_n 我找到了,但是我一定搞砸了,因为我的解决方案与给定的值C (5 )= 71328803586048不匹配。我的论点包括非常基本的思想,我找不到错误。任何帮助是极大的赞赏。即使看起来很冗长,但如果您在跟踪时查看图表,这些想法也会变得微不足道。C(n)C(n)C(n)C(5)=71328803586048C(5)=71328803586048C(5) = 71328803586048 (a)在给定的图调用外角A ,B ,C。然后定义以下数量:SnSnS_nA,B,CA,B,CA,B,C 从 A到 C的哈密顿路径的数量。N(n):=N(n):=N(n) := AAACCC 从路径数阿到ç哪个访问每个节点一次,除了乙。N¯(n):=N¯(n):=\bar{N}(n) := AAACCCBBB 我还将调用这样的路径 -或ˉ ñ型在下面的路径。NNNN¯N¯\bar{N} (b)中这是很容易看到,。N(n)=N¯(n)N(n)=N¯(n)N(n)=\bar{N}(n) 原因如下:考虑型路径。在开始甲此路径的形式为(甲,。。。,X 1,乙,X 2,。。。,C ^ )。通过更换段(X 1,乙,X 2)由(X 1,X 2),我们得到ˉ Ñ型路径。此操作唯一地映射所有NNNNAAA(A,...,X1,B,X2,...,C)(A,...,X1,B,X2,...,C)(A,...,X_1,B,X_2,...,C)(X1,B,X2)(X1,B,X2)(X_1,B,X_2)(X1,X2)(X1,X2)(X_1,X_2)N¯N¯\bar{N}NNN型路径型路径。N¯N¯\bar{N} (c)推导递归。N(n+1)=2N(n)3N(n+1)=2N(n)3N(n+1)=2N(n)^3 考虑一个从型路径甲于乙和表示子三角形在外角甲,乙,Ç由Ť 甲,Ť 乙,Ť Ç,分别。显然,从T A到T B到T C,N型路径将恰好访问每个子三角形。现在考虑子三角形T A和T C的节点ZNNNAAABBBA,B,CA,B,CA,B,CTA,TB,TCTA,TB,TCT_A,T_B,T_CNNNTATAT_ATBTBT_BTCTCT_CZZZTATAT_ATCTCT_C触摸。路径访问此点时,有两种可能性,即(i)离开之前或(ii)进入T C之后。在这些情况下三个子路径内Ť 甲,Ť 乙,Ť Ç如下类型的(ⅰ)Ñ ,Ñ ,ˉ Ñ或(ⅱ)ˉ …

4
这个有限图问题可以判定吗?哪些因素可以决定问题?
我想知道以下问题是否可以确定以及如何找出。我看到的每个问题都可以对它说“是”或“否”,因此,除了少数几个问题(此处提供)以外,大多数问题和算法是否可以确定? 输入:有向图和有限图,其中v和u为顶点 问:G中是否存在以u为初始顶点和v为最终顶点的路径?GGGvvvuuuGGGuuuvvv

1
将任意封面转换为顶点封面
给定一个平面图并令G=(V,E)G=(V,E)G=(V,E)GG\mathcal{G}表示其嵌入平面中,每个边的长度为。我还有一组点,其中中的每个点都包含在。此外,它适用于任何点p在ģ存在一个Ç ∈ Ç与到测地距离p至多一个。(该距离被测量为G内的最短距离。)111CCCc∈Cc∈Cc \in CGG\mathcal{G}pppGG\mathcal{G}c∈Cc∈Cc \in CpppGG\mathcal{G} 我想认为给予的量,上述条件成立时,我可以很容易地将其转换成一个顶点覆盖,或将不同的,它变成一个ç '相同基数ST任何的Ç ∈ Ç '被放置在ģ 在的顶点ģ,和ç '仍然覆盖ģ。CCCC′C′C'c∈C′c∈C′c \in C'GG\mathcal{G}GGGC′C′C'GGG 我的方法是确定边缘的方向,并在圆弧的端点处移动中的点。但是到目前为止,我还没有找到从C产生C '的正确方向。CCCC′C′C'CCC 有人有主意吗?

4
我对Floyd-Warshall,Dijkstra和Bellman-Ford算法之间的区别是否正确?
我一直在研究这三个,并在下面说明了他们的推论。有人可以告诉我我是否足够正确地理解它们?谢谢。 Dijkstra算法仅在您只有一个来源并且想知道从一个节点到另一个节点的最小路径时使用,但是在这种情况下会失败。 当所有节点中的任何一个都可以作为源时,将使用Floyd-Warshall算法,因此您希望从任何源节点到任何目标节点的距离最短。这仅在存在负循环时失败。 如果只有一个来源,则像Dijkstra一样使用Bellman-Ford。这可以处理负重,其工作原理与弗洛伊德·沃歇尔相同,除了一个来源,对吗?(这是我最不确定的那个。)

6
为什么不能使用DFS在未加权图中查找最短路径?
我了解按原样使用DFS不会在未加权图中找到最短路径。 但是,为什么要对DFS进行调整,以使其能够在未加权图中找到最短路径,却前景如此?关于该主题的所有文字都简单地指出无法完成。我不敢相信(自己没有尝试过)。 您是否知道允许DFS在未加权图中找到最短路径的任何修改?如果不是,那么使它变得如此困难的算法又是什么呢?

4
巨型图上的Dijkstra算法
我对Dijkstra非常熟悉,并且对算法有一个特定的问题。如果我有一个巨大的图,例如35亿个节点(所有OpenStreetMap数据),那么我显然将无法在内存中使用该图,因此该图存储在数据库的磁盘上。 有一些库可用于计算此类图上的最短路径。他们如何做到这一点?更具体地说,他们如何加载图的必需部分以运行Dijkstra的算法? 根据我的统计数据,获取访问的每个顶点的邻接表将需要每10,000个节点大约1,500个数据库查询,因此显然不是他们如何做到的。那太慢了。 他们是如何做到的呢?我正在尝试自己实施。

4
图有两个/三个不同的最小生成树?
我试图找到一种有效的方法来检测给定图G是否具有两个不同的最小生成树。我还试图找到一种方法来检查它是否具有3个不同的最小生成树。我曾经想过的天真的解决方案是运行一次Kruskal算法,然后找到最小生成树的总权重。稍后,从图中移除一条边并再次运行Kruskal算法,并检查新树的权重是否为原始最小生成树的权重,因此对图中的每条边也是如此。运行时是O(| V || E | log | V |),这一点都不好,我认为有更好的方法来执行。 任何建议都会有所帮助,在此先感谢

1
求解K形问题的
团问题是公知的 -complete问题,其中所需要的集团的大小是输入的一部分。但是,k-clique问题具有简单的多项式时间算法(当k为常数时为O (n k))。当k为常数时,我对最著名的上限感兴趣。NPNPNPO(nk)O(nk)O(n^k)kkk 是否存在运行时间为?甲ø (Ñ ķ) -time算法也是可接受的。此外,这种算法的存在是否有复杂性理论的后果?O(nk−1)O(nk−1)O(n^{k-1})o(nk)o(nk)o(n^k)

5
图中负权重边的重要性是什么?
我进行了动态编程练习,发现了Floyd-Warshall算法。显然,它找到了图的所有对最短路径,其权重边可能为负,但没有负周期。 所以,我想知道负重边的现实意义是什么?简单的英语解释会有所帮助。

2
有效地均匀且独立地随机采样最短的
令GGG为图,令sss和ttt为G的两个顶点GG。我们是否可以从s和t之间所有最短路径的集合中随机且均匀地有效采样最短sss - ttt路径?为简单起见,我们可以假设G是简单的,无向的和未加权的。ssttGG 即使在许多受限制的图中,sss和t之间最短路径的数量tt也可以是G的大小的指数GG。因此,我们自然希望避免实际计算所有最短的sss - ttt路径。我不了解一般情况,但是在我看来,我们可以通过一些特殊的图类来实现这一点。 感觉就像有人必须考虑过的事情。是否对此进行了任何研究,或者即使对于一般图形,实际上也很容易做到吗?

2
如何实际构造规则的扩展图?
我需要为n个顶点的一些小的固定d(例如3或4)构造d-正则展开图。 在实践中最简单的方法是什么?构造一个随机的d-正则图,证明它是扩展器? 我还阅读了有关作为扩展器的Margulis构造和Ramanujan图以及使用Z字形乘积的构造。Wikipedia给出了一个很好但很简短的概述:http : //en.wikipedia.org/wiki/Expander_graph#cite_note-10 但是我在实践中选择哪种方法? 对我来说,这些方法的实现似乎非常复杂,尤其是要理解甚至很具体。难道没有更简单的方法(可能基于排列左右)来实际生成一系列d-正则展开图吗? 构造d-正则二分式展开图可能更容易吗? 我还有一个问题:不良的d-regular扩展器家族如何?这样的想法有意义吗?在扩展器的意义上,能否构造出一系列尽可能不好的d-正则图(当然是相连的)? 提前致谢。

1
检索有向无环图的传递闭合的高效算法
我正在尝试解决图形问题(这不是为了做作业,只是为了练习我的技能)。给出了DAG ,其中V是顶点集合,E是边线。该图被表示为邻接表,所以甲v是包含的所有连接的一组v。我的任务是找到它的顶点是从每个顶点可达v ∈ V。我使用的解决方案的复杂度为 O (V 3)G(V,E)G(V,E)G(V,E)VVVEEEAvAvA_vvvvv∈Vv∈Vv\in VO(V3)O(V3)O(V^3),带有传递闭包,但是我在博客中读到它可以更快,尽管它没有揭示如何实现。谁能告诉我另一种方法(具有更好的复杂性)来解决DAG中的传递闭包问题?

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.