graph-theory相关内容

不知道从&QUOT最近对启发式;算法设计手册"

有几乎一模一样的这表明最近-neghbor启发式的比较,我相信这是一个最接近,对启发。从图像I可以假设在顶部图像,0点是第一次选择,但在底部的图片有被选为最左边或最右边的之一。因为没有什么说一下第一点选择(也最接近,对启发式没有做任何动作)有,我可以假设,任何算法结果再好它不会给你底部的图片,如果它不考虑入手点什么。 现在我只是想知道,有什么步骤最接近,对启发式品牌。类似的底部之一,数字与随解释 ..
发布时间:2015-11-30 20:28:30 C/C++

算法枚举所有可能的路径

考虑如下图: 我试图找到一种方法来枚举到目标节点从源节点的所有可能路径。例如,从A到E,我们有以下可能的路径: A B C D E A B CË A C D E 高手 请注意,对于ACDE,实际上有2路径中,由于路径之一使用边缘F3和另一种使用边缘F5。此外,由于有A和C之间的循环,你可能最终与路径无限多,但是本作的目的,我只关心在没有节点重复从源到目标的路径上的路径。 我写 ..
发布时间:2015-11-30 20:23:00 C/C++

与侵犯边的最小数目拓扑排序循环图的

我要寻找一种方式来对一个给定的有向加权图,包含周期进行拓扑排序。结果不应该只包含顶点的顺序,但也一组边,是由给定的顺序违反的。这组边应是最小的。 由于我的输入图形可能非常大,我不能用一个指数时间的算法。如果这是不可能计算在多项式时间的最佳解决方案,是什么启发了给定的问题是合理的? 解决方案 参加者填写,林,和史密斯提出的一种快速而有效的启发式的反馈弧集问题的。原条款为后面的收费墙,但一个免费 ..

如何找到母亲顶点有向图中的O(N + M)?

一个母亲顶点有向图G =(V,E)是一个顶点v的所有其他 顶点g的由V A向路径到达 举一个O(N + M)算法来检测图G是否包含一个母亲的顶点。 (三)从Skiena手动 发现只有O(N(N + M))的方式 解决方案 在谷歌上搜索我居然找到了答案的此处。如果这是家庭作业,你应该窥视之前三思而后行:) ..
发布时间:2015-11-30 20:18:35 C/C++

线性时间的算法,使强连接图

我们有一个弱非循环有向图。 此外,我们将得到一个集合A,其中认为有G的顶点度的零和一组B,其认为有出度为零的顶点。 (A的尺寸更小那么B的大小)。 在最重要的是,我们也知道,如果在A和B的项目有一个特定的顺序(如A = A1,A2,...,我和B = B1,B2,......,BN)一个DFS开始在AI访问BI(1≤我≤M)。 是否有可能设计出一个线性时间算法,这使得摹加入到它尽可能少的边缘 ..
发布时间:2015-11-30 20:17:59 C/C++

要清楚,如果顶点连接的图形要求边预计数是随机注册了?

我们选择了两个顶点随机连接它们。 那么,什么是当它成为连接图形边缘的期望是多少? 我试图用归纳法,但不能达到一个答案它解决​​。 什么将是正确的方法这个问题? 解决方案 有关顶点给定数量的 N 的和边缘的选择计数,你得到的图形连通的概率连通图的比例所有的图表。 所有图表的数字是组合号码的 M 的结束的 N 的*( N 的 - 1)。 渐近公式连通图的数量在标记连接的渐近数与顶点和边的给定 ..
发布时间:2015-11-30 20:17:56 C/C++

如何使用networkx删除有向图所有相关的节点?

我不知道确切把握正确的术语是什么,我的问题所以我就解释一下我想做的事情。我有向图,我删除一个节点,我希望所有的独立相关节点被同时删除。在 下面是一个例子: 我说,我删除节点'11',我想节点“2”被删除,以及(在我自己的例子,他们将在2个节点,现在将不得不被删除也一样),因为它不是连接到主图形了。注意,节点“9”或“10”不应该被删除,因为节点'8'和'3'连接到它们仍然 我使用Pyth ..
发布时间:2015-11-30 16:39:05 C/C++

