问题标签 [subgraph]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 节点加权图中的最大 N 节点连通子图
以这个节点加权图为例:
- 恰好包含 1 个节点(和“入口点”)的最大子图将是 14。
- 恰好包含 2 个节点(和“入口点”)的最大子图将是 14 / 9。
- 恰好包含 3 个节点(和“入口点”)的最大子图将是 3 / 19 / 15。
- 恰好包含 4 个节点(和“入口点”)的最大子图将是 14 / 1 / 7 / 240。
我想不出比蛮力更好的方法来获得最大子图。
如果没有已知的有效算法,在这种情况下是否会找到遗传算法(交叉似乎很棘手)?
algorithm - 加权子图同构
我已经连续在互联网上搜索了大约两三天,但到目前为止还没有运气。
我知道在野外有很多用于子图同构的库和实现,但它们都适用于未加权图。例如,两种最流行的算法是 VF2 和 Uleman 算法。在这里,我的问题是:是否有任何方法可以给出一个图(G)和一个查询图(g),是否可以找到 g 是否是 G 的子图(并且同构)?(请注意,以下是图的边缘列表表示。)
在这种情况下,g 是一个子图并且与 G 同构,但是如果我们有这样的东西:
现在 g 不再是 G 的子图并且不是同构的。
更新:两个图都是无向的。
orientation - Graphviz:控制节点在子图中对齐
考虑下面的子图,有 5 个 Mrecod 节点:
有没有办法强制垂直方向,节点彼此上方?我在子图中试过rankdir=TB
了,没有效果。
我在没有特殊参数的 Ubuntu 下运行 graphviz:
c++ - 子图的图特征
我有一个图,我想将其类型更改为子图,以便能够将其划分为更多子图,从而使用 graphviz 获得更多的纵坐标打印。问题是当我将子图属性添加到我的图时,顶点描述符不再起作用。
修改前的代码:
将图改为子图后的代码:
问题是什么?我该如何解决?
javascript - 向 d3.js 图表添加/更新标签
我是 d3.js 的新手,我在语法上很挣扎。
我通常知道如何向图表添加标签......但不知道这段代码(我取自D3.js Force Layout - 只显示图表的一部分)
我尝试了各种解决方案 [ .append("text"), enter().append("text")....] 但我没有成功。
这是我认为我必须更改某些内容的代码部分(并且,在代码下方,您会找到整个事情的 gihub 存储库)
algorithm - 尝试匹配相似图之间的节点
我正在寻找一种算法来匹配相似图中的节点。节点的数量不相等,但每个图确实代表同一个系统。
所以,我正在寻找相似或模糊的图形匹配或模式识别。
我从哪说起呢?
无向顶点标记的多图加权稀疏节点:2,172 边:3,000
节点有许多独立的属性。边有一个属性,类似于长度。两个图之间对应的节点和边的节点和边属性不相同。
这个问题在技术论文中被描述为部分同构、图对齐和最大公共子图
python - 在 NetworkX 中是否可以将节点定义为子图?
我在网上查了一下,但没有找到答案。
你们知道在 NetworkX 中是否可以将节点定义为子图?
让我更好地提出这个问题:我有一个由一些形状(正方形、圆形、三角形等)节点组成的图。我现在想将每个节点定义为一个子图。子图的节点应该是形状的角点(对于三角形:3 个节点的子图,因为有 3 个角点)。当然,这个子图的创建不应该影响起始图。
例子:
- DiGraph 由 2 个节点组成:“正方形”和“三角形”。
- “正方形”和“三角形”之间的边缘
- 节点“正方形”是包含 4 个节点(每个角点 1 个)的子图;
- 连接这些节点的边;
- 节点“三角形”是包含 3 个节点(每个角点 1 个)的子图;
- 连接这些节点的边。
是否可以在 NetworkX 中做到这一点?任何帮助或建议都将不胜感激。
python - 如何使用networkx从给定图中提取所有可能的诱导子图
我想知道是否可以使用 networkx 从输入大图中提取所有可能的诱导子图(graphlet),在子图中具有特定数量的节点,或者是否有另一个包可以完成这项工作?例如,如果我有一个以 networkx 邻接表格式显示的大图,
图 G:
看起来像
如果我想用 3 个节点提取 graphlet,算法应该返回我
子图1:
[(1,2),(1,3)] 子图2:
[(1,3),(1,7)] 子图3:
[(3,4),(3,5),(4,5)]
子图 4、子图 5、子图 6...
以下是@Hooked 提出的问题的代码。假设n = 3
输出看起来像
c# - 在有向图中查找被某些属性隔离的子图
请原谅我对图论词汇的小知识。
我只能用常见的英语单词来描述这个问题。也许有人可以指出我正确的方向和/或查找的条件。
这个问题是作为可视化编程语言实现的一部分出现的。其中一个顶点是一个函数/方法,边在函数之间传输数据。现在有以下问题:
可以允许将具有Collection< TItem >类型的顶点 A 的输出连接到具有TItem类型的顶点 B 的输入。然后将类型为 TItem 的顶点 B 输出到类型为Collection< TItem >的输入顶点 C 。这将告诉编译器它必须在顶点 B 周围包装一个foreach函数,以将 B 的函数应用于来自 A 的集合中的每个项目,并将新项目作为集合输出到 C 的输入。所以从 A 到 B 的边是多对一连接,从 B 到 C 是一对多。
现在实际的问题是,什么样的算法会找到一个被一对多连接包围/隔离的(有向)子图?以便编译器围绕这个特定的子图包装一个 foreach 函数?我试图想象这张照片中的问题: