首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NetworkX --计算不连通图中的最大匹配

NetworkX --计算不连通图中的最大匹配
EN

Stack Overflow用户
提问于 2019-02-25 17:15:44
回答 1查看 2.8K关注 0票数 3

我有两个二分图G和B,它们都有完全相同的节点,但是有不同的边数。当我试图在G上运行nx.bipartite.maximum_matching (边数较低)时,我会得到一个错误Disconnected graph: Ambiguous solution for bipartite sets.,这与我以前收到的类似。

这是G.nodes(data='True')

代码语言:javascript
复制
[(0, {'bipartite': 0}), (1, {'bipartite': 0}), (2, {'bipartite': 0}),
 (3, {'bipartite': 0}), (4, {'bipartite': 0}), (5, {'bipartite': 0}),
 (6, {'bipartite': 0}), (7, {'bipartite': 0}), (8, {'bipartite': 0}),
 (9, {'bipartite': 0}), (10, {'bipartite': 1}), (11, {'bipartite': 1}),
 (12, {'bipartite': 1}), (13, {'bipartite': 1}), (14, {'bipartite': 1}),
 (15, {'bipartite': 1}), (16, {'bipartite': 1}), (17, {'bipartite': 1}),
 (18, {'bipartite': 1}), (19, {'bipartite': 1})]

这与B.nodes(data='True')完全相同。如您所见,这两组节点的着色是相同的。

下面是G的边:

代码语言:javascript
复制
[(0, 18), (1, 12), (2, 15), (3, 16), (3, 10), (4, 19), (5, 17),
 (5, 13), (6, 10), (6, 11), (7, 15), (8, 14), (9, 14)]

以及B的边缘:

代码语言:javascript
复制
[(0, 18), (1, 12), (2, 12), (2, 15), (3, 16), (3, 10), (3, 18), (4, 19),
 (5, 17), (5, 13), (6, 10), (6, 11), (6, 18), (6, 13), (7, 18), (7, 19),
 (7, 15), (8, 10), (8, 14), (9, 14)]

其中G.edgesB.edges的一个子集。

我想找到nx.bipartite.maximum_matching(G)。我认为G是明确的二部分,因为它的着色是在它的数据中指定的。每个顶点都是某些边的一部分。

我不知道我错过了什么连接。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-26 20:32:59

问题是你的图形没有连接。例如,如果您查看节点118,它们可以属于这两个集合(只要它们不在同一集合内)。bipartite函数不考虑节点的bipartite属性。这在文档中突出显示。以下是(我自己强调的)最相关的部分:

NetworkX没有自定义的二分图类,但是图()或DiGraph()类可以用来表示二分图。但是,您必须跟踪每个节点所属的集合,并确保同一集合的节点之间没有边缘。NetworkX中使用的约定是使用值为0或1的名为二分的节点属性来标识每个节点所属的集合。这个约定不是在的源代码中强制执行的,它只是一个建议。 ..。 但是,如果输入图没有连接,则存在多个可能的颜色。这就是为什么我们要求用户传递一个容器,其中包含一个二分节点集的所有节点,作为大多数二分函数的参数。

但是,您可以显式地声明属于一组的节点。使用参数top_nodes

代码语言:javascript
复制
u = [n for n in G.nodes if G.nodes[n]['bipartite'] == 0]
nx.bipartite.maximum_matching(G, top_nodes=u)
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54871414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档