我有一个无向图,完全图,并希望将它转换成一个有向无圈图,在每个节点之间有一个(单向)路径。为了开始,我想添加随机边和停止一旦所有节点连接。需要研究的是一个算法(使用Python,但任何语言都可以)。
因此,例如,这个图不再被进一步连接:
A ---- B A ---> B
\ / => /
\ / v
C C
,但在这种情况下,所有无向边都会变成有向边。
A ---- B A ---> B
\
我正在python上运行igraph,并且我注意到iGraph并没有为多个图正确地实现图同构检查。例如:
$ python
Python 2.7.6 (default, Jun 22 2015, 17:58:13) [GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import igraph
>>> g = igraph.Graph(3)
>
我已经在python lib NetorwkX中创建了一个图,我想实现一个模块化算法,以便对我的图的节点进行聚类。我遇到了以下代码:
import community
import matplotlib.pyplot as plt
import networkx as nx
G = nx.Graph()
G = nx.read_weighted_edgelist('graphs/fashionGraph_1.edgelist')
nx.transitivity(G)
# Find modularity
part = community.best_partition(G)
我正在修改现有的代码以添加多处理。所述代码使用队列对图进行分区,以生成用于多序列对齐的列。
序列代码在队列不为空时运行。队列由一个图初始化。
graphs=[graph]
while graphs:
g = graphs.pop()
if g.is_column():
#append data from graph to another list
map_columns.append(g.lengths)
continue
l, r = g.split()
g.append(l)
g.append(r)