查找包含所有负周期的最低子图

我被困在下面的问题:给定一个加权图G,我想构造G的最小的子图,它包含的G全部阴性(简单的)周期 我不知道如何找到使用贝尔曼 - 福特负周期,我知道简单的循环有向图的数量指数。 一个幼稚的方式来解决这个问题的办法是简单地遍历所有的简单循环,并挑选那些消极的,但我有一种感觉,那可能是一个多项式时间的算法。我通过谷歌发现大多数文章是关于寻找一个(而不是全部)不良的循环。 我希望能找到一些专家在这里 ..
发布时间:2015-11-30 16:36:18 C/C++

我该如何分割一个二分图按颜色?

例如,假设我有一个图G =(V,E),其中 V = {A,B,C,D} E = {(A,B),(A,D),(C,D)} 此图是二分,因此可以被分裂成两个不相交的集合{A,C}和{B,D}。我的第一个猜测是,我可以简单地走在图形和分配交替颜色,每个顶点。这样的话,或者是更复杂/比这更简单?是否有任何已知的算法呢? 解决方案 您的第一个猜测是正确的 - 遍历图形和备用 该算法应该很简单。我 ..
发布时间:2015-11-30 16:35:15 C/C++

小周发现在平面图

我有一个几何无向平面图,这是一个图,其中每个节点都有一个位置没有2边穿过,我想找出所有没有边缘十字交叉循环。 有没有知道这个问题什么好的解决办法? 我正打算做一个排序 A * 类似的解决方案: 插入最小堆每条边为路径 延长最短路径与每一个选项 扑杀路径的循环回以外那里开始(可能并不需要) 这将是第三次扑杀路径使用昂给定边 有谁看到一个问题吗?它会甚至工作? 解决方案 我的第一反应就是用 ..
发布时间:2015-11-30 16:31:24 C/C++

算法寻找组件最小集合

我在寻找一种算法来解决以下问题。我公司拥有一批一组给定的(啊)的子集(1-N)的。我想找到的子集,让我来构建,通过组合,所有给定的子集的最小集合。这个集合可以包含不在1-n的尚未存在子集 A B C D E F G H 1 1 2 1 1 3 1 1 1 4 1 1 5 1 1 6 1 1 1 1 7 1 1 1 1 8 1 1 1 9 1 1 1 下面是两个可能的集合,其中最小的包含 ..

我可以使用哪些算法来找到一个图形指定节点类型之间的最短路径?

这就是问题所在: 予有n个点(P1,P2,P3,...的pn),其中每一个可以连接到任何其他与确定的费用为X 每个点所属的一组点类型中的一个(例如“A”“B”“C”“D”...)。 该方法的输入是我想要遵循,例如“ABCADB”的路径。 的输出是连接I给在输入的类型的点的最短路径,以便例如“P1〜P4-P32-P83-P43-P12”,其中p1为A型,P4 B型,p32的一个C型,P83的 ..
发布时间:2015-11-30 16:27:44 C/C++

最短两个不相交的路径;两个源和两个目的地

我们正在给一个加权无向图中的的 G =(V,E)的,其中 | V | < = 40000 和 | E | < = 10 6 。我们也给出了四个顶点的 A,B,A',B'。有没有办法找到两个节点分离路径 - >一个“和 B - > B'?使得它们的长度之和最小 我首先想到的是先找到最短路径 - >一个“,从图中删除它,然后找到最短路径的 B - > B'。我不认为这贪婪的方法是可行的。 ..
发布时间:2015-11-30 16:24:30 C/C++

找到的矩阵(n×n个)的最小总和仅选择一个每行和列中

