簡體   English   中英

igraph(最大)生成樹已斷開連接

[英]igraph (maximum) spanning tree is disconnected

我有一個圖,並且想要獲得最大的生成樹,因此我獲得了具有反向權重的圖的最小生成樹。 但是結果給出了一個斷開的圖。

下面是我的問題的一個例子:

import igraph
import numpy as np
AM = ([[0, 2, 1], [1, 0, 1], [2, 1, 0]])

g = igraph.Graph.Weighted_Adjacency(AM)
print g.is_connected()
inv_weight = [1./w for w in g.es["weight"]]
print g.spanning_tree(weights=inv_weight).is_connected()

結果是:

True
False

這怎么可能?

事實證明,生成樹是定向的並且僅是弱連接的。 因此

g.spanning_tree(weights=inv_weight).is_connected(mode="weak")

收益:

True

要獲得強連接的樹,可以使用以下任意一種方法:

g = igraph.Graph.Weighted_Adjacency(AM, mode="undirected")

要么

T = g.spanning_tree(weights=inv_weight)
T = T.to_undirected()
print T.is_connected()

結果是:

True

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM