graph-theory相关内容

从python 2.6到2.7进行深度递归的细分错误

我有一个简单的递归程序来查找连接的子图. 该代码通过从图中的每个未访问顶点遍历所有边(递归),并在处理过程中用"ingraph = False"标记已访问的那些边来工作. (这些图始终是无向的非加权图). 我遇到的问题是,对于大型图(子图约为100,000个顶点),python(-2.7)返回分段错误. 但这在python-2.6中仍然可以正常工作(并且仍然可以). 有人可以向我解释一 ..
发布时间:2020-11-20 18:56:19 Python

在DI-Graph中检查是否存在任何路径

如果我有Di-Graph,如何检查所有节点对(a,b)是否都创建路径? 示例: 输入: v1 v2 v5 v6 v2 v3 v3 v4 v4 v5 v0 v1 我需要检查是否存在通过该图的至少一条路径,而不必再访问每个节点一次. 我已经尝试过回溯,但要获得最大的投入,将需要数小时... 具体示例: 输入时,我有边缘: {m,a}, {a,c}, {a, ..
发布时间:2020-11-20 18:55:13 Python

图论算法查找出度为0和度为(n-1)的顶点

我想知道如何确定有向图是否具有粘滞顶点,即定义为入度为n-1和出度为0的顶点. 我认为愚蠢的方法是打印图形中每个顶点的入度和出度,但这是O(m + n).我对O(n)算法感兴趣.有什么想法吗? 谢谢! 解决方案 我同意Beta,您无法通过o(n)解决此问题,因为您必须至少访问每个边缘一次以验证这是一个被卡住的节点. ..
发布时间:2020-11-20 18:55:11 其他开发

与Python相比,具有动态分配的结构数组在C中的运行速度非常慢

我(在其他SO用户的帮助下)“粘合"了一个小型C程序,该程序将字符串标签映射到边缘列表数据结构中的整数标签.例如,对于输入文件 Mike Andrew Mike Jane John Jane 程序输出 1 2 1 3 4 3 但是,我映射了巨大的边缘列表文件,不幸的是,与Python替代版本相比,该程序运行非常慢.下面,我用C和Python粘贴了这两个程序.请问如何提高C程序速 ..
发布时间:2020-11-20 18:54:07 Python

将具有字符串节点标签的边列表映射到整数标签

我有一个边缘列表格式的巨大图形,其中字符串作为节点标签.我想知道将字符串映射到整数的“最佳"方法是什么.输入文件遵循以下示例: Mike Andrew Mike Jane John Jane 输出(即映射文件)应为: 1 2 1 3 4 3 下面粘贴的是C语言中的框架,该框架读取输入文件.有人可以建议我该怎么做. #include int LoadF ..
发布时间:2020-11-20 18:54:04 其他开发

使用visNetwork(或替代方法)显式放置节点

如何在visNetwork图上显式放置nodes? 或者:如何使用visNetwork或其他方式在R中重新创建该图形? 背景:最终目标是代表原因回路图来自 Vensim 文件.明确地放置节点只是第一步(关键),因为在因果循环图中,节点的视觉映射是信息的一部分(与一般图论不同).因此,如果有人对大局有所建议. “将因果回路图建模带到R",我会很高兴. 我尝试过的事情: lib ..
发布时间:2020-11-20 18:51:55 其他开发

如何使用Networkx创建每个节点至少具有1条边的随机图

我已经设法创建了一个随机的无向加权图,以使用Dijkstra的算法进行测试,但是如何做到这一点,以便每个节点至少具有一个将它们连接到图的边? 我正在使用Networkx,并且图形生成器如下: import networkx as nx import random random.seed() nodes = random.randint(5,10) seed = random.rand ..
发布时间:2020-11-20 18:51:53 Python

Prolog,确定图是否为非循环

我需要定义一个谓词acyclic/1,该谓词将一个图作为输入并确定该图是否是非循环的.因此,根据我的理解 graph1(a,b). graph1(b,c). graph1(c,a). 将返回否,并且 graph2(a,b). graph2(b,c). 将返回是 我做了一个谓词,以确定图中是否有2个节点连接在一起,如果连接,它们将返回是. isConnected ..

Python:如何将列表列表的元素转换为无向图?

我有一个程序可以检索PubMed出版物的清单,并希望建立共同作者的图表,这意味着我想为每篇文章添加每位作者(如果尚不存在)作为顶点并添加无方向的边(或增加其权重). 我设法编写了该程序的第一个程序,该程序检索每个出版物的作者列表,并且理解我可以使用NetworkX库构建图形(然后将其导出到GraphML for Gephi),但无法全神贯注于将“列表列表"转换为图形. 这里是我的代码. ..
发布时间:2020-11-20 18:50:44 Python

二部图匹配以匹配两组

我是R中igraph包的新手.我有两组A和B,每组都有N顶点(A1, A2, ..., AN)和(B1, B2, ..., BN). A的每个元素与B的每个元素之间都有一条边,我有一个函数fWgt(Ai, Bj)返回该边在Ai和Bj之间的权重. 我一直试图在R中使用igraph包进行加权最大二分匹配,但是我无法按照igraph包来表达问题.例如,在igraph包中为maximum.bipar ..
发布时间:2020-11-20 18:50:39 其他开发

我需要一种算法来获得图的色数

鉴于图的邻接矩阵,我需要获取色数(最小绘制图形的每个节点所需的颜色数,以便相邻节点获得不同的颜色. 最好应该是Java算法,并且我不在乎性能. 谢谢. 编辑: 最近推出了一个修复程序,因此答案更加准确.现在它将重新检查他的位置和以前的位置. 现在出现一个新问题.提高他的“数字颜色"哪个更好?我站在其中的节点,或者我正在访问的节点(询问是否与之相邻)? public c ..
发布时间:2020-11-20 18:50:36 Java开发

在Prolog中获取图形的连接组件

我正在努力进行逻辑编程.我有一个问题,希望大家能帮助我.不连续图通过事实以这种方式表示: h(0,1). h(1,2). h(3,4). h(3,5). 因此,有两个单独的图形组件.我想要列表表示的输出上的所有单独组件.因此,如果图中有三个单独的组件,那么将有三个列表.对于上面给定的示例,预期输出为[[0,1,2],[3,4,5]]. 解决方案 使用 iwhen/2 ,我们可以定 ..
发布时间:2020-11-20 18:50:33 其他开发

Prolog同构图

在这里尝试解决同构图问题. 分配信息: 确定2个无向图是否是同构的. 没有孤立的顶点. 顶点数少于30个 图的边缘以谓词形式给出,即 e(1, 2). f(1, 2). 我正在尝试使用以下方法: 对于每对边(即,图1和2中的每条边) 尝试绑定2个边的顶点 如果无法进行顶点绑定(即已经存在与一个顶点的另一种绑定),则回溯并尝试另一对边. 否则,添加绑定并继 ..
发布时间:2020-11-20 18:50:30 其他开发

用Python表示网络

我有一个顶点,例如dic = {'a': 0, 'b': 1, 'c': 2, 'd': 3, 'e': 4, 'f': 5, 'n':6, 'm':7, 'g':8},并且我有两列,分别表示这些顶点之间的关系: a a b d e f c f n f m g 我想通过边缘将第一列中的每个顶点与第二列中的对应顶点关联.所以a和a代表一个循环. b和d都可以. e,c和n共享相同的顶点f. ..
发布时间:2020-11-20 18:50:26 Python

创建集团图以确定独立集合

尝试将s-clique转换为s-independent集.下面是代码和最底层的"independent_set_decision(H,s)"函数是我正在努力解决的问题.我了解我需要创建图的补图,然后检查该图是否为集团.但是,我编写的函数未按预期创建图形.任何人都对该代码有什么问题有任何建议吗? # Returns a list of all the subsets of a list of ..
发布时间:2020-11-20 18:50:22 Python

如何在python中给定顶点数的情况下生成所有3个正则图

我想生成具有给定顶点数的所有3个正则图,以检查是否有某些属性适用于所有顶点.检查该属性很容易,但是首先我必须高效地生成图形. 有人可以帮助我生成这些图(作为邻接矩阵)还是给我一个包含这些图的文件.顶点数少于24. 谢谢 解决方案 可以将scd文件作为二进制读入python,并以与readscd.c文件相同的方式转换数据.这是一个示例: import numpy def ..
发布时间:2020-11-20 18:50:21 Python