这是另外一个算法问题,涉及到动态规划 下面的问题: 找到给定的矩阵的最小总和,使得选定的一个每一行和列中 例如: 3 4 2 8 9 1 7 9 5 最小的一个:4 + 1 + 7 我认为解决的办法是网络流量(最大流量/分切),但我认为它不应该是很难,因为它是 我的解决办法:单独为n列表[专栏],列1,列2 ... n列 然后开始点(S) - >列1 - >列2 - > - > ..
发布时间:2015-11-30 16:20:29 C/C++

算法确定2图是同构

免责声明:我在图论总新手,我不知道这是否属于对SO,数学SE等。 由于2的邻接矩阵A和B,我怎么能确定如果A和B是同构的。 例如,A和B不是同构和C和D,它是同构的。 A = [0 1 0 0 1 1 B = [0 1 1 0 0 0 1 0 1 0 0 1 1 0 1 1 0 0 0 1 0 1 0 0 1 1 0 1 1 0 0 0 1 0 1 0 ..
发布时间:2015-11-30 16:19:44 C/C++

如何订购连接的列表

我现在有存储在一个列表,其中每个连接是连接两个点和无点永远链接到一个以上的点,或者被一个以上的点连接到一个有向链路连接的列表。例如: 的连接= [(3,7),(6,5),(4,6),(5,3),(7,8),(1,2) ,(2,1)] 应该产生: 有序= [[4,6,5,3,7,8],[1,2,1] 我尝试使用一种算法,采用输入点和连接的列表并递归调用自身找到下一个点,并将其添加 ..
发布时间:2015-11-30 16:19:22 Python

如何动态地发现连接的设备

使用不相交集数据结构可以很容易地得到图的连通分量。而且,它只是支持增量连接组件的。 不过,在我的情况下,去除边缘是很常见的,这样我在寻找一种算法,或新的结构能够保持连接组件的完全动态(包括添加和删除边) 感谢 解决方案 的聚对数确定性完全动态算法的连接,最小生成树,2边,和biconnectivity(霍尔姆,德利希滕贝格和2001年Thorup)给出了一个算法,允许任意序列的边缘插入,删 ..
发布时间:2015-11-30 16:17:24 C/C++

团问题的算法设计

一个在我的算法类中的任务是设计一个详尽的搜索算法,解决了团问题。也就是说,给定大小的曲线图的 N 的,该算法应该确定是否存在一个完整的子图的尺寸的 K 的。我想我已经得到了答案,但我不能不认为这还有待改进。这是我有: 版本1 输入:再由数组A psented $ P $ A图[0,... N 的-1],大小的 K 子图中找到。 输出:如果一个子图存在,否则返回False 算法(在蟒蛇般的伪 ..
发布时间:2015-11-30 16:12:32 C/C++

有效的方式来递归地计算支配树?

我使用的是Lengauer和的Tarjan算法路径COM pression计算支配树的图,其中有以百万计的节点。该算法是相当复杂的,我有,我只是用它来承认我没有花时间去完全理解。现在我有一个需要计算的根节点的直接子支配树,并可能向下递归图到一定深度重复此操作。即当我计算支配树的根节点的一个孩子,我想pretend根节点已经从图表中删除。 我的问题是,是否有一个有效的解决方案,这使得利用已经计算在 ..
发布时间:2015-11-30 16:09:50 C/C++

如何找到一个无向图的两个不相交的生成树

有任何适用的方法来寻找无向图中的两个不相交的生成树或检查如果某图有两个不相交的生成树 解决方案 这是拟阵联盟的一个例子。考虑图形拟阵,其中依据由生成树给出。现在,这个拟阵与自己的工会又是一个拟阵。你的问题是关于这个拟阵的基础上的规模。 (是否存在大小$ 2(的基础| V | -1)$ 的规范算法,这是拟阵划分算法。存在一个算法确实执行以下操作:它保留了一组边的一个分割成两个林。在给定一个新的 ..
发布时间:2015-11-30 16:08:22 C/C++