如何在networkx中找到节点最大团的所有边?

时间:2014-10-21 10:41:43

标签: python-2.7 networkx

我有一个在networkx中制作的大图,我使用clique函数为每个节点找到最大的clique:

thecliques = nx.node_clique_number(mygraph)

但是,无论我搜索多少,我都无法找到每个节点的最大集团成员。有谁知道怎么做?

1 个答案:

答案 0 :(得分:0)

可能不是计算上最优的,因为它列举了所有派系,但你可以使用:

    G= nx.barabasi_albert_graph(20, 2, seed=1234)
    dict_of_cliques=nx.cliques_containing_node(G,nodes=None,cliques=None)
    print dict_of_cliques

输出是字典{node:clique中节点列表的列表,包括节点}。 IE:

{0: [[0, 3, 2], [0, 3, 7], [0, 4, 8], [0, 5], [0, 9, 13], [0, 15], [0, 17], [0, 19]], 1: [[1, 2, 11], [1, 4], [1, 5]], 2: [[0, 3, 2], [1, 2, 11], [6, 2], [18, 2]], 3: [[0, 3, 2], [0, 3, 7], [12, 3]], 4: [[0, 4, 8], [1, 4], [6, 4], [12, 4], [18, 4]], 5: [[0, 5], [1, 5], [14, 5]], 6: [[6, 2], [6, 10, 16], [6, 10, 9], [6, 4]], 7: [[0, 3, 7]], 8: [[0, 4, 8]], 9: [[0, 9, 13], [6, 10, 9], [14, 9]], 10: [[6, 10, 16], [6, 10, 9], [10, 19]], 11: [[1, 2, 11], [11, 17]], 12: [[12, 3], [12, 4], [12, 15]], 13: [[0, 9, 13]], 14: [[14, 9], [14, 5]], 15: [[0, 15], [12, 15]], 16: [[6, 10, 16]], 17: [[0, 17], [11, 17]], 18: [[18, 2], [18, 4]], 19: [[0, 19], [10, 19]]}

至关重要的是,你可以在这里看到最大派系可能不是唯一的,所以由你决定如何选择最大的集团。